Browse Source

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.
tags/n1.0
Ronald S. Bultje 13 years ago
parent
commit
158744a4cd
2 changed files with 4 additions and 0 deletions
  1. +2
    -0
      libavcodec/x86/vp56dsp.asm
  2. +2
    -0
      libavcodec/x86/vp56dsp_init.c

+ 2
- 0
libavcodec/x86/vp56dsp.asm View File

@@ -162,8 +162,10 @@ cglobal vp6_filter_diag4, 5, 7, 8
RET RET
%endmacro %endmacro


%if ARCH_X86_32
INIT_MMX mmx INIT_MMX mmx
vp6_filter_diag4 vp6_filter_diag4
%endif


INIT_XMM sse2 INIT_XMM sse2
vp6_filter_diag4 vp6_filter_diag4

+ 2
- 0
libavcodec/x86/vp56dsp_init.c View File

@@ -36,9 +36,11 @@ av_cold void ff_vp56dsp_init_x86(VP56DSPContext* c, enum CodecID codec)
int mm_flags = av_get_cpu_flags(); int mm_flags = av_get_cpu_flags();


if (CONFIG_VP6_DECODER && codec == CODEC_ID_VP6) { if (CONFIG_VP6_DECODER && codec == CODEC_ID_VP6) {
#if ARCH_X86_32
if (mm_flags & AV_CPU_FLAG_MMX) { if (mm_flags & AV_CPU_FLAG_MMX) {
c->vp6_filter_diag4 = ff_vp6_filter_diag4_mmx; c->vp6_filter_diag4 = ff_vp6_filter_diag4_mmx;
} }
#endif


if (mm_flags & AV_CPU_FLAG_SSE2) { if (mm_flags & AV_CPU_FLAG_SSE2) {
c->vp6_filter_diag4 = ff_vp6_filter_diag4_sse2; c->vp6_filter_diag4 = ff_vp6_filter_diag4_sse2;


Loading…
Cancel
Save