xwddec: support 8bpp grayscale
authorPiotr Bandurski <ami_stuff@o2.pl>
Sun, 24 Jun 2012 11:34:02 +0000 (11:34 +0000)
committerDiego Biurrun <diego@biurrun.de>
Sun, 13 Aug 2017 17:58:40 +0000 (19:58 +0200)
(cherry picked from commit b9c94e826e7551027754ecfa60e3e487e0c28fcb)
Signed-off-by: Diego Biurrun <diego@biurrun.de>
libavcodec/xwddec.c

index 387b697..c43724e 100644 (file)
@@ -155,10 +155,12 @@ static int xwd_decode_frame(AVCodecContext *avctx, void *data,
     switch (vclass) {
     case XWD_STATIC_GRAY:
     case XWD_GRAY_SCALE:
-        if (bpp != 1)
+        if (bpp != 1 && bpp != 8 || bpp != pixdepth)
             return AVERROR_INVALIDDATA;
         if (pixdepth == 1)
             avctx->pix_fmt = AV_PIX_FMT_MONOWHITE;
+        else if (pixdepth == 8)
+            avctx->pix_fmt = AV_PIX_FMT_GRAY8;
         break;
     case XWD_STATIC_COLOR:
     case XWD_PSEUDO_COLOR: