summaryrefslogtreecommitdiff
path: root/libavcodec/pngdec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-09-06 15:28:36 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-09-06 15:28:36 +0200
commitdc43ad6d1a857229bb71e755a44a9765321908e1 (patch)
tree38f6cc8aee17664937f533a5b68104f21b1ae8cd /libavcodec/pngdec.c
parent738219c921d6037f8acfcde1c567c3b16fb625fe (diff)
downloadffmpeg-dc43ad6d1a857229bb71e755a44a9765321908e1.tar.gz
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.c4
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)