x86: Move some conditional code around to avoid unused variable warnings
[ffmpeg.git] / libavcodec / x86 / mpegvideoenc.c
index 184912d..7ecb5d4 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#include "libavutil/attributes.h"
 #include "libavutil/cpu.h"
 #include "libavutil/x86/asm.h"
 #include "libavutil/cpu.h"
 #include "libavutil/x86/asm.h"
+#include "libavutil/x86/cpu.h"
 #include "libavcodec/avcodec.h"
 #include "libavcodec/avcodec.h"
-#include "libavcodec/dsputil.h"
+#include "libavcodec/dct.h"
 #include "libavcodec/mpegvideo.h"
 #include "dsputil_mmx.h"
 
 #include "libavcodec/mpegvideo.h"
 #include "dsputil_mmx.h"
 
-#if HAVE_INLINE_ASM
-
 extern uint16_t ff_inv_zigzag_direct16[64];
 
 extern uint16_t ff_inv_zigzag_direct16[64];
 
+#if HAVE_MMX_INLINE
 #define COMPILE_TEMPLATE_MMXEXT 0
 #define COMPILE_TEMPLATE_SSE2   0
 #define COMPILE_TEMPLATE_SSSE3  0
 #define RENAME(a) a ## _MMX
 #define RENAMEl(a) a ## _mmx
 #include "mpegvideoenc_template.c"
 #define COMPILE_TEMPLATE_MMXEXT 0
 #define COMPILE_TEMPLATE_SSE2   0
 #define COMPILE_TEMPLATE_SSSE3  0
 #define RENAME(a) a ## _MMX
 #define RENAMEl(a) a ## _mmx
 #include "mpegvideoenc_template.c"
+#endif /* HAVE_MMX_INLINE */
 
 
+#if HAVE_MMXEXT_INLINE
 #undef COMPILE_TEMPLATE_SSSE3
 #undef COMPILE_TEMPLATE_SSE2
 #undef COMPILE_TEMPLATE_MMXEXT
 #undef COMPILE_TEMPLATE_SSSE3
 #undef COMPILE_TEMPLATE_SSE2
 #undef COMPILE_TEMPLATE_MMXEXT
@@ -45,10 +48,12 @@ extern uint16_t ff_inv_zigzag_direct16[64];
 #define COMPILE_TEMPLATE_SSSE3  0
 #undef RENAME
 #undef RENAMEl
 #define COMPILE_TEMPLATE_SSSE3  0
 #undef RENAME
 #undef RENAMEl
-#define RENAME(a) a ## _MMX2
-#define RENAMEl(a) a ## _mmx2
+#define RENAME(a) a ## _MMXEXT
+#define RENAMEl(a) a ## _mmxext
 #include "mpegvideoenc_template.c"
 #include "mpegvideoenc_template.c"
+#endif /* HAVE_MMXEXT_INLINE */
 
 
+#if HAVE_SSE2_INLINE
 #undef COMPILE_TEMPLATE_MMXEXT
 #undef COMPILE_TEMPLATE_SSE2
 #undef COMPILE_TEMPLATE_SSSE3
 #undef COMPILE_TEMPLATE_MMXEXT
 #undef COMPILE_TEMPLATE_SSE2
 #undef COMPILE_TEMPLATE_SSSE3
@@ -60,8 +65,9 @@ extern uint16_t ff_inv_zigzag_direct16[64];
 #define RENAME(a) a ## _SSE2
 #define RENAMEl(a) a ## _sse2
 #include "mpegvideoenc_template.c"
 #define RENAME(a) a ## _SSE2
 #define RENAMEl(a) a ## _sse2
 #include "mpegvideoenc_template.c"
+#endif /* HAVE_SSE2_INLINE */
 
 
-#if HAVE_SSSE3
+#if HAVE_SSSE3_INLINE
 #undef COMPILE_TEMPLATE_MMXEXT
 #undef COMPILE_TEMPLATE_SSE2
 #undef COMPILE_TEMPLATE_SSSE3
 #undef COMPILE_TEMPLATE_MMXEXT
 #undef COMPILE_TEMPLATE_SSE2
 #undef COMPILE_TEMPLATE_SSSE3
@@ -73,29 +79,29 @@ extern uint16_t ff_inv_zigzag_direct16[64];
 #define RENAME(a) a ## _SSSE3
 #define RENAMEl(a) a ## _sse2
 #include "mpegvideoenc_template.c"
 #define RENAME(a) a ## _SSSE3
 #define RENAMEl(a) a ## _sse2
 #include "mpegvideoenc_template.c"
-#endif
-
-#endif /* HAVE_INLINE_ASM */
+#endif /* HAVE_SSSE3_INLINE */
 
 
-void ff_MPV_encode_init_x86(MpegEncContext *s)
+av_cold void ff_MPV_encode_init_x86(MpegEncContext *s)
 {
 {
-#if HAVE_INLINE_ASM
-    int mm_flags = av_get_cpu_flags();
     const int dct_algo = s->avctx->dct_algo;
 
     if (dct_algo == FF_DCT_AUTO || dct_algo == FF_DCT_MMX) {
     const int dct_algo = s->avctx->dct_algo;
 
     if (dct_algo == FF_DCT_AUTO || dct_algo == FF_DCT_MMX) {
-#if HAVE_SSSE3
-        if (mm_flags & AV_CPU_FLAG_SSSE3) {
-            s->dct_quantize = dct_quantize_SSSE3;
-        } else
+#if HAVE_MMX_INLINE
+        int mm_flags = av_get_cpu_flags();
+        if (INLINE_MMX(mm_flags))
+            s->dct_quantize = dct_quantize_MMX;
 #endif
 #endif
-        if (mm_flags & AV_CPU_FLAG_SSE2) {
+#if HAVE_MMXEXT_INLINE
+        if (INLINE_MMXEXT(mm_flags))
+            s->dct_quantize = dct_quantize_MMXEXT;
+#endif
+#if HAVE_SSE2_INLINE
+        if (INLINE_SSE2(mm_flags))
             s->dct_quantize = dct_quantize_SSE2;
             s->dct_quantize = dct_quantize_SSE2;
-        } else if (mm_flags & AV_CPU_FLAG_MMXEXT) {
-            s->dct_quantize = dct_quantize_MMX2;
-        } else {
-            s->dct_quantize = dct_quantize_MMX;
-        }
+#endif
+#if HAVE_SSSE3_INLINE
+        if (INLINE_SSSE3(mm_flags))
+            s->dct_quantize = dct_quantize_SSSE3;
+#endif
     }
     }
-#endif /* HAVE_INLINE_ASM */
 }
 }