Commit d39791bf authored by Diego Biurrun's avatar Diego Biurrun

x86: mpegvideoenc: Do not abuse HAVE_ variables for template instantiation

This avoids trouble if HAVE_ variables are used elsewhere in the file.
parent d488c3bc
...@@ -30,39 +30,44 @@ ...@@ -30,39 +30,44 @@
extern uint16_t ff_inv_zigzag_direct16[64]; extern uint16_t ff_inv_zigzag_direct16[64];
#if HAVE_SSSE3 #define COMPILE_TEMPLATE_MMXEXT 0
#define HAVE_SSSE3_BAK #define COMPILE_TEMPLATE_SSE2 0
#endif #define COMPILE_TEMPLATE_SSSE3 0
#undef HAVE_SSSE3
#define HAVE_SSSE3 0
#undef HAVE_SSE2
#undef HAVE_MMXEXT
#define HAVE_SSE2 0
#define HAVE_MMXEXT 0
#define RENAME(a) a ## _MMX #define RENAME(a) a ## _MMX
#define RENAMEl(a) a ## _mmx #define RENAMEl(a) a ## _mmx
#include "mpegvideoenc_template.c" #include "mpegvideoenc_template.c"
#undef HAVE_MMXEXT #undef COMPILE_TEMPLATE_SSSE3
#define HAVE_MMXEXT 1 #undef COMPILE_TEMPLATE_SSE2
#undef COMPILE_TEMPLATE_MMXEXT
#define COMPILE_TEMPLATE_MMXEXT 1
#define COMPILE_TEMPLATE_SSE2 0
#define COMPILE_TEMPLATE_SSSE3 0
#undef RENAME #undef RENAME
#undef RENAMEl #undef RENAMEl
#define RENAME(a) a ## _MMX2 #define RENAME(a) a ## _MMX2
#define RENAMEl(a) a ## _mmx2 #define RENAMEl(a) a ## _mmx2
#include "mpegvideoenc_template.c" #include "mpegvideoenc_template.c"
#undef HAVE_SSE2 #undef COMPILE_TEMPLATE_MMXEXT
#define HAVE_SSE2 1 #undef COMPILE_TEMPLATE_SSE2
#undef COMPILE_TEMPLATE_SSSE3
#define COMPILE_TEMPLATE_MMXEXT 0
#define COMPILE_TEMPLATE_SSE2 1
#define COMPILE_TEMPLATE_SSSE3 0
#undef RENAME #undef RENAME
#undef RENAMEl #undef RENAMEl
#define RENAME(a) a ## _SSE2 #define RENAME(a) a ## _SSE2
#define RENAMEl(a) a ## _sse2 #define RENAMEl(a) a ## _sse2
#include "mpegvideoenc_template.c" #include "mpegvideoenc_template.c"
#ifdef HAVE_SSSE3_BAK #if HAVE_SSSE3
#undef HAVE_SSSE3 #undef COMPILE_TEMPLATE_MMXEXT
#define HAVE_SSSE3 1 #undef COMPILE_TEMPLATE_SSE2
#undef COMPILE_TEMPLATE_SSSE3
#define COMPILE_TEMPLATE_MMXEXT 0
#define COMPILE_TEMPLATE_SSE2 1
#define COMPILE_TEMPLATE_SSSE3 1
#undef RENAME #undef RENAME
#undef RENAMEl #undef RENAMEl
#define RENAME(a) a ## _SSSE3 #define RENAME(a) a ## _SSSE3
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
#undef SAVE_SIGN #undef SAVE_SIGN
#undef RESTORE_SIGN #undef RESTORE_SIGN
#if HAVE_SSE2 #if COMPILE_TEMPLATE_SSE2
#define MMREG_WIDTH "16" #define MMREG_WIDTH "16"
#define MM "%%xmm" #define MM "%%xmm"
#define MOVQ "movdqa" #define MOVQ "movdqa"
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
#define MMREG_WIDTH "8" #define MMREG_WIDTH "8"
#define MM "%%mm" #define MM "%%mm"
#define MOVQ "movq" #define MOVQ "movq"
#if HAVE_MMXEXT #if COMPILE_TEMPLATE_MMXEXT
#define SPREADW(a) "pshufw $0, "a", "a" \n\t" #define SPREADW(a) "pshufw $0, "a", "a" \n\t"
#define PMAXW(a,b) "pmaxsw "a", "b" \n\t" #define PMAXW(a,b) "pmaxsw "a", "b" \n\t"
#define PMAX(a,b) \ #define PMAX(a,b) \
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
#endif #endif
#endif #endif
#if HAVE_SSSE3 #if COMPILE_TEMPLATE_SSSE3
#define SAVE_SIGN(a,b) \ #define SAVE_SIGN(a,b) \
"movdqa "b", "a" \n\t"\ "movdqa "b", "a" \n\t"\
"pabsw "b", "b" \n\t" "pabsw "b", "b" \n\t"
...@@ -212,7 +212,7 @@ static int RENAME(dct_quantize)(MpegEncContext *s, ...@@ -212,7 +212,7 @@ static int RENAME(dct_quantize)(MpegEncContext *s,
SPREADW(MM"1") SPREADW(MM"1")
"psubusw "MM"1, "MM"4 \n\t" "psubusw "MM"1, "MM"4 \n\t"
"packuswb "MM"4, "MM"4 \n\t" "packuswb "MM"4, "MM"4 \n\t"
#if HAVE_SSE2 #if COMPILE_TEMPLATE_SSE2
"packuswb "MM"4, "MM"4 \n\t" "packuswb "MM"4, "MM"4 \n\t"
#endif #endif
"movd "MM"4, %0 \n\t" // *overflow "movd "MM"4, %0 \n\t" // *overflow
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment