[Matroska-devel] CodecState and CueCodecState

Christian HJ Wiesner chris at matroska.org
Sun Jan 14 08:16:35 CET 2007


Moritz Bunkus schrieb:
> 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
>   

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 ?

Regards

Christian






More information about the Matroska-devel mailing list