summaryrefslogtreecommitdiff
path: root/libavcodec/x86
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2012-07-26 22:09:46 -0700
committerRonald S. Bultje <rsbultje@gmail.com>2012-07-27 14:40:27 -0700
commit158744a4cd63a8dce2060b366ae7b6509351d6c8 (patch)
treec32f84df617fe0817fd0451f5a7d6bf3a96f81b1 /libavcodec/x86
parent2734ba787b4a2cbc44bbc6499ae82013c790f453 (diff)
vp56: only compile MMX SIMD on x86-32.
All x86-64 CPUs have SSE2, so the MMX version will never be used. This leads to smaller binaries.
Diffstat (limited to 'libavcodec/x86')
-rw-r--r--libavcodec/x86/vp56dsp.asm2
-rw-r--r--libavcodec/x86/vp56dsp_init.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/x86/vp56dsp.asm b/libavcodec/x86/vp56dsp.asm
index 27a82bccab..ca4d97ec15 100644
--- a/libavcodec/x86/vp56dsp.asm
+++ b/libavcodec/x86/vp56dsp.asm
@@ -162,8 +162,10 @@ cglobal vp6_filter_diag4, 5, 7, 8
RET
%endmacro
+%if ARCH_X86_32
INIT_MMX mmx
vp6_filter_diag4
+%endif
INIT_XMM sse2
vp6_filter_diag4
diff --git a/libavcodec/x86/vp56dsp_init.c b/libavcodec/x86/vp56dsp_init.c
index 29892812ac..ae04440611 100644
--- a/libavcodec/x86/vp56dsp_init.c
+++ b/libavcodec/x86/vp56dsp_init.c
@@ -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) {
+#if ARCH_X86_32
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;