Support 8bpp grayscale Sun Rasterfile images.
authorPiotr Bandurski <ami_stuff@o2.pl>
Tue, 3 Jan 2012 12:24:50 +0000 (13:24 +0100)
committerCarl Eugen Hoyos <cehoyos@ag.or.at>
Tue, 3 Jan 2012 12:24:50 +0000 (13:24 +0100)
Fixes ticket #865.

libavcodec/sunrast.c

index 3e1cea6..c33265d 100644 (file)
@@ -93,7 +93,7 @@ static int sunrast_decode_frame(AVCodecContext *avctx, void *data,
             avctx->pix_fmt = PIX_FMT_MONOWHITE;
             break;
         case 8:
-            avctx->pix_fmt = PIX_FMT_PAL8;
+            avctx->pix_fmt = maplength ? PIX_FMT_PAL8 : PIX_FMT_GRAY8;
             break;
         case 24:
             avctx->pix_fmt = (type == RT_FORMAT_RGB) ? PIX_FMT_RGB24 : PIX_FMT_BGR24;
@@ -121,7 +121,7 @@ static int sunrast_decode_frame(AVCodecContext *avctx, void *data,
     if (depth != 8 && maplength) {
         av_log(avctx, AV_LOG_WARNING, "useless colormap found or file is corrupted, trying to recover\n");
 
-    } else if (depth == 8) {
+    } else if (maplength) {
         unsigned int len = maplength / 3;
 
         if (!maplength) {