[FFmpeg-devel] Issue with native WebP muxer in ffmpeg

Urvang Joshi urvang at google.com
Thu Oct 1 22:02:02 CEST 2015


Hi ffmpeg folks,
This is based on a report on WebP issue tracker:
https://code.google.com/p/webp/issues/detail?id=266

Looks like ffmpeg's native WebP muxer always sets ALPHA_FLAG to be true in
VP8X chunk:
https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/webpenc.c#L110
(Even for a completely opaque image: e.g. an animated image where none of
the frames have transparency info).

But according to the WebP container spec:
https://developers.google.com/speed/webp/docs/riff_container?hl=en#extended_file_format

<Quote>
Alpha (L): 1 bit
Set if any of the frames of the image contain transparency information
("alpha").
<Unquote>


This needs to be corrected. I took a dig at this, but it seemed non-trivial:
ffmpeg needs to find out if there is "at least one frame containing
transparency" -- this could be through (i) an ALPH chunk or (ii) inside a
VP8L chunk. While, detecting case (i) is easy due to the presence of
ALPH_FLAG in VP8X chunk, the same is not true for (ii) as in that case VP8X
chunk may not be present.

Can someone think of a good solution?

Thanks,
Urvang


More information about the ffmpeg-devel mailing list