avcodec/pngdec: handle 4 more bytes with SIMD for RGB64 in paeth prediction
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 7 Dec 2014 11:36:10 +0000 (12:36 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 8 Dec 2014 17:24:58 +0000 (18:24 +0100)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/pngdec.c

index bc32eab..297e631 100644 (file)
@@ -272,7 +272,8 @@ static void png_filter_row(PNGDSPContext *dsp, uint8_t *dst, int filter_type,
         if (bpp > 2 && size > 4) {
             /* would write off the end of the array if we let it process
              * the last pixel with bpp=3 */
-            int w = bpp == 4 ? size : size - 3;
+            int w = (bpp & 3) ? size - 3 : size;
+
             if (w > i) {
                 dsp->add_paeth_prediction(dst + i, src + i, last + i, size - i, bpp);
                 i = w;