Do not try to read 16bit gray png files with alpha channel.

FFmpeg does not support gray16a.
Fixes the crash in ticket #644.
This commit is contained in:
Carl Eugen Hoyos 2011-11-12 19:30:27 +01:00
parent 32dd67162a
commit 0c5fd6372e
1 changed files with 2 additions and 1 deletions

View File

@ -498,7 +498,8 @@ static int decode_frame(AVCodecContext *avctx,
avctx->pix_fmt = PIX_FMT_MONOBLACK; avctx->pix_fmt = PIX_FMT_MONOBLACK;
} else if (s->color_type == PNG_COLOR_TYPE_PALETTE) { } else if (s->color_type == PNG_COLOR_TYPE_PALETTE) {
avctx->pix_fmt = PIX_FMT_PAL8; avctx->pix_fmt = PIX_FMT_PAL8;
} else if (s->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) { } else if (s->bit_depth == 8 &&
s->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) {
avctx->pix_fmt = PIX_FMT_GRAY8A; avctx->pix_fmt = PIX_FMT_GRAY8A;
} else { } else {
goto fail; goto fail;