Commit 0c9cba24 authored by Michael Niedermayer's avatar Michael Niedermayer

pngdec: implement 4bpp interlaced

Fixes Ticket435
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent dcabb3d6
......@@ -83,6 +83,20 @@ static void png_put_interlaced_row(uint8_t *dst, int width,
src_x++;
}
break;
case 4:
src_x = 0;
for(x = 0; x < width; x++) {
int j2 = 4*(x&1);
j = (x & 7);
if ((dsp_mask << j) & 0x80) {
b = (src[src_x >> 1] >> (4 - 4*(src_x & 1))) & 15;
dst[x >> 1] &= 0xFF0F>>j2;
dst[x >> 1] |= b << (4 - j2);
}
if ((mask << j) & 0x80)
src_x++;
}
break;
default:
bpp = bits_per_pixel >> 3;
d = dst;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment