|
|
|
@ -30,9 +30,11 @@ pw_1023: times 8 dw 1023 |
|
|
|
|
|
|
|
|
|
SECTION .text |
|
|
|
|
|
|
|
|
|
;------------------------------------------------------------------------------------------- |
|
|
|
|
; 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, |
|
|
|
|
; 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 |
|
|
|
|
movsxdifnidn wq, wd |
|
|
|
@ -82,6 +84,11 @@ INIT_YMM avx2 |
|
|
|
|
RESTORE_RGB_PLANES |
|
|
|
|
%endif |
|
|
|
|
|
|
|
|
|
;------------------------------------------------------------------------------------------- |
|
|
|
|
; void restore_rgb_planes10(uint16_t *src_r, uint16_t *src_g, uint16_t *src_b, |
|
|
|
|
; ptrdiff_t linesize_r, ptrdiff_t linesize_g, ptrdiff_t linesize_b, |
|
|
|
|
; int width, int height) |
|
|
|
|
;------------------------------------------------------------------------------------------- |
|
|
|
|
%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 |
|
|
|
|
shl wd, 1 |
|
|
|
|