[Matroska-devel] Re: MPEG in MKV
John Cannon
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
is broken?
> 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?
> Ronald
>
> 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?
Spyder
More information about the Matroska-devel
mailing list