Browse Source

avcodec/x86/utvideodsp : make macro for func

tags/n4.0
Martin Vignali 8 years ago
parent
commit
48b7c45b0c
1 changed files with 10 additions and 2 deletions
  1. +10
    -2
      libavcodec/x86/utvideodsp.asm

+ 10
- 2
libavcodec/x86/utvideodsp.asm View File

@@ -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…
Cancel
Save