[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