[FFmpeg-cvslog] Do not try to read 16bit gray png files with alpha channel.
Carl Eugen Hoyos
git at videolan.org
Tue Nov 22 02:38:10 CET 2011
ffmpeg | branch: oldabi | Carl Eugen Hoyos <cehoyos at ag.or.at> | Sat Nov 12 19:30:27 2011 +0100| [00d35e82b2500f69db9d482db76e8c2f53521f2d] | committer: Michael Niedermayer
Do not try to read 16bit gray png files with alpha channel.
FFmpeg does not support gray16a.
Fixes the crash in ticket #644.
(cherry picked from commit 0c5fd6372e6c257912d7ae64cbfc4d8541f0452f)
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=00d35e82b2500f69db9d482db76e8c2f53521f2d
---
libavcodec/pngdec.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c
index 05ba027..f8ebb1b 100644
--- a/libavcodec/pngdec.c
+++ b/libavcodec/pngdec.c
@@ -471,7 +471,8 @@ static int decode_frame(AVCodecContext *avctx,
avctx->pix_fmt = PIX_FMT_MONOBLACK;
} else if (s->color_type == PNG_COLOR_TYPE_PALETTE) {
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;
} else {
goto fail;
More information about the ffmpeg-cvslog
mailing list