mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-24 03:59:43 +00:00
x86: SPLATD: port to cpuflags
This commit is contained in:
parent
1c5805521c
commit
87af05c575
@ -1124,11 +1124,9 @@ cglobal vector_clip_int32%5, 5,5,%1, dst, src, min, max, len
|
|||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
INIT_MMX mmx
|
INIT_MMX mmx
|
||||||
%define SPLATD SPLATD_MMX
|
|
||||||
%define CLIPD CLIPD_MMX
|
%define CLIPD CLIPD_MMX
|
||||||
VECTOR_CLIP_INT32 0, 1, 0, 0
|
VECTOR_CLIP_INT32 0, 1, 0, 0
|
||||||
INIT_XMM sse2
|
INIT_XMM sse2
|
||||||
%define SPLATD SPLATD_SSE2
|
|
||||||
VECTOR_CLIP_INT32 6, 1, 0, 0, _int
|
VECTOR_CLIP_INT32 6, 1, 0, 0, _int
|
||||||
%define CLIPD CLIPD_SSE2
|
%define CLIPD CLIPD_SSE2
|
||||||
VECTOR_CLIP_INT32 6, 2, 0, 1
|
VECTOR_CLIP_INT32 6, 2, 0, 1
|
||||||
|
@ -72,12 +72,9 @@ cglobal int32_to_float_fmul_scalar, 4, 4, %1, dst, src, mul, len
|
|||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
INIT_XMM sse
|
INIT_XMM sse
|
||||||
%define SPLATD SPLATD_SSE
|
|
||||||
INT32_TO_FLOAT_FMUL_SCALAR 5
|
INT32_TO_FLOAT_FMUL_SCALAR 5
|
||||||
INIT_XMM sse2
|
INIT_XMM sse2
|
||||||
%define SPLATD SPLATD_SSE2
|
|
||||||
INT32_TO_FLOAT_FMUL_SCALAR 3
|
INT32_TO_FLOAT_FMUL_SCALAR 3
|
||||||
%undef SPLATD
|
|
||||||
|
|
||||||
|
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
|
@ -574,24 +574,14 @@
|
|||||||
%endif
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%macro SPLATD 2-3 0
|
%macro SPLATD 1
|
||||||
%if mmsize == 16
|
%if mmsize == 8
|
||||||
pshufd %1, %2, (%3)*0x55
|
|
||||||
%else
|
|
||||||
pshufw %1, %2, (%3)*0x11 + ((%3)+1)*0x44
|
|
||||||
%endif
|
|
||||||
%endmacro
|
|
||||||
|
|
||||||
%macro SPLATD_MMX 1
|
|
||||||
punpckldq %1, %1
|
punpckldq %1, %1
|
||||||
%endmacro
|
%elif cpuflag(sse2)
|
||||||
|
|
||||||
%macro SPLATD_SSE 1
|
|
||||||
shufps %1, %1, 0
|
|
||||||
%endmacro
|
|
||||||
|
|
||||||
%macro SPLATD_SSE2 1
|
|
||||||
pshufd %1, %1, 0
|
pshufd %1, %1, 0
|
||||||
|
%elif cpuflag(sse)
|
||||||
|
shufps %1, %1, 0
|
||||||
|
%endif
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
%macro CLIPW 3 ;(dst, min, max)
|
%macro CLIPW 3 ;(dst, min, max)
|
||||||
|
@ -187,7 +187,7 @@ cglobal yuv2planeX_%1, %3, 8, %2, filter, fltsize, src, dst, w, dither, offset
|
|||||||
%else ; %1 == 10/9/8
|
%else ; %1 == 10/9/8
|
||||||
punpcklwd m5, m3, m4
|
punpcklwd m5, m3, m4
|
||||||
punpckhwd m3, m4
|
punpckhwd m3, m4
|
||||||
SPLATD m0, m0
|
SPLATD m0
|
||||||
|
|
||||||
pmaddwd m5, m0
|
pmaddwd m5, m0
|
||||||
pmaddwd m3, m0
|
pmaddwd m3, m0
|
||||||
|
Loading…
Reference in New Issue
Block a user