avutil/x86util: Fix broken pre-SSE4.1 PMINSD emulation
Fixes yadif-16 which allows FATE to pass.
Broken since 2904db9045
(2017).
This commit is contained in:
@@ -802,10 +802,6 @@
|
|||||||
%macro PMINSD 3 ; dst, src, tmp/unused
|
%macro PMINSD 3 ; dst, src, tmp/unused
|
||||||
%if cpuflag(sse4)
|
%if cpuflag(sse4)
|
||||||
pminsd %1, %2
|
pminsd %1, %2
|
||||||
%elif cpuflag(sse2)
|
|
||||||
cvtdq2ps %1, %1
|
|
||||||
minps %1, %2
|
|
||||||
cvtps2dq %1, %1
|
|
||||||
%else
|
%else
|
||||||
mova %3, %2
|
mova %3, %2
|
||||||
pcmpgtd %3, %1
|
pcmpgtd %3, %1
|
||||||
|
@@ -24,7 +24,6 @@
|
|||||||
SECTION_RODATA
|
SECTION_RODATA
|
||||||
|
|
||||||
max_19bit_int: times 4 dd 0x7ffff
|
max_19bit_int: times 4 dd 0x7ffff
|
||||||
max_19bit_flt: times 4 dd 524287.0
|
|
||||||
minshort: times 8 dw 0x8000
|
minshort: times 8 dw 0x8000
|
||||||
unicoeff: times 4 dd 0x20000000
|
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
|
%define mov32 mov
|
||||||
%endif ; x86-64
|
%endif ; x86-64
|
||||||
%if %2 == 19
|
%if %2 == 19
|
||||||
%if cpuflag(sse4)
|
|
||||||
mova m2, [max_19bit_int]
|
mova m2, [max_19bit_int]
|
||||||
%else ; ssse3/sse2
|
|
||||||
mova m2, [max_19bit_flt]
|
|
||||||
%endif ; sse2/ssse3/sse4
|
|
||||||
%endif ; %2 == 19
|
%endif ; %2 == 19
|
||||||
%if %1 == 16
|
%if %1 == 16
|
||||||
mova m6, [minshort]
|
mova m6, [minshort]
|
||||||
|
Reference in New Issue
Block a user