[FFmpeg-devel] [PATCH 2/2] avformat/mov: Support parsing of still AVIF Alpha Channel

Vignesh Venkatasubramanian vigneshv at google.com
Sat Jul 2 19:32:01 EEST 2022


On Sat, Jul 2, 2022 at 2:35 AM Anton Khirnov <anton at khirnov.net> wrote:
>
> Quoting Vignesh Venkatasubramanian (2022-06-30 23:04:34)
> > Parse the alpha channel for still AVIF images and expose it as a
> > separate track. This is the simplest way of supporting AVIF alpha
> > channel in a codec independent manner (similar to how ffmpeg
> > supports animated AVIF with alpha channel).
> >
> > One can use the alphamerge filter to get a transparent image with
> > a single command. For example:
> >
> > ffmpeg -i image_with_alpha.avif -filter_complex alphamerge image_with_alpha.png
> >
> > Signed-off-by: Vignesh Venkatasubramanian <vigneshv at google.com>
> > ---
> >  libavformat/isom.h |  1 +
> >  libavformat/mov.c  | 66 ++++++++++++++++++++++++++++++++++++++++++++++
> >  2 files changed, 67 insertions(+)
>
> I am against this patch, this is a digusting hack.
>
> These are not two streams, it is a single stream and should be exposed
> as such.
>

Yes, while it is a hack, it is also the simplest way of supporting
AVIF images with alpha. Since AVIF alpha images require two separate
decoders, i could not think of any other solution that does not
involve modifying the underlying av1 codec itself.

If there are any alternative solutions where we can expose a single
stream that needs two codecs, then i am open to implementing that.

Otherwise, this solution improves the current situation where there is
no way for the user to extract the alpha channel (albeit in a hacky
way).

> --
> Anton Khirnov



-- 
Vignesh


More information about the ffmpeg-devel mailing list