mirror of https://git.ffmpeg.org/ffmpeg.git
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:
parent
de2fb43e78
commit
c3d3f0e697
|
@ -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]
|
||||||
|
|
Loading…
Reference in New Issue