#define FFMPEG_DSPUTIL_MMX_H
#include <stdint.h>
+#include "libavcodec/dsputil.h"
+
+typedef struct { uint64_t a, b; } xmm_t;
extern const uint64_t ff_bone;
extern const uint64_t ff_wtwo;
extern const uint64_t ff_pw_3;
extern const uint64_t ff_pw_4;
-extern const uint64_t ff_pw_5;
+extern const xmm_t ff_pw_5;
extern const uint64_t ff_pw_8;
extern const uint64_t ff_pw_15;
-extern const uint64_t ff_pw_16;
+extern const xmm_t ff_pw_16;
extern const uint64_t ff_pw_20;
-extern const uint64_t ff_pw_32;
+extern const xmm_t ff_pw_28;
+extern const xmm_t ff_pw_32;
extern const uint64_t ff_pw_42;
extern const uint64_t ff_pw_64;
extern const uint64_t ff_pw_96;
extern const uint64_t ff_pw_128;
+extern const uint64_t ff_pw_255;
extern const uint64_t ff_pb_1;
extern const uint64_t ff_pb_3;
"movdqa 16"#t", "#g" \n\t"
#endif
+#define MOVQ_WONE(regd) \
+ asm volatile ( \
+ "pcmpeqd %%" #regd ", %%" #regd " \n\t" \
+ "psrlw $15, %%" #regd ::)
+
+void dsputilenc_init_mmx(DSPContext* c, AVCodecContext *avctx);
+
#endif /* FFMPEG_DSPUTIL_MMX_H */