[Matroska-devel] CodecState and CueCodecState
Christian HJ Wiesner
chris at matroska.org
Sun Jan 14 08:16:35 CET 2007
Moritz Bunkus schrieb:
> 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
Do i understand correctly that 'CodecState' will allow to change picture
resolution in the same video stream, once it is implemented ? What about
changing number of audio channels in the same audio stream ? Possible ?
More information about the Matroska-devel