Browse Source

avcodec/huffyuvdsp : reorganize add_int16 asm

tags/n4.0
Martin Vignali 8 years ago
parent
commit
6955e8842e
1 changed files with 17 additions and 6 deletions
  1. +17
    -6
      libavcodec/x86/huffyuvdsp.asm

+ 17
- 6
libavcodec/x86/huffyuvdsp.asm View File

@@ -26,21 +26,32 @@ SECTION .text

%include "libavcodec/x86/huffyuvdsp_template.asm"

%if ARCH_X86_32
INIT_MMX mmx
cglobal add_int16, 4,4,5, dst, src, mask, w, tmp
INT16_LOOP a, add
%endif
;------------------------------------------------------------------------------
; void (*add_int16)(uint16_t *dst, const uint16_t *src, unsigned mask, int w);
;------------------------------------------------------------------------------

INIT_XMM sse2
%macro ADD_INT16 0
cglobal add_int16, 4,4,5, dst, src, mask, w, tmp
%if mmsize > 8
test srcq, mmsize-1
jnz .unaligned
test dstq, mmsize-1
jnz .unaligned
%endif
INT16_LOOP a, add
%if mmsize > 8
.unaligned:
INT16_LOOP u, add
%endif
%endmacro

%if ARCH_X86_32
INIT_MMX mmx
ADD_INT16
%endif

INIT_XMM sse2
ADD_INT16

; void add_hfyu_left_pred_bgr32(uint8_t *dst, const uint8_t *src,
; intptr_t w, uint8_t *left)


Loading…
Cancel
Save