[FFmpeg-cvslog] avutil/x86util: Fix broken pre-SSE4.1 PMINSD emulation

Henrik Gramner git at videolan.org
Sun Mar 17 15:22:13 EET 2024


ffmpeg | branch: master | Henrik Gramner <henrik at gramner.com> | Sun Mar 17 11:52:57 2024 +0100| [c3d3f0e697f27a14898e74db4fcffa5b35bcaf94] | committer: Henrik Gramner

avutil/x86util: Fix broken pre-SSE4.1 PMINSD emulation

Fixes yadif-16 which allows FATE to pass.

Broken since 2904db90458a1253e4aea6844ba9a59ac11923b6 (2017).

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

 libavutil/x86/x86util.asm | 4 ----
 libswscale/x86/scale.asm  | 5 -----
 2 files changed, 9 deletions(-)

diff --git a/libavutil/x86/x86util.asm b/libavutil/x86/x86util.asm
index d7cd996842..836f6afcb8 100644
--- a/libavutil/x86/x86util.asm
+++ b/libavutil/x86/x86util.asm
@@ -802,10 +802,6 @@
 %macro PMINSD 3 ; dst, src, tmp/unused
 %if cpuflag(sse4)
     pminsd    %1, %2
-%elif cpuflag(sse2)
-    cvtdq2ps  %1, %1
-    minps     %1, %2
-    cvtps2dq  %1, %1
 %else
     mova      %3, %2
     pcmpgtd   %3, %1
diff --git a/libswscale/x86/scale.asm b/libswscale/x86/scale.asm
index 2e14c8c023..baf03d52fa 100644
--- a/libswscale/x86/scale.asm
+++ b/libswscale/x86/scale.asm
@@ -24,7 +24,6 @@
 SECTION_RODATA
 
 max_19bit_int: times 4 dd 0x7ffff
-max_19bit_flt: times 4 dd 524287.0
 minshort:      times 8 dw 0x8000
 unicoeff:      times 4 dd 0x20000000
 
@@ -61,11 +60,7 @@ cglobal hscale%1to%2_%4, %5, 10, %6, pos0, dst, w, srcmem, filter, fltpos, fltsi
 %define mov32 mov
 %endif ; x86-64
 %if %2 == 19
-%if cpuflag(sse4)
     mova          m2, [max_19bit_int]
-%else ; ssse3/sse2
-    mova          m2, [max_19bit_flt]
-%endif ; sse2/ssse3/sse4
 %endif ; %2 == 19
 %if %1 == 16
     mova          m6, [minshort]



More information about the ffmpeg-cvslog mailing list