[FFmpeg-cvslog] avcodec/x86/rv34dsp: Remove obsolete MMX function

Andreas Rheinhardt git at videolan.org
Wed Jun 22 15:29:42 EEST 2022


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Tue Jun 14 20:34:24 2022 +0200| [8360354ae81982d6510fa54979c23f714b0790e2] | committer: Andreas Rheinhardt

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 at outlook.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8360354ae81982d6510fa54979c23f714b0790e2
---

 libavcodec/x86/rv34dsp.asm    | 37 -------------------------------------
 libavcodec/x86/rv34dsp_init.c |  3 ---
 2 files changed, 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;



More information about the ffmpeg-cvslog mailing list