[Matroska-devel] Mappings for HEVC/H.265 in Matroska

Jan Ekstrom jeebjp at gmail.com
Mon Jun 10 22:49:28 CEST 2013

Not fully specific to HEVC, but after having a brief discussion
regarding HEVC-in-Matroska and some other things related to it with
Yusuke Nakamura (an L-SMASH/libavcodec/x264 developer, and someone
with a relatively good grasp on "MP4" as well as AVC/H.264) , I find
that posting these concerns here would most probably be fitting.

The following concerns were voiced:

1. There is no clear definition of what a 'keyframe' in the Matroska
vocabulary actually means. This could be alleviated by defining it as
a random access point, from which decoding can be started without
reading up previous data from the muxed stream, with a more clear
wording if possible.

2. The current ways of defining what can be a 'keyframe' in a stream
that is being muxed into Matroska are not clear. While it is somewhat
too late to start defining this in older formats, this is something
that could be clarified and thus fixed with HEVC-in-Matroska, which is
right now still in its early stages. It should be made sure that the
needed parameter sets are always available to the decoder at a
'keyframe' in one way or another, and that way should be clearly

For example, if it was selected that parameter sets should be pushed
in-band, then only "IRAP pictures with the needed parameter sets
included" should be eligible to being a 'keyframe'. Just an IRAP
picture should not. On the other hand, if parameter sets should be
pushed out-of-band (CodecPrivate, CodecState etc.), then it should be
defined in one way or another so that every 'keyframe' would always
have all the needed parameter sets for it to be decoded correctly. And
if the preferred solution is a mix of these two, or something
different altogether, it should be clearly defined as well.

Personally I find the latter concern an interesting one, and while it
seems like Matroska is not the only container dealing with it, it
would be nice to see it being dealt with within the range of
HEVC-in-Matroska. I wonder what the general opinion on more specific
specification of such things is around here in matroska-devel.

Jan Ekström

More information about the Matroska-devel mailing list