From 839fbe0e98881f020e41dc7151d08f2ccb314398 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Mon, 20 Jun 2022 07:14:47 +0200 Subject: [PATCH] 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 --- 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; }