From: Michael Niedermayer Date: Sun, 7 Dec 2014 11:28:37 +0000 (+0100) Subject: avcodec/x86/pngdsp: fix off by 1 error X-Git-Tag: android-x86-6.0-r1~1535 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=ed9be7dd470cd32fdb5baa886b048266f4cba28f;p=android-x86%2Fexternal-ffmpeg.git avcodec/x86/pngdsp: fix off by 1 error This fixes artifacts in the last pixel of rows with some widths and pixel formats Found-by: Dominique Leroux Tested-by: Dominique Leroux Signed-off-by: Michael Niedermayer --- diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c index 60acd3f6a6..bc32eab211 100644 --- a/libavcodec/pngdec.c +++ b/libavcodec/pngdec.c @@ -274,7 +274,7 @@ static void png_filter_row(PNGDSPContext *dsp, uint8_t *dst, int filter_type, * the last pixel with bpp=3 */ int w = bpp == 4 ? size : size - 3; if (w > i) { - dsp->add_paeth_prediction(dst + i, src + i, last + i, w - i, bpp); + dsp->add_paeth_prediction(dst + i, src + i, last + i, size - i, bpp); i = w; } } diff --git a/libavcodec/x86/pngdsp.asm b/libavcodec/x86/pngdsp.asm index 678a032521..7bd1ab5c07 100644 --- a/libavcodec/x86/pngdsp.asm +++ b/libavcodec/x86/pngdsp.asm @@ -157,7 +157,7 @@ cglobal add_png_paeth_prediction, 5, 7, %1, dst, src, top, w, bpp, end, cntr movh [dstq], m3 add dstq, bppq cmp dstq, endq - jle .loop + jl .loop mov dstq, [rsp] dec cntrq