diff options
author | Justin Ruggles <justin.ruggles@gmail.com> | 2013-09-28 12:20:19 -0400 |
---|---|---|
committer | Justin Ruggles <justin.ruggles@gmail.com> | 2014-04-12 14:49:07 -0400 |
commit | 58bc38a5f224d29b79338200459792c765c25fd5 (patch) | |
tree | 52aa69a7ab30ca09a7cba5cd8580a4edf7b57847 | |
parent | bf2064f046af64c59a416c814474a39b0a457569 (diff) | |
download | ffmpeg-58bc38a5f224d29b79338200459792c765c25fd5.tar.gz |
tiffdec: use correct data type for palette entries and set alpha to 0xFF
-rw-r--r-- | libavcodec/tiff.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/libavcodec/tiff.c b/libavcodec/tiff.c index 9f8bc60b48..382f72ced2 100644 --- a/libavcodec/tiff.c +++ b/libavcodec/tiff.c @@ -321,7 +321,7 @@ static int tiff_decode_tag(TiffContext *s, const uint8_t *start, const uint8_t *buf, const uint8_t *end_buf) { unsigned tag, type, count, off, value = 0; - int i, j; + int i; uint32_t *pal; const uint8_t *rp, *gp, *bp; @@ -527,10 +527,11 @@ static int tiff_decode_tag(TiffContext *s, const uint8_t *start, bp = buf + count / 3 * off * 2; off = (type_sizes[type] - 1) << 3; for (i = 0; i < count / 3; i++) { - j = (tget(&rp, type, s->le) >> off) << 16; - j |= (tget(&gp, type, s->le) >> off) << 8; - j |= tget(&bp, type, s->le) >> off; - pal[i] = j; + uint32_t p = 0xFF000000; + p |= (tget(&rp, type, s->le) >> off) << 16; + p |= (tget(&gp, type, s->le) >> off) << 8; + p |= tget(&bp, type, s->le) >> off; + pal[i] = p; } s->palette_is_set = 1; break; |