[FFmpeg-cvslog] avcodec/x86/hpeldsp_vp3: Remove obsolete 3dnow functions

Andreas Rheinhardt git at videolan.org
Wed Jun 22 15:28:57 EEST 2022


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Fri Jun 10 21:18:52 2022 +0200| [aa8a2019928ae6ff6ec4382020b26b891f64d4bd] | committer: Andreas Rheinhardt

avcodec/x86/hpeldsp_vp3: Remove obsolete 3dnow functions

x64 always has MMX, MMXEXT, SSE and SSE2 and this means
that some functions for MMX, MMXEXT and 3dnow are always
overridden by other functions (unless one e.g. explicitly
disables SSE2) for x64. So given that the only systems that
benefit from these functions are truely ancient 32bit x86s
they are removed.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>

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

 libavcodec/x86/hpeldsp_vp3.asm    | 16 ++--------------
 libavcodec/x86/hpeldsp_vp3_init.c | 13 -------------
 2 files changed, 2 insertions(+), 27 deletions(-)

diff --git a/libavcodec/x86/hpeldsp_vp3.asm b/libavcodec/x86/hpeldsp_vp3.asm
index cba96d06cb..88ca8e8e0a 100644
--- a/libavcodec/x86/hpeldsp_vp3.asm
+++ b/libavcodec/x86/hpeldsp_vp3.asm
@@ -23,7 +23,7 @@
 SECTION .text
 
 ; void ff_put_no_rnd_pixels8_x2_exact(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h)
-%macro PUT_NO_RND_PIXELS8_X2_EXACT 0
+INIT_MMX mmxext
 cglobal put_no_rnd_pixels8_x2_exact, 4,5
     lea          r4, [r2*3]
     pcmpeqb      m6, m6
@@ -61,16 +61,10 @@ cglobal put_no_rnd_pixels8_x2_exact, 4,5
     sub         r3d, 4
     jg .loop
     REP_RET
-%endmacro
-
-INIT_MMX mmxext
-PUT_NO_RND_PIXELS8_X2_EXACT
-INIT_MMX 3dnow
-PUT_NO_RND_PIXELS8_X2_EXACT
 
 
 ; void ff_put_no_rnd_pixels8_y2_exact(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h)
-%macro PUT_NO_RND_PIXELS8_Y2_EXACT 0
+INIT_MMX mmxext
 cglobal put_no_rnd_pixels8_y2_exact, 4,5
     lea          r4, [r2*3]
     mova         m0, [r1]
@@ -103,9 +97,3 @@ cglobal put_no_rnd_pixels8_y2_exact, 4,5
     sub         r3d, 4
     jg .loop
     REP_RET
-%endmacro
-
-INIT_MMX mmxext
-PUT_NO_RND_PIXELS8_Y2_EXACT
-INIT_MMX 3dnow
-PUT_NO_RND_PIXELS8_Y2_EXACT
diff --git a/libavcodec/x86/hpeldsp_vp3_init.c b/libavcodec/x86/hpeldsp_vp3_init.c
index 5979f4123c..1dbd1ba6f9 100644
--- a/libavcodec/x86/hpeldsp_vp3_init.c
+++ b/libavcodec/x86/hpeldsp_vp3_init.c
@@ -28,25 +28,12 @@
 void ff_put_no_rnd_pixels8_x2_exact_mmxext(uint8_t *block,
                                            const uint8_t *pixels,
                                            ptrdiff_t line_size, int h);
-void ff_put_no_rnd_pixels8_x2_exact_3dnow(uint8_t *block,
-                                          const uint8_t *pixels,
-                                          ptrdiff_t line_size, int h);
 void ff_put_no_rnd_pixels8_y2_exact_mmxext(uint8_t *block,
                                            const uint8_t *pixels,
                                            ptrdiff_t line_size, int h);
-void ff_put_no_rnd_pixels8_y2_exact_3dnow(uint8_t *block,
-                                          const uint8_t *pixels,
-                                          ptrdiff_t line_size, int h);
 
 av_cold void ff_hpeldsp_vp3_init_x86(HpelDSPContext *c, int cpu_flags, int flags)
 {
-    if (EXTERNAL_AMD3DNOW(cpu_flags)) {
-        if (flags & AV_CODEC_FLAG_BITEXACT) {
-            c->put_no_rnd_pixels_tab[1][1] = ff_put_no_rnd_pixels8_x2_exact_3dnow;
-            c->put_no_rnd_pixels_tab[1][2] = ff_put_no_rnd_pixels8_y2_exact_3dnow;
-        }
-    }
-
     if (EXTERNAL_MMXEXT(cpu_flags)) {
         if (flags & AV_CODEC_FLAG_BITEXACT) {
             c->put_no_rnd_pixels_tab[1][1] = ff_put_no_rnd_pixels8_x2_exact_mmxext;



More information about the ffmpeg-cvslog mailing list