You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
Move clipd macros to x86util.asm.
This allows sharing them between multiple .asm files.
This commit is contained in:
@@ -20,6 +20,7 @@
|
|||||||
;******************************************************************************
|
;******************************************************************************
|
||||||
|
|
||||||
%include "x86inc.asm"
|
%include "x86inc.asm"
|
||||||
|
%include "x86util.asm"
|
||||||
|
|
||||||
SECTION_RODATA
|
SECTION_RODATA
|
||||||
pb_f: times 16 db 15
|
pb_f: times 16 db 15
|
||||||
@@ -1054,39 +1055,6 @@ emu_edge mmx
|
|||||||
; int32_t max, unsigned int len)
|
; int32_t max, unsigned int len)
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
|
|
||||||
%macro PMINSD_MMX 3 ; dst, src, tmp
|
|
||||||
mova %3, %2
|
|
||||||
pcmpgtd %3, %1
|
|
||||||
pxor %1, %2
|
|
||||||
pand %1, %3
|
|
||||||
pxor %1, %2
|
|
||||||
%endmacro
|
|
||||||
|
|
||||||
%macro PMAXSD_MMX 3 ; dst, src, tmp
|
|
||||||
mova %3, %1
|
|
||||||
pcmpgtd %3, %2
|
|
||||||
pand %1, %3
|
|
||||||
pandn %3, %2
|
|
||||||
por %1, %3
|
|
||||||
%endmacro
|
|
||||||
|
|
||||||
%macro CLIPD_MMX 3-4 ; src/dst, min, max, tmp
|
|
||||||
PMINSD_MMX %1, %3, %4
|
|
||||||
PMAXSD_MMX %1, %2, %4
|
|
||||||
%endmacro
|
|
||||||
|
|
||||||
%macro CLIPD_SSE2 3-4 ; src/dst, min (float), max (float), unused
|
|
||||||
cvtdq2ps %1, %1
|
|
||||||
minps %1, %3
|
|
||||||
maxps %1, %2
|
|
||||||
cvtps2dq %1, %1
|
|
||||||
%endmacro
|
|
||||||
|
|
||||||
%macro CLIPD_SSE41 3-4 ; src/dst, min, max, unused
|
|
||||||
pminsd %1, %3
|
|
||||||
pmaxsd %1, %2
|
|
||||||
%endmacro
|
|
||||||
|
|
||||||
%macro SPLATD_MMX 1
|
%macro SPLATD_MMX 1
|
||||||
punpckldq %1, %1
|
punpckldq %1, %1
|
||||||
%endmacro
|
%endmacro
|
||||||
|
@@ -540,3 +540,36 @@
|
|||||||
pmaxsw %1, %2
|
pmaxsw %1, %2
|
||||||
pminsw %1, %3
|
pminsw %1, %3
|
||||||
%endmacro
|
%endmacro
|
||||||
|
|
||||||
|
%macro PMINSD_MMX 3 ; dst, src, tmp
|
||||||
|
mova %3, %2
|
||||||
|
pcmpgtd %3, %1
|
||||||
|
pxor %1, %2
|
||||||
|
pand %1, %3
|
||||||
|
pxor %1, %2
|
||||||
|
%endmacro
|
||||||
|
|
||||||
|
%macro PMAXSD_MMX 3 ; dst, src, tmp
|
||||||
|
mova %3, %1
|
||||||
|
pcmpgtd %3, %2
|
||||||
|
pand %1, %3
|
||||||
|
pandn %3, %2
|
||||||
|
por %1, %3
|
||||||
|
%endmacro
|
||||||
|
|
||||||
|
%macro CLIPD_MMX 3-4 ; src/dst, min, max, tmp
|
||||||
|
PMINSD_MMX %1, %3, %4
|
||||||
|
PMAXSD_MMX %1, %2, %4
|
||||||
|
%endmacro
|
||||||
|
|
||||||
|
%macro CLIPD_SSE2 3-4 ; src/dst, min (float), max (float), unused
|
||||||
|
cvtdq2ps %1, %1
|
||||||
|
minps %1, %3
|
||||||
|
maxps %1, %2
|
||||||
|
cvtps2dq %1, %1
|
||||||
|
%endmacro
|
||||||
|
|
||||||
|
%macro CLIPD_SSE41 3-4 ; src/dst, min, max, unused
|
||||||
|
pminsd %1, %3
|
||||||
|
pmaxsd %1, %2
|
||||||
|
%endmacro
|
||||||
|
Reference in New Issue
Block a user