This fixes artifacts in the last pixel of rows with some widths and pixel 
formats

Found-by: Dominique Leroux <dominique.ler...@autodesk.com>
Signed-off-by: Michael Niedermayer <michae...@gmx.at>
---
 libavcodec/pngdec.c       |    2 +-
 libavcodec/x86/pngdsp.asm |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c
index e6b7593..293c7db 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 678a032..7bd1ab5 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
-- 
1.7.9.5

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to