[Ffmpeg-devel] On2 Flix Engine uses memcoder in commerical Flix Engine

Måns Rullgård mru
Fri Apr 28 20:48:31 CEST 2006

Steve Lhomme <steve.lhomme at free.fr> writes:

> Rich Felker wrote:
>> On Fri, Apr 28, 2006 at 06:17:39PM +0200, Steve Lhomme wrote:
>>>> Matroska is overly complicated and bloated.
>>> What do you find complicated ?
>>> Given 3 developers wrote their own parser simply based on the one
>>> HTML page of specs.
>> And how many lines of code is their parser? It's fucking huge!!
>> Even if it were simple, a parser is only a tiny part of a demuxer. The
>> complicated part is the semantics.
> Haali's splitter (used in the official DShow splitter and in TCPMP) is
> smaller than the parser in FFMPEG and handles far more semantics and
> codecs.

That sentence alone is proof that matroska is a flawed format.  A
demuxer should not need any specific handling of different codecs
beyond a simple table of codec identifiers.

If you think lines of code are important, consider these line counts
for a few demuxers I have written myself purely based on the specs:

matroska 1808
avi      1094
ogg      1147
mpeg ps   688
mpeg ts   842

The matroska demuxer handles only the basics (reading and seeking),
and makes no attempts to recover from errors in the file.  The others
are complete with error recovery.

I'm not claiming that my code is particularly efficient or well
written, but I suspect that all code I write is of similar quality.  I
thus believe that the line counts may indicate something about the
complexity of those formats.

M?ns Rullg?rd
mru at inprovide.com

More information about the ffmpeg-devel mailing list