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

Reply via email to