diff options
author | Martin Vignali <martin.vignali@gmail.com> | 2017-11-21 09:16:18 +0100 |
---|---|---|
committer | Martin Vignali <martin.vignali@gmail.com> | 2017-11-21 09:42:03 +0100 |
commit | d189a426fa0e7b8a7bb62d797ed490ece868da28 (patch) | |
tree | 75317ae7f7663a385e44b840f79ce37ab1c45247 /libavcodec/x86/huffyuvencdsp.asm | |
parent | e641c94190b6bc8a3278dd727cdfc8c6d9aca112 (diff) | |
download | ffmpeg-d189a426fa0e7b8a7bb62d797ed490ece868da28.tar.gz |
avcodec/huffyuvdspenc : reorganize diff_int16
Diffstat (limited to 'libavcodec/x86/huffyuvencdsp.asm')
-rw-r--r-- | libavcodec/x86/huffyuvencdsp.asm | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/libavcodec/x86/huffyuvencdsp.asm b/libavcodec/x86/huffyuvencdsp.asm index 6a7f1a0f49..3f5a7df7ff 100644 --- a/libavcodec/x86/huffyuvencdsp.asm +++ b/libavcodec/x86/huffyuvencdsp.asm @@ -29,26 +29,36 @@ SECTION .text %include "libavcodec/x86/huffyuvdsp_template.asm" +;------------------------------------------------------------------------------ ; void ff_diff_int16(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, ; unsigned mask, int w); +;------------------------------------------------------------------------------ -%if ARCH_X86_32 -INIT_MMX mmx -cglobal diff_int16, 5,5,5, dst, src1, src2, mask, w, tmp - INT16_LOOP a, sub -%endif - -INIT_XMM sse2 +%macro DIFF_INT16 0 cglobal diff_int16, 5,5,5, dst, src1, src2, mask, w, tmp +%if mmsize > 8 test src1q, mmsize-1 jnz .unaligned test src2q, mmsize-1 jnz .unaligned test dstq, mmsize-1 jnz .unaligned +%endif INT16_LOOP a, sub +%if mmsize > 8 .unaligned: INT16_LOOP u, sub +%endif +%endmacro + +%if ARCH_X86_32 +INIT_MMX mmx +DIFF_INT16 +%endif + +INIT_XMM sse2 +DIFF_INT16 + INIT_MMX mmxext cglobal sub_hfyu_median_pred_int16, 7,7,0, dst, src1, src2, mask, w, left, left_top |