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

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


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Sat Jun 11 00:16:31 2022 +0200| [67f0db7bc5c42cc861add0c660d438f6bdc4ccfe] | committer: Andreas Rheinhardt

avcodec/x86/h264chroma: 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=67f0db7bc5c42cc861add0c660d438f6bdc4ccfe
---

 libavcodec/x86/h264_chromamc.asm | 4 ----
 libavcodec/x86/h264chroma_init.c | 9 ---------
 2 files changed, 13 deletions(-)

diff --git a/libavcodec/x86/h264_chromamc.asm b/libavcodec/x86/h264_chromamc.asm
index ba6f4af3b0..e562efd69d 100644
--- a/libavcodec/x86/h264_chromamc.asm
+++ b/libavcodec/x86/h264_chromamc.asm
@@ -446,10 +446,6 @@ chroma_mc4_mmx_func avg, h264
 chroma_mc4_mmx_func avg, rv40
 chroma_mc2_mmx_func avg, h264
 
-INIT_MMX 3dnow
-chroma_mc8_mmx_func avg, h264, _rnd
-chroma_mc4_mmx_func avg, h264
-
 %macro chroma_mc8_ssse3_func 2-3
 cglobal %1_%2_chroma_mc8%3, 6, 7, 8
     mov          r6d, r5d
diff --git a/libavcodec/x86/h264chroma_init.c b/libavcodec/x86/h264chroma_init.c
index 36bf29df02..7c0f492178 100644
--- a/libavcodec/x86/h264chroma_init.c
+++ b/libavcodec/x86/h264chroma_init.c
@@ -28,15 +28,11 @@ void ff_put_h264_chroma_mc8_rnd_mmx  (uint8_t *dst, uint8_t *src,
                                       ptrdiff_t stride, int h, int x, int y);
 void ff_avg_h264_chroma_mc8_rnd_mmxext(uint8_t *dst, uint8_t *src,
                                        ptrdiff_t stride, int h, int x, int y);
-void ff_avg_h264_chroma_mc8_rnd_3dnow(uint8_t *dst, uint8_t *src,
-                                      ptrdiff_t stride, int h, int x, int y);
 
 void ff_put_h264_chroma_mc4_mmx      (uint8_t *dst, uint8_t *src,
                                       ptrdiff_t stride, int h, int x, int y);
 void ff_avg_h264_chroma_mc4_mmxext   (uint8_t *dst, uint8_t *src,
                                       ptrdiff_t stride, int h, int x, int y);
-void ff_avg_h264_chroma_mc4_3dnow    (uint8_t *dst, uint8_t *src,
-                                      ptrdiff_t stride, int h, int x, int y);
 
 void ff_put_h264_chroma_mc2_mmxext   (uint8_t *dst, uint8_t *src,
                                       ptrdiff_t stride, int h, int x, int y);
@@ -77,11 +73,6 @@ av_cold void ff_h264chroma_init_x86(H264ChromaContext *c, int bit_depth)
         c->put_h264_chroma_pixels_tab[1] = ff_put_h264_chroma_mc4_mmx;
     }
 
-    if (EXTERNAL_AMD3DNOW(cpu_flags) && !high_bit_depth) {
-        c->avg_h264_chroma_pixels_tab[0] = ff_avg_h264_chroma_mc8_rnd_3dnow;
-        c->avg_h264_chroma_pixels_tab[1] = ff_avg_h264_chroma_mc4_3dnow;
-    }
-
     if (EXTERNAL_MMXEXT(cpu_flags) && !high_bit_depth) {
         c->avg_h264_chroma_pixels_tab[0] = ff_avg_h264_chroma_mc8_rnd_mmxext;
         c->avg_h264_chroma_pixels_tab[1] = ff_avg_h264_chroma_mc4_mmxext;



More information about the ffmpeg-cvslog mailing list