Commit 90cbbbc1 authored by Reimar Döffinger's avatar Reimar Döffinger

targa: Do not read colormap from files without one.

This is necessary because some programs writing TGA files forget
to initialize parts of the header they don't care about, resulting
in "random" data there.
The new behaviour is consistent with other programs, e.g. tgatoppm.
Signed-off-by: 's avatarReimar Döffinger <Reimar.Doeffinger@gmx.de>
parent efdb198e
......@@ -109,17 +109,22 @@ static int decode_frame(AVCodecContext *avctx,
AVFrame * const p= (AVFrame*)&s->picture;
uint8_t *dst;
int stride;
int idlen, compr, y, w, h, bpp, flags;
int idlen, pal, compr, y, w, h, bpp, flags;
int first_clr, colors, csize;
/* parse image header */
CHECK_BUFFER_SIZE(buf, buf_end, 18, "header");
idlen = *buf++;
buf++; /* pal */
pal = *buf++;
compr = *buf++;
first_clr = bytestream_get_le16(&buf);
colors = bytestream_get_le16(&buf);
csize = *buf++;
if (!pal && (first_clr || colors || csize)) {
av_log(avctx, AV_LOG_WARNING, "File without colormap has colormap information set.\n");
// specification says we should ignore those value in this case
first_clr = colors = csize = 0;
}
buf += 2; /* x */
y = bytestream_get_le16(&buf);
w = bytestream_get_le16(&buf);
......
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