mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-08 13:22:53 +02:00
x86: ac3dsp: Remove 3dnow version of ff_ac3_extract_exponents
The function requires increasing the fuzz factor for the ac3/eac3 encode tests and even so makes fate fail. It only provides a slight encoding speedup for legacy CPUs that do not support SS2. Thus its benefit is not worth the trouble it creates and fixing it would be a waste of time.
This commit is contained in:
parent
74685f6783
commit
7c00e9d8ae
@ -379,42 +379,6 @@ cglobal ac3_compute_mantissa_size, 1, 2, 4, mant_cnt, sum
|
|||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%if HAVE_AMD3DNOW_EXTERNAL
|
|
||||||
INIT_MMX 3dnow
|
|
||||||
cglobal ac3_extract_exponents, 3, 3, 0, exp, coef, len
|
|
||||||
add expq, lenq
|
|
||||||
lea coefq, [coefq+4*lenq]
|
|
||||||
neg lenq
|
|
||||||
movq m3, [pd_1]
|
|
||||||
movq m4, [pd_151]
|
|
||||||
.loop:
|
|
||||||
movq m0, [coefq+4*lenq ]
|
|
||||||
movq m1, [coefq+4*lenq+8]
|
|
||||||
PABSD m0, m2
|
|
||||||
PABSD m1, m2
|
|
||||||
pslld m0, 1
|
|
||||||
por m0, m3
|
|
||||||
pi2fd m2, m0
|
|
||||||
psrld m2, 23
|
|
||||||
movq m0, m4
|
|
||||||
psubd m0, m2
|
|
||||||
pslld m1, 1
|
|
||||||
por m1, m3
|
|
||||||
pi2fd m2, m1
|
|
||||||
psrld m2, 23
|
|
||||||
movq m1, m4
|
|
||||||
psubd m1, m2
|
|
||||||
packssdw m0, m0
|
|
||||||
packuswb m0, m0
|
|
||||||
packssdw m1, m1
|
|
||||||
packuswb m1, m1
|
|
||||||
punpcklwd m0, m1
|
|
||||||
movd [expq+lenq], m0
|
|
||||||
add lenq, 4
|
|
||||||
jl .loop
|
|
||||||
REP_RET
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%macro AC3_EXTRACT_EXPONENTS 0
|
%macro AC3_EXTRACT_EXPONENTS 0
|
||||||
cglobal ac3_extract_exponents, 3, 3, 4, exp, coef, len
|
cglobal ac3_extract_exponents, 3, 3, 4, exp, coef, len
|
||||||
add expq, lenq
|
add expq, lenq
|
||||||
|
@ -189,7 +189,6 @@ av_cold void ff_ac3dsp_init_x86(AC3DSPContext *c, int bit_exact)
|
|||||||
c->ac3_rshift_int32 = ff_ac3_rshift_int32_mmx;
|
c->ac3_rshift_int32 = ff_ac3_rshift_int32_mmx;
|
||||||
}
|
}
|
||||||
if (EXTERNAL_AMD3DNOW(mm_flags)) {
|
if (EXTERNAL_AMD3DNOW(mm_flags)) {
|
||||||
c->extract_exponents = ff_ac3_extract_exponents_3dnow;
|
|
||||||
if (!bit_exact) {
|
if (!bit_exact) {
|
||||||
c->float_to_fixed24 = ff_float_to_fixed24_3dnow;
|
c->float_to_fixed24 = ff_float_to_fixed24_3dnow;
|
||||||
}
|
}
|
||||||
|
@ -52,14 +52,12 @@ fate-ac3-encode: CMD = enc_dec_pcm ac3 wav s16le $(REF) -c:a ac3 -b:a 128k
|
|||||||
fate-ac3-encode: CMP_SHIFT = -1024
|
fate-ac3-encode: CMP_SHIFT = -1024
|
||||||
fate-ac3-encode: CMP_TARGET = 404.53
|
fate-ac3-encode: CMP_TARGET = 404.53
|
||||||
fate-ac3-encode: SIZE_TOLERANCE = 488
|
fate-ac3-encode: SIZE_TOLERANCE = 488
|
||||||
fate-ac3-encode: FUZZ = 3
|
|
||||||
|
|
||||||
FATE_EAC3-$(call ENCDEC, EAC3, EAC3) += fate-eac3-encode
|
FATE_EAC3-$(call ENCDEC, EAC3, EAC3) += fate-eac3-encode
|
||||||
fate-eac3-encode: CMD = enc_dec_pcm eac3 wav s16le $(REF) -c:a eac3 -b:a 128k
|
fate-eac3-encode: CMD = enc_dec_pcm eac3 wav s16le $(REF) -c:a eac3 -b:a 128k
|
||||||
fate-eac3-encode: CMP_SHIFT = -1024
|
fate-eac3-encode: CMP_SHIFT = -1024
|
||||||
fate-eac3-encode: CMP_TARGET = 516.94
|
fate-eac3-encode: CMP_TARGET = 516.94
|
||||||
fate-eac3-encode: SIZE_TOLERANCE = 488
|
fate-eac3-encode: SIZE_TOLERANCE = 488
|
||||||
fate-eac3-encode: FUZZ = 3
|
|
||||||
|
|
||||||
fate-ac3-encode fate-eac3-encode: CMP = stddev
|
fate-ac3-encode fate-eac3-encode: CMP = stddev
|
||||||
fate-ac3-encode fate-eac3-encode: REF = $(SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav
|
fate-ac3-encode fate-eac3-encode: REF = $(SAMPLES)/audio-reference/luckynight_2ch_44kHz_s16.wav
|
||||||
|
Loading…
Reference in New Issue
Block a user