[matroska-devel] Re: AVI compatibility mode?

Steve Lhomme steve.lhomme at free.fr
Mon Feb 17 15:49:27 CET 2003

En réponse à Moritz Bunkus <moritz at bunkus.org>:

> > >  - These structures are Windows specific. Neither Unix/Linux nor
> MacOS
> > > knows about them.
> > 
> > As long as they don't deal with AVI. Otherwise it is handled
> somewhere.
> Sure, but not necessarily the complete structures. E.g. the only
> fields
> that are used e.g. in mplayer or my ogmtools are width, height, fps,
> fourcc, bits per pixel, channels, sample rate... There are a lot of
> fields that I don't know what I should put into them at all. So if I
> write a Matroska file and have to create such structures which fields
> do I set to which values?

You mean you don't understand the fields of matroska, the fields of AVI or the
correspondance ?
> What my primary question is - why is there a MS compatibility mode at
> all? Is there a real need for such a mode? (Apart from being lazy and
> able to reuse those structures, and apart from being able to tell that
> the 'dummy frames for B frames' are still present)

Because an MPEG4 codec (for example) is not saved the same way in AVI than in
native matroska form (B frames for example). So the codec that should be used
has to deal with data that comes in an AVI coded way.
Why do we store the full structures ? Because we want to be able to make
transparent transmuxing with AVI. If you remove some data when you do
AVI->matroska you may be unable to read the file when you do matroska->AVI.
> > Normally most of them should already be in matroska and general to
> any
> > (audio/video) codec. For the rest, they probably have no meaning at
> the
> > container level.
> Then why are those structures still used?

See above.

More information about the Matroska-devel mailing list