diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-06-14 20:34:24 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-06-22 13:39:31 +0200 |
commit | 8360354ae81982d6510fa54979c23f714b0790e2 (patch) | |
tree | 2a2fbe4ddefec4818006590bc3d2987aa70df39d | |
parent | eb33fd384e70900644b5c1a06e266819af32b02e (diff) | |
download | ffmpeg-8360354ae81982d6510fa54979c23f714b0790e2.tar.gz |
avcodec/x86/rv34dsp: Remove obsolete MMX function
The only systems which benefit from ff_rv34_idct_dc_add_mmx are truely
ancient 32bit x86s as all other systems use at least the SSE2 versions
(this includes all x64 cpus (which is why this code is restricted
to x86-32)).
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r-- | libavcodec/x86/rv34dsp.asm | 37 | ||||
-rw-r--r-- | libavcodec/x86/rv34dsp_init.c | 3 |
2 files changed, 0 insertions, 40 deletions
diff --git a/libavcodec/x86/rv34dsp.asm b/libavcodec/x86/rv34dsp.asm index 5568ddfdf8..0a3d99c53f 100644 --- a/libavcodec/x86/rv34dsp.asm +++ b/libavcodec/x86/rv34dsp.asm @@ -56,43 +56,6 @@ cglobal rv34_idct_dc_noround, 1, 2, 0 movq [r0+24], m0 REP_RET -; ff_rv34_idct_dc_add_mmx(uint8_t *dst, int stride, int dc); -%if ARCH_X86_32 -INIT_MMX mmx -cglobal rv34_idct_dc_add, 3, 3 - ; calculate DC - IDCT_DC_ROUND r2 - pxor m1, m1 - movd m0, r2d - psubw m1, m0 - packuswb m0, m0 - packuswb m1, m1 - punpcklbw m0, m0 - punpcklbw m1, m1 - punpcklwd m0, m0 - punpcklwd m1, m1 - - ; add DC - lea r2, [r0+r1*2] - movh m2, [r0] - movh m3, [r0+r1] - movh m4, [r2] - movh m5, [r2+r1] - paddusb m2, m0 - paddusb m3, m0 - paddusb m4, m0 - paddusb m5, m0 - psubusb m2, m1 - psubusb m3, m1 - psubusb m4, m1 - psubusb m5, m1 - movh [r0], m2 - movh [r0+r1], m3 - movh [r2], m4 - movh [r2+r1], m5 - RET -%endif - ; Load coeffs and perform row transform ; Output: coeffs in mm[0467], rounder in mm5 %macro ROW_TRANSFORM 1 diff --git a/libavcodec/x86/rv34dsp_init.c b/libavcodec/x86/rv34dsp_init.c index 7310122458..caa5c2d653 100644 --- a/libavcodec/x86/rv34dsp_init.c +++ b/libavcodec/x86/rv34dsp_init.c @@ -26,7 +26,6 @@ void ff_rv34_idct_dc_mmxext(int16_t *block); void ff_rv34_idct_dc_noround_mmxext(int16_t *block); -void ff_rv34_idct_dc_add_mmx(uint8_t *dst, ptrdiff_t stride, int dc); void ff_rv34_idct_dc_add_sse2(uint8_t *dst, ptrdiff_t stride, int dc); void ff_rv34_idct_dc_add_sse4(uint8_t *dst, ptrdiff_t stride, int dc); void ff_rv34_idct_add_mmxext(uint8_t *dst, ptrdiff_t stride, int16_t *block); @@ -35,8 +34,6 @@ av_cold void ff_rv34dsp_init_x86(RV34DSPContext* c) { int cpu_flags = av_get_cpu_flags(); - if (ARCH_X86_32 && EXTERNAL_MMX(cpu_flags)) - c->rv34_idct_dc_add = ff_rv34_idct_dc_add_mmx; if (EXTERNAL_MMXEXT(cpu_flags)) { c->rv34_inv_transform_dc = ff_rv34_idct_dc_noround_mmxext; c->rv34_idct_add = ff_rv34_idct_add_mmxext; |