diff --git a/libavcodec/x86/vorbisdsp.asm b/libavcodec/x86/vorbisdsp.asm index d952296716..9afe2eb352 100644 --- a/libavcodec/x86/vorbisdsp.asm +++ b/libavcodec/x86/vorbisdsp.asm @@ -27,35 +27,6 @@ pdw_80000000: times 4 dd 0x80000000 SECTION .text -%if ARCH_X86_32 -INIT_MMX 3dnow -cglobal vorbis_inverse_coupling, 3, 3, 6, mag, ang, block_size - pxor m7, m7 - lea magq, [magq+block_sizeq*4] - lea angq, [angq+block_sizeq*4] - neg block_sizeq -.loop: - mova m0, [magq+block_sizeq*4] - mova m1, [angq+block_sizeq*4] - mova m2, m0 - mova m3, m1 - pfcmpge m2, m7 ; m <= 0.0 - pfcmpge m3, m7 ; a <= 0.0 - pslld m2, 31 ; keep only the sign bit - pxor m1, m2 - mova m4, m3 - pand m3, m1 - pandn m4, m1 - pfadd m3, m0 ; a = m + ((a < 0) & (a ^ sign(m))) - pfsub m0, m4 ; m = m + ((a > 0) & (a ^ sign(m))) - mova [angq+block_sizeq*4], m3 - mova [magq+block_sizeq*4], m0 - add block_sizeq, 2 - jl .loop - femms - RET -%endif - INIT_XMM sse cglobal vorbis_inverse_coupling, 3, 3, 6, mag, ang, block_size mova m5, [pdw_80000000] diff --git a/libavcodec/x86/vorbisdsp_init.c b/libavcodec/x86/vorbisdsp_init.c index bc1cc43a18..da9f9e685e 100644 --- a/libavcodec/x86/vorbisdsp_init.c +++ b/libavcodec/x86/vorbisdsp_init.c @@ -24,8 +24,6 @@ #include "libavutil/x86/cpu.h" #include "libavcodec/vorbisdsp.h" -void ff_vorbis_inverse_coupling_3dnow(float *mag, float *ang, - intptr_t blocksize); void ff_vorbis_inverse_coupling_sse(float *mag, float *ang, intptr_t blocksize); @@ -33,10 +31,6 @@ av_cold void ff_vorbisdsp_init_x86(VorbisDSPContext *dsp) { int cpu_flags = av_get_cpu_flags(); -#if ARCH_X86_32 - if (EXTERNAL_AMD3DNOW(cpu_flags)) - dsp->vorbis_inverse_coupling = ff_vorbis_inverse_coupling_3dnow; -#endif /* ARCH_X86_32 */ if (EXTERNAL_SSE(cpu_flags)) dsp->vorbis_inverse_coupling = ff_vorbis_inverse_coupling_sse; }