[Matroska-devel] Re: Re: Re: MPEG2 in MKV!

Pamel paul at msn.com
Thu Oct 30 19:57:17 CET 2003


"spyder" wrote...
> No...then you introduce sync errors.  Not all files will be played in crappy
> DirectShow filters.  MPEG video has a framerate for a reason, it's not just
> informational.  If you change the framerate but leave more frames then you
> intorduce sync problems.  If you drop the extra frames then you break the
> stream.  Besides, we shouldn't have to destroy any mpeg compliance just to
> put the stream in MKV.  As I said before, the ONLY thing allowed to change
> from sequence header to sequence header is the QUANTIZERS!  You can't change
> framerate, resolution, colorspace, progressive vs. interlaced etc..  Only
> those 128 bytes for the quantizer are allowed to change.  Otherwise the
> stream is b0rked and no longer spec compliant.

Fine, we leave the Sequence Headers as they are.  Leave the ability to write the
streams as a full MPEG-2 ES stream like I said before.  This is an alternative
method to make things 'better'.  We shouldn't be worrying about crappy MPEG-2 DS
filters.  We tell people not to use crappy Vorbis DS filters, we can tell them
not to use crappy MPEG-2 DS filters too.

In any event, it should be a simple matter to regenerate a fully compliant
MPEG-2 ES stream from the this better method anyway.  Just reenable the RFF flag
and change the timecodes back to method 1.

Method 1:  Store the four frames with timecodes like you are going to store 5
frames. The fourth frame will have a duration that is twice the duration of the
other frames.  This should leave space for the decoder to generate the extra
frame.

Method 2 is better, we just need to make sure that everyone that can use a
Matroska file does not use a crappy decoder. If someone wants full backwards
compatibility IN THE FILE, then use method 1.  Very simple.


Pamel






More information about the Matroska-devel mailing list