pngdec: Do not use SIMD paeth prediction for bpp=2

Fixes decoding of basi4a08.png

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2012-01-19 20:50:44 +01:00
parent fd8a8373aa
commit d1c48025a7

View File

@ -228,7 +228,7 @@ static void png_filter_row(PNGDecContext *s, uint8_t *dst, int filter_type,
p = last[i]; p = last[i];
dst[i] = p + src[i]; dst[i] = p + src[i];
} }
if(bpp > 1 && size > 4) { if(bpp > 2 && size > 4) {
// would write off the end of the array if we let it process the last pixel with bpp=3 // 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==4 ? size : size-3;
s->add_paeth_prediction(dst+i, src+i, last+i, w-i, bpp); s->add_paeth_prediction(dst+i, src+i, last+i, w-i, bpp);