[FFmpeg-cvslog] Do not try to read 16bit gray png files with alpha channel.

Carl Eugen Hoyos git at videolan.org
Sat Nov 12 20:56:59 CET 2011


ffmpeg | branch: master | Carl Eugen Hoyos <cehoyos at ag.or.at> | Sat Nov 12 19:30:27 2011 +0100| [0c5fd6372e6c257912d7ae64cbfc4d8541f0452f] | committer: Carl Eugen Hoyos

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

FFmpeg does not support gray16a.
Fixes the crash in ticket #644.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0c5fd6372e6c257912d7ae64cbfc4d8541f0452f
---

 libavcodec/pngdec.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c
index c8688d6..609b21e 100644
--- a/libavcodec/pngdec.c
+++ b/libavcodec/pngdec.c
@@ -498,7 +498,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