You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
x86: mpegvideoenc: Do not abuse HAVE_ variables for template instantiation
This avoids trouble if HAVE_ variables are used elsewhere in the file.
This commit is contained in:
@@ -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 @@
|
|||||||
#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 @@
|
|||||||
#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 @@
|
|||||||
#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,
|
|||||||
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
|
||||||
|
Reference in New Issue
Block a user