[FFmpeg-devel] [PATCH 2/2] targa: Do not read colormap from files without one.
Reimar Döffinger
Reimar.Doeffinger at gmx.de
Mon Jun 27 19:19:29 CEST 2011
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
---
libavcodec/targa.c | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/libavcodec/targa.c b/libavcodec/targa.c
index 7418f92..88b34f3 100644
--- a/libavcodec/targa.c
+++ b/libavcodec/targa.c
@@ -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);
--
1.7.5.4
More information about the ffmpeg-devel
mailing list