mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-03-23 04:24:35 +02:00
avcodec/x86/vorbisdsp: Remove obsolete 3dnow functions
x64 always has MMX, MMXEXT, SSE and SSE2 and this means that some functions for MMX, MMXEXT, SSE and 3dnow are always overridden by other functions (unless one e.g. explicitly disables SSE2). So given that the only systems which benefit from the 3dnow implementations are truely ancient 32bit AMD x86s they are removed. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
parent
ec73557981
commit
f76477d4d7
libavcodec/x86
@ -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]
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user