diff options
Diffstat (limited to 'libavcodec/x86/huffyuvdsp_mmx.c')
-rw-r--r-- | libavcodec/x86/huffyuvdsp_mmx.c | 32 |
1 files changed, 1 insertions, 31 deletions
diff --git a/libavcodec/x86/huffyuvdsp_mmx.c b/libavcodec/x86/huffyuvdsp_mmx.c index 59422107d3..ee6ec91287 100644 --- a/libavcodec/x86/huffyuvdsp_mmx.c +++ b/libavcodec/x86/huffyuvdsp_mmx.c @@ -22,9 +22,7 @@ #include "libavutil/x86/asm.h" #include "huffyuvdsp.h" -#if HAVE_INLINE_ASM - -#if HAVE_7REGS +#if HAVE_INLINE_ASM && HAVE_7REGS void ff_add_hfyu_median_pred_cmov(uint8_t *dst, const uint8_t *top, const uint8_t *diff, int w, int *left, int *left_top) @@ -61,31 +59,3 @@ void ff_add_hfyu_median_pred_cmov(uint8_t *dst, const uint8_t *top, *left_top = tl; } #endif - -void ff_add_bytes_mmx(uint8_t *dst, uint8_t *src, int w) -{ - x86_reg i = 0; - - __asm__ volatile ( - "jmp 2f \n\t" - "1: \n\t" - "movq (%1, %0), %%mm0 \n\t" - "movq (%2, %0), %%mm1 \n\t" - "paddb %%mm0, %%mm1 \n\t" - "movq %%mm1, (%2, %0) \n\t" - "movq 8(%1, %0), %%mm0 \n\t" - "movq 8(%2, %0), %%mm1 \n\t" - "paddb %%mm0, %%mm1 \n\t" - "movq %%mm1, 8(%2, %0) \n\t" - "add $16, %0 \n\t" - "2: \n\t" - "cmp %3, %0 \n\t" - "js 1b \n\t" - : "+r" (i) - : "r" (src), "r" (dst), "r" ((x86_reg) w - 15)); - - for (; i < w; i++) - dst[i + 0] += src[i + 0]; -} - -#endif /* HAVE_INLINE_ASM */ |