diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-09-06 17:28:36 +0400 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-09-06 17:28:36 +0400 |
commit | dc43ad6d1a857229bb71e755a44a9765321908e1 (patch) | |
tree | 38f6cc8aee17664937f533a5b68104f21b1ae8cd /libavcodec/pngdec.c | |
parent | 738219c921d6037f8acfcde1c567c3b16fb625fe (diff) |
pngdec: Fix interlaced 1bpp
Fixes Ticket214
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/pngdec.c')
-rw-r--r-- | libavcodec/pngdec.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c index 0b6a62dc1d..7ac20aef43 100644 --- a/libavcodec/pngdec.c +++ b/libavcodec/pngdec.c @@ -57,14 +57,12 @@ static void png_put_interlaced_row(uint8_t *dst, int width, dsp_mask = png_pass_dsp_mask[pass]; switch(bits_per_pixel) { case 1: - /* we must initialize the line to zero before writing to it */ - if (pass == 0) - memset(dst, 0, (width + 7) >> 3); src_x = 0; for(x = 0; x < width; x++) { j = (x & 7); if ((dsp_mask << j) & 0x80) { b = (src[src_x >> 3] >> (7 - (src_x & 7))) & 1; + dst[x >> 3] &= 0xFF7F>>j; dst[x >> 3] |= b << (7 - j); } if ((mask << j) & 0x80) |