summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;