|
|
@ -251,19 +251,19 @@ static int gif_read_image(GifState *s) |
|
|
|
return -EINVAL; |
|
|
|
return -EINVAL; |
|
|
|
|
|
|
|
|
|
|
|
/* build the palette */ |
|
|
|
/* build the palette */ |
|
|
|
n = (1 << bits_per_pixel); |
|
|
|
n = (1 << bits_per_pixel); |
|
|
|
spal = palette; |
|
|
|
spal = palette; |
|
|
|
for(i = 0; i < n; i++) { |
|
|
|
for(i = 0; i < n; i++) { |
|
|
|
s->image_palette[i] = (0xff << 24) | |
|
|
|
s->image_palette[i] = (0xff << 24) | |
|
|
|
(spal[0] << 16) | (spal[1] << 8) | (spal[2]); |
|
|
|
(spal[0] << 16) | (spal[1] << 8) | (spal[2]); |
|
|
|
spal += 3; |
|
|
|
spal += 3; |
|
|
|
} |
|
|
|
} |
|
|
|
for(; i < 256; i++) |
|
|
|
for(; i < 256; i++) |
|
|
|
s->image_palette[i] = (0xff << 24); |
|
|
|
s->image_palette[i] = (0xff << 24); |
|
|
|
/* handle transparency */ |
|
|
|
/* handle transparency */ |
|
|
|
if (s->transparent_color_index >= 0) |
|
|
|
if (s->transparent_color_index >= 0) |
|
|
|
s->image_palette[s->transparent_color_index] = 0; |
|
|
|
s->image_palette[s->transparent_color_index] = 0; |
|
|
|
line = NULL; |
|
|
|
line = NULL; |
|
|
|
|
|
|
|
|
|
|
|
/* now get the image data */ |
|
|
|
/* now get the image data */ |
|
|
|
code_size = bytestream_get_byte(&s->bytestream); |
|
|
|
code_size = bytestream_get_byte(&s->bytestream); |
|
|
@ -276,7 +276,7 @@ static int gif_read_image(GifState *s) |
|
|
|
pass = 0; |
|
|
|
pass = 0; |
|
|
|
y1 = 0; |
|
|
|
y1 = 0; |
|
|
|
for (y = 0; y < height; y++) { |
|
|
|
for (y = 0; y < height; y++) { |
|
|
|
GLZWDecode(s, ptr, width); |
|
|
|
GLZWDecode(s, ptr, width); |
|
|
|
if (is_interleaved) { |
|
|
|
if (is_interleaved) { |
|
|
|
switch(pass) { |
|
|
|
switch(pass) { |
|
|
|
default: |
|
|
|
default: |
|
|
|