[NUT-devel] Fourcc spec

Michael Niedermayer michaelni at gmx.at
Fri Nov 17 18:42:19 CET 2006


Hi

On Fri, Nov 17, 2006 at 11:01:45AM -0500, Rich Felker wrote:
> On Fri, Nov 17, 2006 at 01:57:35PM +0100, Michael Niedermayer wrote:
> > Hi
> > 
> > On Fri, Nov 17, 2006 at 10:33:20AM +0100, Baptiste Coudurier wrote:
> > > Hi
> > > 
> > > Oded Shimon wrote:
> > > > This specification is normative to demuxers, informative to muxers. It 
> > > > does not need to be actively maintained, because it does NOT list all 
> > > > legal fourcc's, only the ones noted by the specification. I'd like to 
> > > > commit it to nut/docs/fourcc.txt .
> > > > 
> > > > - ods15
> > > > 
> > > > Demuxers which support the codec listed MUST support the fourcc listed
> > > > here.
> > > > Muxers SHOULD use the fourcc listed here for codecs.
> > > > 
> > > > Video:
> > > > "mp4s"        MPEG-4 Part 2
> > > 
> > > NO PLEASE ! "mp4v"
> > > mp4s is used in mov/mp4/3gp to specify data/subs/whatever.
> > >
> > > > "h263"        H.263
> > > > "h264"        MPEG-4 Part 10/H.264
> > > > "snow"        Snow
> > > > "drac"        Dirac/Schroedinger
> > > > "vc1 "        VC-1
> > > > 
> > > > Audio:
> > > > "vrbs"        Xiph.org Vorbis
> > > > "mp2 "        MP2
> > > > "mp3 "        MP3
> > > > "ac3 "        AC3
> > > > "aac "        AAC/MPEG-4 Part 3
> > > > "eac3"        EAC3
> > > > "flac"        Free Lossless Audio Codec
> > > > "wavp"        WavPack
> > > > 
> > > 
> > > Ok but please do not put them in riff.c ;)
> > 
> > no, and add a syntax element to the stream headers which says which
> > type of codec id is used avi style or nut style (or qt style) hmm
> > i do think you can copy and paste the text from matroska that will
> > save some time
> > 
> > if this gets accepted we have surpassed avi and mov in brokenness
> > several seperate codec id systems
> 
> I don't follow. There is no "several different codec id systems"
> proposed here. This is intended as a normative list of names. For
> video the established, sane, implementation-independent fourcc should
> be used. What a spec like Oded has proposed should be interpreted as
> meaning is:
> 
> 1. If you're making a NUT player and it supports one of the codecs
>    listed here, it MUST accept the codec_id listed if it accepts any
>    codec_id at all.
> 
> 2. If you're writing a NUT file using a common codec listed here, then
>    you had better use the listed codec_id or there's no reason to
>    expect that any conformant NUT player will be able to play it.
> 
> 3. If the codec was not popular/not listed before, you might have
>    previously used another codec_id for it for whatever reason, e.g.
>    because two parties independently were the first to put the codec
>    in a container and didn't know what the other was using. There's no
>    reason to forbid players from accepting this alternate codec_id
>    (since a multi-format player will already have other names in its
>    tables anyway, and since such files may be useful). But such
>    codec_id values should be considered as deprecated.
> 
> Again there is absolutely no "multiple systems" concept being
> proposed. The intended use of avi-like fourcc has always stemmed from
> the (correct!) assumption that any multi-format player will already
> have a large table of four-byte codec identifiers that can be unified
> across the vast majority of container formats (since they don't use
> conflicting identifiers). 

you can unify such a table for demuxing/decoding but if we accpet odeds
first proposal then we need 2 lists for muxing as mp4s/mp4v, mp3 and so
on are not good choices for avi, while they would be the best choice for
nut -> you end up with 2 tables / 2 systems 
first look in the nut table if nothing is found look in the riff table
for muxing, same for demuxing

this also breaks my idea of simply exporting fourcc-codec_id as an array
in AVCodec, as for nut the thing suddenly would be 2 tables ...

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

In the past you could go to a library and read, borrow or copy any book
Today you'd get arrested for mere telling someone where the library is



More information about the NUT-devel mailing list