[FFmpeg-devel] [PATCH 5/6] avcodec/apng: Add support for blending with GRAY8A pixel format

Paul B Mahol onemda at gmail.com
Tue Jun 2 20:21:36 CEST 2015


On 6/2/15, Donny Yang <work at kota.moe> wrote:
> On 3 June 2015 at 03:38, Paul B Mahol <onemda at gmail.com> wrote:
>
>> Dana 2. 6. 2015. 17:50 osoba "Donny Yang" <work at kota.moe> napisala je:
>> >
>> > Signed-off-by: Donny Yang <work at 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 at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>

ok, patch lgtm


More information about the ffmpeg-devel mailing list