[Ffmpeg-devel] 4XM audio codec_tag

Måns Rullgård mru
Sun Nov 5 22:00:14 CET 2006


Reimar D?ffinger <Reimar.Doeffinger at stud.uni-karlsruhe.de> writes:

> Hello,
> On Sun, Nov 05, 2006 at 07:51:27PM +0000, M?ns Rullg?rd wrote:
>> Reimar D?ffinger <Reimar.Doeffinger at stud.uni-karlsruhe.de> writes:
>> > RIFF based format do not "use" tables since they are data an thus have
>> > not the ability to "do" anything at all besides exist.
>> 
>> I think you know what I mean, and are simply nit-picking for the sake
>> of it.  How about I rephrase it like this instead: The tables in
>> riff.c should only be used by muxers/demuxers for RIFF based
>> formats...
>
> Yes, that is exactly how I understood it. And that is what I see as
> complete nonsense. The question is about which entries should be in the
> table and which not. What difference does it make if someone else uses
> them or not?

Something being *standardized* or not makes one hell of a difference.

>> > The best I can make of this criteria is that, except for the audio
>> > fourccs, there is no reason not to include any of them here, because
>> > as soon as we add them to MPlayer they are used in AVI.
>> 
>> Does the phrase "format bastardization" mean anything to you?  Do you
>> know what the word "standard" means?
>
> So what do you suggest? Keeping to the standard? Only allowing the tags
> that are in the official Microsoft registry? I don't mind, that is a
> clear criteria, and won't really hurt MPlayer. But I find it hard to
> image that this is really what is wanted.

Since the official registry is badly maintained, and many (most?) 
files in the wild use other tags, a somewhat relaxed approach has to
be used with AVI.  A sensible solution would be to use a table with
all the registered tags, plus commonly used non-registered tags.  When
writing files, registered tags should of course be used in preference
to non-registered tags.  This is sort of how lavf handles AVI now,
although I don't know which of the tags are actually officially
registered.

This is not where we are disagreeing though.  I don't mind adding
non-standard tags to support playing existing files.  What I do mind
is using the AVI codec ID table for *other* formats that have nothing
to do with AVI.  Your justification for doing this appears to be that
there is often a significant overlap between the sets of tags used in
different formats.  If two formats use the same tags, and are always
guaranteed to do so (e.g. by the spec for one of them referring to the
other for codec tags), then sharing the tables is the correct thing to
do.  If, on the other hand, there is only some overlap (such as
between AVI and MOV), sharing the tables is wrong.  Just because some
formats use tags of the same size, and even happen to use the same tag
for some codecs, doesn't make applying the union of all the tag sets
to all the formats correct in any way whatsoever.

Does any of the above make sense to you?

-- 
M?ns Rullg?rd
mru at inprovide.com




More information about the ffmpeg-devel mailing list