avcodec/x86/utvideodsp : make macro for func
This commit is contained in:
parent
6a7eb65e1b
commit
48b7c45b0c
@ -29,11 +29,10 @@ pw_1023: times 8 dw 1023
|
|||||||
|
|
||||||
SECTION .text
|
SECTION .text
|
||||||
|
|
||||||
INIT_XMM sse2
|
|
||||||
|
|
||||||
; void restore_rgb_planes(uint8_t *src_r, uint8_t *src_g, uint8_t *src_b,
|
; void restore_rgb_planes(uint8_t *src_r, uint8_t *src_g, uint8_t *src_b,
|
||||||
; ptrdiff_t linesize_r, ptrdiff_t linesize_g, ptrdiff_t linesize_b,
|
; ptrdiff_t linesize_r, ptrdiff_t linesize_g, ptrdiff_t linesize_b,
|
||||||
; int width, int height)
|
; int width, int height)
|
||||||
|
%macro RESTORE_RGB_PLANES 0
|
||||||
cglobal restore_rgb_planes, 7 + ARCH_X86_64, 7 + ARCH_X86_64 * 2, 4, src_r, src_g, src_b, linesize_r, linesize_g, linesize_b, w, h, x
|
cglobal restore_rgb_planes, 7 + ARCH_X86_64, 7 + ARCH_X86_64 * 2, 4, src_r, src_g, src_b, linesize_r, linesize_g, linesize_b, w, h, x
|
||||||
movsxdifnidn wq, wd
|
movsxdifnidn wq, wd
|
||||||
add src_rq, wq
|
add src_rq, wq
|
||||||
@ -68,7 +67,12 @@ DEFINE_ARGS src_r, src_g, src_b, linesize_r, linesize_g, linesize_b, x
|
|||||||
sub hd, 1
|
sub hd, 1
|
||||||
jg .nextrow
|
jg .nextrow
|
||||||
REP_RET
|
REP_RET
|
||||||
|
%endmacro
|
||||||
|
|
||||||
|
INIT_XMM sse2
|
||||||
|
RESTORE_RGB_PLANES
|
||||||
|
|
||||||
|
%macro RESTORE_RGB_PLANES10 0
|
||||||
cglobal restore_rgb_planes10, 7 + ARCH_X86_64, 7 + ARCH_X86_64 * 2, 5, src_r, src_g, src_b, linesize_r, linesize_g, linesize_b, w, h, x
|
cglobal restore_rgb_planes10, 7 + ARCH_X86_64, 7 + ARCH_X86_64 * 2, 5, src_r, src_g, src_b, linesize_r, linesize_g, linesize_b, w, h, x
|
||||||
shl wd, 1
|
shl wd, 1
|
||||||
shl linesize_rq, 1
|
shl linesize_rq, 1
|
||||||
@ -109,3 +113,7 @@ DEFINE_ARGS src_r, src_g, src_b, linesize_r, linesize_g, linesize_b, x
|
|||||||
sub hd, 1
|
sub hd, 1
|
||||||
jg .nextrow
|
jg .nextrow
|
||||||
REP_RET
|
REP_RET
|
||||||
|
%endmacro
|
||||||
|
|
||||||
|
INIT_XMM sse2
|
||||||
|
RESTORE_RGB_PLANES10
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user