[SCM] libav/experimental: tiffdec: use correct data type for palette entries and set alpha to 0xFF

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Aug 10 16:02:48 UTC 2014


The following commit has been merged in the experimental branch:
commit 58bc38a5f224d29b79338200459792c765c25fd5
Author: Justin Ruggles <justin.ruggles at gmail.com>
Date:   Sat Sep 28 12:20:19 2013 -0400

    tiffdec: use correct data type for palette entries and set alpha to 0xFF

diff --git a/libavcodec/tiff.c b/libavcodec/tiff.c
index 9f8bc60b..382f72c 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;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list