On 3 June 2015 at 03:38, Paul B Mahol <one...@gmail.com> wrote: > Dana 2. 6. 2015. 17:50 osoba "Donny Yang" <w...@kota.moe> napisala je: > > > > Signed-off-by: Donny Yang <w...@kota.moe> > > --- > > libavcodec/pngdec.c | 8 +++++++- > > 1 file changed, 7 insertions(+), 1 deletion(-) > > > > diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c > > index 1f5c433..1667530 100644 > > --- a/libavcodec/pngdec.c > > +++ b/libavcodec/pngdec.c > > @@ -891,7 +891,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; > > @@ -935,6 +936,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) > > -- > > 2.4.0 > > Is there actual sample? >
I have not actually found an apng sample using gray8a, but this is implemented through reading the spec and firefox's source and understanding that gray8a is treated the same as rgba, just with less bytes. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel