Browse code

Support decoding of targa files with 32bit palette.

Carl Eugen Hoyos authored on 2012/10/09 08:58:48
Showing 1 changed files
... ...
@@ -181,6 +181,7 @@ static int decode_frame(AVCodecContext *avctx,
181 181
             return -1;
182 182
         }
183 183
         switch (csize) {
184
+        case 32: pal_sample_size = 4; break;
184 185
         case 24: pal_sample_size = 3; break;
185 186
         case 16:
186 187
         case 15: pal_sample_size = 2; break;
... ...
@@ -201,6 +202,10 @@ static int decode_frame(AVCodecContext *avctx,
201 201
                 return AVERROR_INVALIDDATA;
202 202
             }
203 203
             switch (pal_sample_size) {
204
+            case 4:
205
+                for (t = 0; t < colors; t++)
206
+                    *pal++ = bytestream2_get_le32u(&s->gb);
207
+                break;
204 208
             case 3:
205 209
                 /* RGB24 */
206 210
                 for (t = 0; t < colors; t++)