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

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


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Mon Jun 20 07:14:47 2022 +0200| [839fbe0e98881f020e41dc7151d08f2ccb314398] | committer: Andreas Rheinhardt

avcodec/x86/huffyuvencdsp: Remove obsolete MMX function

The only systems which benefit from ff_diff_int16_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=839fbe0e98881f020e41dc7151d08f2ccb314398
---

 libavcodec/x86/huffyuvencdsp.asm    | 9 ---------
 libavcodec/x86/huffyuvencdsp_init.c | 6 ------
 2 files changed, 15 deletions(-)

diff --git a/libavcodec/x86/huffyuvencdsp.asm b/libavcodec/x86/huffyuvencdsp.asm
index d994fd0fd6..8bfd0face0 100644
--- a/libavcodec/x86/huffyuvencdsp.asm
+++ b/libavcodec/x86/huffyuvencdsp.asm
@@ -36,26 +36,17 @@ SECTION .text
 
 %macro DIFF_INT16 0
 cglobal diff_int16, 5,5,5, dst, src1, src2, mask, w, tmp
-%if mmsize > 8
     test src1q, mmsize-1
     jnz .unaligned
     test src2q, mmsize-1
     jnz .unaligned
     test dstq, mmsize-1
     jnz .unaligned
-%endif
     INT16_LOOP a, sub
-%if mmsize > 8
 .unaligned:
     INT16_LOOP u, sub
-%endif
 %endmacro
 
-%if ARCH_X86_32
-INIT_MMX mmx
-DIFF_INT16
-%endif
-
 INIT_XMM sse2
 DIFF_INT16
 
diff --git a/libavcodec/x86/huffyuvencdsp_init.c b/libavcodec/x86/huffyuvencdsp_init.c
index 6c6e068cf8..cc6dc5a560 100644
--- a/libavcodec/x86/huffyuvencdsp_init.c
+++ b/libavcodec/x86/huffyuvencdsp_init.c
@@ -28,8 +28,6 @@
 #include "libavutil/x86/cpu.h"
 #include "libavcodec/huffyuvencdsp.h"
 
-void ff_diff_int16_mmx (uint16_t *dst, const uint16_t *src1, const uint16_t *src2,
-                        unsigned mask, int w);
 void ff_diff_int16_sse2(uint16_t *dst, const uint16_t *src1, const uint16_t *src2,
                         unsigned mask, int w);
 void ff_diff_int16_avx2(uint16_t *dst, const uint16_t *src1, const uint16_t *src2,
@@ -42,10 +40,6 @@ av_cold void ff_huffyuvencdsp_init_x86(HuffYUVEncDSPContext *c, AVCodecContext *
     av_unused int cpu_flags = av_get_cpu_flags();
     const AVPixFmtDescriptor *pix_desc = av_pix_fmt_desc_get(avctx->pix_fmt);
 
-    if (ARCH_X86_32 && EXTERNAL_MMX(cpu_flags)) {
-        c->diff_int16 = ff_diff_int16_mmx;
-    }
-
     if (EXTERNAL_MMXEXT(cpu_flags) && pix_desc && pix_desc->comp[0].depth<16) {
         c->sub_hfyu_median_pred_int16 = ff_sub_hfyu_median_pred_int16_mmxext;
     }



More information about the ffmpeg-cvslog mailing list