[NUT-devel] Fourcc spec
Oded Shimon
ods15 at ods15.dyndns.org
Sat Dec 23 14:09:24 CET 2006
On Sat, Dec 23, 2006 at 01:56:29PM +0100, Michael Niedermayer wrote:
> On Sat, Dec 23, 2006 at 01:21:07PM +0200, Oded Shimon wrote:
> > On Sat, Dec 23, 2006 at 01:15:39PM +0200, Oded Shimon wrote:
> > > OK, my best attempt:
> > >
> > > Option 1: Keep the current situation:
> > > The spec explicitly says to use AVI fourcc's, is vague on what to do if
> > > there is no AVI fourcc.
> > > Pros:
> > > Use the same codec tables as AVI for both muxing and demuxing
> > > Keep fourcc's of old codecs for bug workarounds
> > > Cons:
> > > Several fourcc's per codec
> > > No defined fourcc's for codecs which are not contained in AVI
> > > No defined fourcc's for any codec really
> > >
> > > Option 2: Make an explicit list, using only existing and popular fourcc's
> > > from AVI for codecs which exist in AVI, allowing several fourcc's per
> > > codec. (DX50, XVID, \x55\x00, ..)
> > > Pros:
> > > Use the same codec tables as AVI for both muxing and demuxing
> > > Keep fourcc's of old codecs for bug workarounds
> > > Defined fourcc's for all codecs
> > > Cons:
> > > Several fourcc's per codec
> > > "Looks silly" (I'm personally not really against this, but I bet Rich
> > > is...)
> > >
> > > Option 3: Make an explicit list, similar to the list I originally proposed
> > > Pros:
> > > Defined fourcc's for all codecs
> > > Single fourcc per codec
> > > "Clean" in sane codec names
> > > Cons:
> > > Different tables for AVI and NUT (for muxing, demuxing can still use
> > > common table)
> > > Loss of bug workarounds
> > >
> > >
> > > Summary:
> > > A - Defined explicit codecs forucc's
> > > B - bug workarounds ability
> > > C - single fourcc per codec
> > > D - Single table in implementation for muxer
> > > E - "Sane" codec names
> > >
> > > Option A B C D E
> > > 1 X X (x) - since it is not explicit in spec, it doesn't matter as much
> > > 2 X X X
> > > 3 X X X
> >
> > P.S. Since the lists are informative and not normative for muxers, they do
> > not necessarily require constant updating and upkeep, so I did not
> > consider this as an advantage or disadvantage.
>
> if the lists are not normative that i bet every commercial company will
> use their own fourcc divx, 3ivx, ...
> why?
> 1. the company can better claim that its their own supperior technology
> 2. they dont need to bother to implement the standard correctly, its enough
> if their decoder matches their encoder, this is what has happened with
> codecs in avi and as its less work = less money it will happen again.
> It didnt happen with mpeg-ps/ts just because there are too many hw
> decoders around which cant be updated that easily all IMHO
>
> if my hypothesis turns out to be true then 3. would loose the
> "single fourcc per codec" and ""Sane" codec names" as in practice the
> majority of videos would not use the recommanded fourccs
>
> so that brings us to option 4 which would require a player to only support
> a codec if the one and only standard fourcc where used, if a unknown fourcc
> is used demuxing it would be a violation of the spec ...
>
> if that would prevent the issue iam not sure though ...
The list IS normative for demuxers, not for muxers. This was already in my
original proposal, I forgot to re-mention it here. I did not quite
understand your hypothesis, so I am not sure if being normative for
demuxers fixes what you said.
Regardless, I'm leaning to 2.
- ods15
More information about the NUT-devel
mailing list