vp56: only compile MMX SIMD on x86-32.
authorRonald S. Bultje <rsbultje@gmail.com>
Fri, 27 Jul 2012 05:09:46 +0000 (22:09 -0700)
committerRonald S. Bultje <rsbultje@gmail.com>
Fri, 27 Jul 2012 21:40:27 +0000 (14:40 -0700)
All x86-64 CPUs have SSE2, so the MMX version will never be used. This
leads to smaller binaries.

libavcodec/x86/vp56dsp.asm
libavcodec/x86/vp56dsp_init.c

index 27a82bc..ca4d97e 100644 (file)
@@ -162,8 +162,10 @@ cglobal vp6_filter_diag4, 5, 7, 8
     RET
 %endmacro
 
     RET
 %endmacro
 
+%if ARCH_X86_32
 INIT_MMX mmx
 vp6_filter_diag4
 INIT_MMX mmx
 vp6_filter_diag4
+%endif
 
 INIT_XMM sse2
 vp6_filter_diag4
 
 INIT_XMM sse2
 vp6_filter_diag4
index 2989281..ae04440 100644 (file)
@@ -36,9 +36,11 @@ av_cold void ff_vp56dsp_init_x86(VP56DSPContext* c, enum CodecID codec)
     int mm_flags = av_get_cpu_flags();
 
     if (CONFIG_VP6_DECODER && codec == CODEC_ID_VP6) {
     int mm_flags = av_get_cpu_flags();
 
     if (CONFIG_VP6_DECODER && codec == CODEC_ID_VP6) {
+#if ARCH_X86_32
         if (mm_flags & AV_CPU_FLAG_MMX) {
             c->vp6_filter_diag4 = ff_vp6_filter_diag4_mmx;
         }
         if (mm_flags & AV_CPU_FLAG_MMX) {
             c->vp6_filter_diag4 = ff_vp6_filter_diag4_mmx;
         }
+#endif
 
         if (mm_flags & AV_CPU_FLAG_SSE2) {
             c->vp6_filter_diag4 = ff_vp6_filter_diag4_sse2;
 
         if (mm_flags & AV_CPU_FLAG_SSE2) {
             c->vp6_filter_diag4 = ff_vp6_filter_diag4_sse2;