[Matroska-devel] Re: MPEG in MKV
spyder at matroska.org
Wed Jan 28 19:19:24 CET 2004
Ronald S. Bultje wrote:
> On Wed, 2004-01-28 at 17:29, John Cannon wrote:
>>- GOP headers may optionally be excluded as according to the specs.
> Which specs?
ISO MPEG-2 says:
"Group of picture header is an optional header that can be used
immediately before a coded I-frame to
indicate to the decoder if the first consecutive B-pictures immediately
following the coded I-frame can
be reconstructed properly in the case of a random access." This makes
me believe it's not required.
> Any Linux MPEG decoder that I know of *requires* MPEG headers (at least
> the sequence header, but I think the GOP header too) to operate
> correctly. I don't know how this works for DirectShow, but I'm guessing
> something similar. My experiences/experiments with alternative video
> elementary streams layouts in WMP (win2k/XP) haven't been too good.
> Basically, you have to "fix" the stream everywhere where you "break" it.
> If so, what's the use of allowing it to be removed? It only complicates
> the demuxer and muxer.
Of course they require the sequence headers but the GOP header only
serves one purpose, to tell the decoder if the following GOP has some
broken/missing references. IMO if the decoder MUST use this it's simply
broken. Perhaps we should only include them if they tell that the gop
> Apart from that, seems similar to MPGI in AVI - so it's fine, I guess.
> The fact that MPEG-4 is stored in display and MPEG-1 in coding order is
> logical (specs), but confusing. I'd make this an explicit note in your
> Matroska specs.
ummm...doesn't native mpeg4 use coding order?
> PS: why do stream headers go into codecpivate? Where do you use them?
Well, it makes it easier for DirectShow since we need the sequence
header to create the output format. If it can be done without it, i
don't know that we really need it there. Any ideas? Toff?
More information about the Matroska-devel