x86: mpegvideoenc: fix linking with --disable-mmx
authorDiego Biurrun <diego@biurrun.de>
Tue, 28 Aug 2012 15:45:24 +0000 (17:45 +0200)
committerDiego Biurrun <diego@biurrun.de>
Tue, 28 Aug 2012 22:26:56 +0000 (00:26 +0200)
The optimized dct_quantize template functions reference optimized
fdct symbols, so these functions must only be enabled if the relevant
optimizations have been enabled by configure.

libavcodec/x86/mpegvideoenc.c

index 184912d..946240d 100644 (file)
@@ -89,11 +89,11 @@ void ff_MPV_encode_init_x86(MpegEncContext *s)
             s->dct_quantize = dct_quantize_SSSE3;
         } else
 #endif
-        if (mm_flags & AV_CPU_FLAG_SSE2) {
+        if (mm_flags & AV_CPU_FLAG_SSE2 && HAVE_SSE) {
             s->dct_quantize = dct_quantize_SSE2;
-        } else if (mm_flags & AV_CPU_FLAG_MMXEXT) {
+        } else if (mm_flags & AV_CPU_FLAG_MMXEXT && HAVE_MMXEXT) {
             s->dct_quantize = dct_quantize_MMX2;
-        } else {
+        } else if (mm_flags & AV_CPU_FLAG_MMX && HAVE_MMX) {
             s->dct_quantize = dct_quantize_MMX;
         }
     }