This implementation is only used in a very narrow set of circumstances: it is not bitexact, and there is an SSE implementation, so the 3DNow version would only get used on K6-II/K6-III/early (pre-XP) Athlon CPUs. It is completely dead code in x86-64 builds.
Signed-off-by: Daniel Verkamp <dan...@drv.nu> --- libavcodec/x86/ac3dsp.asm | 29 ----------------------------- libavcodec/x86/ac3dsp_init.c | 6 ------ 2 files changed, 35 deletions(-) diff --git a/libavcodec/x86/ac3dsp.asm b/libavcodec/x86/ac3dsp.asm index 675ade3..dbb5dab 100644 --- a/libavcodec/x86/ac3dsp.asm +++ b/libavcodec/x86/ac3dsp.asm @@ -212,35 +212,6 @@ AC3_SHIFT r, 32, psrad ; void ff_float_to_fixed24(int32_t *dst, const float *src, unsigned int len) ;----------------------------------------------------------------------------- -; The 3DNow! version is not bit-identical because pf2id uses truncation rather -; than round-to-nearest. -INIT_MMX 3dnow -cglobal float_to_fixed24, 3, 3, 0, dst, src, len - movq m0, [pf_1_24] -.loop: - movq m1, [srcq ] - movq m2, [srcq+8 ] - movq m3, [srcq+16] - movq m4, [srcq+24] - pfmul m1, m0 - pfmul m2, m0 - pfmul m3, m0 - pfmul m4, m0 - pf2id m1, m1 - pf2id m2, m2 - pf2id m3, m3 - pf2id m4, m4 - movq [dstq ], m1 - movq [dstq+8 ], m2 - movq [dstq+16], m3 - movq [dstq+24], m4 - add srcq, 32 - add dstq, 32 - sub lend, 8 - ja .loop - femms - RET - INIT_XMM sse cglobal float_to_fixed24, 3, 3, 3, dst, src, len movaps m0, [pf_1_24] diff --git a/libavcodec/x86/ac3dsp_init.c b/libavcodec/x86/ac3dsp_init.c index eea2736..f229f34 100644 --- a/libavcodec/x86/ac3dsp_init.c +++ b/libavcodec/x86/ac3dsp_init.c @@ -41,7 +41,6 @@ void ff_ac3_lshift_int16_sse2(int16_t *src, unsigned int len, unsigned int shift void ff_ac3_rshift_int32_mmx (int32_t *src, unsigned int len, unsigned int shift); void ff_ac3_rshift_int32_sse2(int32_t *src, unsigned int len, unsigned int shift); -void ff_float_to_fixed24_3dnow(int32_t *dst, const float *src, unsigned int len); void ff_float_to_fixed24_sse (int32_t *dst, const float *src, unsigned int len); void ff_float_to_fixed24_sse2 (int32_t *dst, const float *src, unsigned int len); @@ -206,11 +205,6 @@ av_cold void ff_ac3dsp_init_x86(AC3DSPContext *c, int bit_exact) c->ac3_lshift_int16 = ff_ac3_lshift_int16_mmx; c->ac3_rshift_int32 = ff_ac3_rshift_int32_mmx; } - if (EXTERNAL_AMD3DNOW(cpu_flags)) { - if (!bit_exact) { - c->float_to_fixed24 = ff_float_to_fixed24_3dnow; - } - } if (EXTERNAL_MMXEXT(cpu_flags)) { c->ac3_exponent_min = ff_ac3_exponent_min_mmxext; c->ac3_max_msb_abs_int16 = ff_ac3_max_msb_abs_int16_mmxext; -- 2.4.10 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel