16-bit Interplay video does not need palette control
authorKostya Shishkov <kostya.shishkov@gmail.com>
Sun, 27 Dec 2009 14:07:21 +0000 (14:07 +0000)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Sun, 27 Dec 2009 14:07:21 +0000 (14:07 +0000)
Originally committed as revision 20936 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/interplayvideo.c

index e56b924..8992a1d 100644 (file)
@@ -1017,13 +1017,13 @@ static av_cold int ipvideo_decode_init(AVCodecContext *avctx)
 
     s->avctx = avctx;
 
-    if (s->avctx->palctrl == NULL) {
+    s->is_16bpp = avctx->bits_per_coded_sample == 16;
+    avctx->pix_fmt = s->is_16bpp ? PIX_FMT_RGB555 : PIX_FMT_PAL8;
+    if (!s->is_16bpp && s->avctx->palctrl == NULL) {
         av_log(avctx, AV_LOG_ERROR, " Interplay video: palette expected.\n");
         return -1;
     }
 
-    s->is_16bpp = avctx->bits_per_coded_sample == 16;
-    avctx->pix_fmt = s->is_16bpp ? PIX_FMT_RGB555 : PIX_FMT_PAL8;
     dsputil_init(&s->dsp, avctx);
 
     /* decoding map contains 4 bits of information per 8x8 block */