Alpha Channel Decoding Support for libwebm mkvparser using BlockAdditions

125 views
Skip to first unread message

f.ber...@gmail.com

unread,
Oct 18, 2016, 3:15:48 PM10/18/16
to Application Developers
Hi,

Is there a way to support decoding of the alpha channel in a VP8 video using the libwebm mkvparser?

The WebM wiki (http://wiki.webmproject.org/alpha-channel) mentions the alpha channel should be present in the BlockAdditions element of the WebM container.
However, no actual support related to BlockAdditions reading is present in the mkvparser.
It seems to be supported by the mkvmuxer (Cluster::AddFrameWithAdditional()).

The Matroska specifications(https://www.matroska.org/technical/specs/index.html) indicates that the BlockAdditions, BlockAddID, BlockAdditionnal are not supported for the WebM container.

It looks like the WebmParser includes BlockAdditions support (http://www.webmproject.org/docs/container/#BlockAdditions) through its BlockAdditionsParser.

Is it a definite decision to not support alpha decoding through the mkvparser ?
Is my only way out of this is implementing the mkv parsing of BlockAddition or to exclusively use the WebMParser?

My problem using the WebMParser is having to use a "C++11-based parser" in a C++98 compliant environment.

Thank you,

Francis

James Zern

unread,
Oct 19, 2016, 2:38:26 PM10/19/16
to Application Developers
Hi,

On Tue, Oct 18, 2016 at 12:12 PM, <f.ber...@gmail.com> wrote:
> Hi,
>
> Is there a way to support decoding of the alpha channel in a VP8 video using
> the libwebm mkvparser?
>
> The WebM wiki (http://wiki.webmproject.org/alpha-channel) mentions the alpha
> channel should be present in the BlockAdditions element of the WebM
> container.
> However, no actual support related to BlockAdditions reading is present in
> the mkvparser.
> It seems to be supported by the mkvmuxer
> (Cluster::AddFrameWithAdditional()).
>
> The Matroska
> specifications(https://www.matroska.org/technical/specs/index.html)
> indicates that the BlockAdditions, BlockAddID, BlockAdditionnal are not
> supported for the WebM container.
>
> It looks like the WebmParser includes BlockAdditions support
> (http://www.webmproject.org/docs/container/#BlockAdditions) through its
> BlockAdditionsParser.
>
> Is it a definite decision to not support alpha decoding through the
> mkvparser ?
>

There's no reason it couldn't be added. At the time support was added
to libavformat (ffmpeg) and later in the new parser.

> Is my only way out of this is implementing the mkv parsing of BlockAddition
> or to exclusively use the WebMParser?
>

For now that's the only option within libwebm. If you'd like it added
to the old parser file a bug for tracking [1], then if you want to
have a try adding support feel free to send a patch [2].

[1] https://bugs.chromium.org/p/webm
[2] http://www.webmproject.org/code/contribute/submitting-patches/
Reply all
Reply to author
Forward
0 new messages