aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2022-06-14 20:34:24 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2022-06-22 13:39:31 +0200
commit8360354ae81982d6510fa54979c23f714b0790e2 (patch)
tree2a2fbe4ddefec4818006590bc3d2987aa70df39d
parenteb33fd384e70900644b5c1a06e266819af32b02e (diff)
downloadffmpeg-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.asm37
-rw-r--r--libavcodec/x86/rv34dsp_init.c3
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;