summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/xwddec.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libavcodec/xwddec.c b/libavcodec/xwddec.c
index 387b697491..c43724e538 100644
--- a/libavcodec/xwddec.c
+++ b/libavcodec/xwddec.c
@@ -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: