summaryrefslogtreecommitdiffstats
path: root/libavcodec/x86
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-04-27 19:54:32 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-04-27 20:08:37 +0200
commit52a81cd0e413eb54f8d96a79d84f588fe01cc0cc (patch)
tree6beaa94bc0a88fed79c09349a8fb8f3267807a55 /libavcodec/x86
parentafd2371d5c53e197128719196e7586d653ce931b (diff)
downloadffmpeg-streaming-52a81cd0e413eb54f8d96a79d84f588fe01cc0cc.zip
ffmpeg-streaming-52a81cd0e413eb54f8d96a79d84f588fe01cc0cc.tar.gz
Fix add_paeth_prediction_mmx for rgb48
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/x86')
-rw-r--r--libavcodec/x86/png_mmx.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libavcodec/x86/png_mmx.c b/libavcodec/x86/png_mmx.c
index 6e4c06c..3b28412 100644
--- a/libavcodec/x86/png_mmx.c
+++ b/libavcodec/x86/png_mmx.c
@@ -55,8 +55,11 @@ static void add_bytes_l2_mmx(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w)
#define PAETH(cpu, abs3)\
static void add_paeth_prediction_##cpu(uint8_t *dst, uint8_t *src, uint8_t *top, int w, int bpp)\
{\
- x86_reg i = -bpp;\
- x86_reg end = w-3;\
+ x86_reg i, end;\
+ if(bpp>4) add_paeth_prediction_##cpu(dst+bpp/2, src+bpp/2, top+bpp/2, w-bpp/2, -bpp);\
+ if(bpp<0) bpp=-bpp;\
+ i= -bpp;\
+ end = w-3;\
__asm__ volatile(\
"pxor %%mm7, %%mm7 \n"\
"movd (%1,%0), %%mm0 \n"\
OpenPOWER on IntegriCloud