[FFmpeg-cvslog] avcodec/x86/vp6dsp: Remove obsolete MMX ff_vp6_filter_diag4_mmx

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


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Mon Jun 13 17:02:42 2022 +0200| [6cb3ee80b3b58d692a722fb38ee05f170ae8b0d2] | committer: Andreas Rheinhardt

avcodec/x86/vp6dsp: Remove obsolete MMX ff_vp6_filter_diag4_mmx

The only systems which benefit from it 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=6cb3ee80b3b58d692a722fb38ee05f170ae8b0d2
---

 libavcodec/x86/vp6dsp.asm    | 16 +---------------
 libavcodec/x86/vp6dsp_init.c |  7 -------
 2 files changed, 1 insertion(+), 22 deletions(-)

diff --git a/libavcodec/x86/vp6dsp.asm b/libavcodec/x86/vp6dsp.asm
index 0be531e5c2..512fe89def 100644
--- a/libavcodec/x86/vp6dsp.asm
+++ b/libavcodec/x86/vp6dsp.asm
@@ -114,18 +114,13 @@ SECTION .text
 %endif ; mmsize == 8/16
 %endmacro
 
-%macro vp6_filter_diag4 0
 ; void ff_vp6_filter_diag4_<opt>(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
 ;                                const int16_t h_weight[4], const int16_t v_weights[4])
+INIT_XMM sse2
 cglobal vp6_filter_diag4, 5, 7, 8
     mov          r5, rsp         ; backup stack pointer
     and         rsp, ~(mmsize-1) ; align stack
-%if mmsize == 16
     sub         rsp, 8*11
-%else
-    sub         rsp, 8*15
-    movq         m6, [pw_64]
-%endif
 
     sub          r1, r2
 
@@ -156,12 +151,3 @@ cglobal vp6_filter_diag4, 5, 7, 8
 
     mov         rsp, r5          ; restore stack pointer
     RET
-%endmacro
-
-%if ARCH_X86_32
-INIT_MMX mmx
-vp6_filter_diag4
-%endif
-
-INIT_XMM sse2
-vp6_filter_diag4
diff --git a/libavcodec/x86/vp6dsp_init.c b/libavcodec/x86/vp6dsp_init.c
index ce498931d0..83d45ec36c 100644
--- a/libavcodec/x86/vp6dsp_init.c
+++ b/libavcodec/x86/vp6dsp_init.c
@@ -25,8 +25,6 @@
 #include "libavutil/x86/cpu.h"
 #include "libavcodec/vp56dsp.h"
 
-void ff_vp6_filter_diag4_mmx(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
-                             const int16_t *h_weights,const int16_t *v_weights);
 void ff_vp6_filter_diag4_sse2(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
                               const int16_t *h_weights,const int16_t *v_weights);
 
@@ -34,11 +32,6 @@ av_cold void ff_vp6dsp_init_x86(VP56DSPContext *c)
 {
     int cpu_flags = av_get_cpu_flags();
 
-#if ARCH_X86_32
-    if (EXTERNAL_MMX(cpu_flags)) {
-        c->vp6_filter_diag4 = ff_vp6_filter_diag4_mmx;
-    }
-#endif
     if (EXTERNAL_SSE2(cpu_flags)) {
         c->vp6_filter_diag4 = ff_vp6_filter_diag4_sse2;
     }



More information about the ffmpeg-cvslog mailing list