[MPlayer-users] Re: Free audio codec for .AVI files ?

D Richard Felker III dalias at aerifal.cx
Tue Jan 27 19:54:11 CET 2004


On Tue, Jan 27, 2004 at 08:37:19PM +0200, Jan Knutar wrote:
> > 5. MKV wastes a considerable amount of space (though not as much as
> >    OGM) on overhead, mainly due to the horrible "EBML" encoding and
> >    useless checksums.
> 
> I'm puzzled by checksums... I mean... What can they do other than say 
> "this frame is broken", or something such, a fact which would be 
> discovered anyway, when attempting to decode that frame and having to 
> try conceal the errors?

You're very correct to be puzzled. Checksums are absolutely useless in
playing a file, since all they can tell you is "it's broken" or "it's
probably not broken". So if the frame is broken, what are you supposed
to do? Drop the whole frame? With ogg that could easily mean up to 1.5
seconds of audio, which would sound horrible! In general, it's useless
to know whether the data is corrupt because there's nothing good to do
to fix it.

On the other hand, I'm told that the reason Matroska included
checksums _was_ to be able to drop corrupt frames, because certain
broken Windows codecs crash the operating system if you give them a
corrupt frame. This is quite amusing, but not at all a legitimate
reason for wasting 4 bytes per frame. Such codecs just shouldn't be
used, and should be replaced by free reimplementations that actually
work.

Another argument for including checksums (and why they almost got
included in our NUT format... :/) is that they allow you to see that
your file is damaged and redownload the damaged parts. But this is
stupid. If your file is coming from a p2p network, it already has
per-chunk hashes by which you can detect damage and redownload, so
there's no sense in wasting space in the file itself to duplicate
this. And if your file comes from somewhere else, the _user_ can
manually run md5sum on it (or on small chunks of it) and save the
md5sums in a separate file, where they don't waste space in the actual
movie file.

So in summary, you're right. Checksums in movie files are very stupid.

Rich





More information about the MPlayer-users mailing list