From 33292c07fe19f959d9ea7ad1c24de427da110ba2 Mon Sep 17 00:00:00 2001 From: Donny Yang Date: Tue, 2 Jun 2015 15:49:26 +0000 Subject: [PATCH] avcodec/apng: Add support for blending with GRAY8A pixel format Signed-off-by: Donny Yang Reviewed-by: Paul B Mahol Signed-off-by: Michael Niedermayer --- libavcodec/pngdec.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c index fa69c87732..88b0152ece 100644 --- a/libavcodec/pngdec.c +++ b/libavcodec/pngdec.c @@ -896,7 +896,8 @@ static int handle_p_frame_apng(AVCodecContext *avctx, PNGDecContext *s, return AVERROR(ENOMEM); if (s->blend_op == APNG_BLEND_OP_OVER && - avctx->pix_fmt != AV_PIX_FMT_RGBA) { + avctx->pix_fmt != AV_PIX_FMT_RGBA && + avctx->pix_fmt != AV_PIX_FMT_GRAY8A) { avpriv_request_sample(avctx, "Blending with pixel format %s", av_get_pix_fmt_name(avctx->pix_fmt)); return AVERROR_PATCHWELCOME; @@ -942,6 +943,11 @@ static int handle_p_frame_apng(AVCodecContext *avctx, PNGDecContext *s, foreground_alpha = foreground[3]; background_alpha = background[3]; break; + + case AV_PIX_FMT_GRAY8A: + foreground_alpha = foreground[1]; + background_alpha = background[1]; + break; } if (foreground_alpha == 0)