diff --git a/libavcodec/xwddec.c b/libavcodec/xwddec.c index 2879358aa4807faba9d8001560ef9bc09fae102b..e6d4df4797af85b58c06b26521c781f01879efa3 100644 --- a/libavcodec/xwddec.c +++ b/libavcodec/xwddec.c @@ -157,10 +157,13 @@ 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) return AVERROR_INVALIDDATA; - if (pixdepth == 1) + if (pixdepth == 1) { avctx->pix_fmt = PIX_FMT_MONOWHITE; + } else if (pixdepth == 8) { + avctx->pix_fmt = PIX_FMT_GRAY8; + } break; case XWD_STATIC_COLOR: case XWD_PSEUDO_COLOR: