[Matroska-devel] CodecState and CueCodecState

Moritz Bunkus moritz at bunkus.org
Sun Jan 14 00:12:42 CET 2007


Hey,

Mike (Haali) pointed out to me that keeping the sequence headers in the
bitstream for MPEG-1/-2 video poses a problem when seeking. He proposed
that we switch to using CodecState which has been created for just such
a case.

Now I started working on it and noticed a couple of things.

1. KaxCodecState does not exist yet in libmatroska. I've added it and
   will commit the code soon.

2. CodecState is a child of BlockGroup. However, the specs don't say
   clearly when exactly CodecState is supposed to take effect. I propose
   that it must be processed by the codec _before_ the data in the same
   BlockGroup is processed, even if the Block element is located before
   the CodecState element in the same BlockGroup.

3. CueCodecState is supposed to point to a CodecState element. However,
   the CodecState element itself does not contain a track number it
   applies to; only the Block in the same BlockGroup does. I propose to
   change the spec so that CueCodecState points to the _BlockGroup_
   containing this CodecState element. Otherwise the demuxer would have
   to do some real, real bad seeking backwards in order to find the
   BlockGroup.

Comments?

Mosu

-- 
If Darl McBride was in charge, he'd probably make marriage
unconstitutional too, since clearly it de-emphasizes the commercial
nature of normal human interaction, and probably is a major impediment
to the commercial growth of prostitution. - Linus Torvalds


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.matroska.org/pipermail/matroska-devel/attachments/20070114/24c35f73/attachment.pgp>


More information about the Matroska-devel mailing list