[Ffmpeg-devel] Re: [PATCH] mpegvideo remove fourcc upper case conversion

Michael Niedermayer michaelni
Wed Aug 23 13:59:41 CEST 2006


On Wed, Aug 23, 2006 at 11:16:22AM +0200, Baptiste Coudurier wrote:
> Hi
> Michael Niedermayer wrote:
> >> [...]
> >> declaring a sub_id for old divx/whatever mpeg4 flavour is cleaner IMHO,
> >> and avi demuxer could set it.
> > 
> > no this has nothing to do with the demuxer, divx in mov, nut, mkv, raw
> > mpeg4-es or in mpeg-ps will all need the very same code it belongs to the
> > codec, and its not just divx, there are 10 different ones furthermore
> > lavc MUST be independant from lavf, not everyone uses lavc with lavf
> > 
> It DOES since demuxer identifies codec. Lavc chose to handle differently
> h263 variants based on their fourcc, it is one way of course, and that
> sounds like the old troll about identifying codec/variant by fourcc like
> we had about nut. 

> Divx in mov is non standard

disagree, mov is a generic container like avi, mkv, nut, ...
futhermore i said already that we cannot and will not drop support for
non standard stuff, if you keep trolling about this then ill ignore you
btw, you can fork ffmpeg anytime if you want

> IMHO Cleanest way was to identify them by sub_id/codec_id and not to
> alter fourcc. Values from the file should be kept as is, at least you
> told me that many times and furthermore regarding fourcc.

there are 3 seperate things here
1. altering the public fourcc, that of course is a hack which isnt
   ideal but it works and is very simple, iam not opposed to apply
   a patch which changes this if the new system is clean and works
2. setting sub_id, this is conceptually wrong and adds a redundant
   middle layer, sub_id can be used for the version of a standard
   but not to idently non standard variants -> rejected
3. setting the this "sub_id" or a equivalent variable in the demuxer
   this will break alot and consequently is out of question

you also asked about policy at least once, so well lets quote it, if
my common sense explanations arent enough ...

very first point: (http://ffmpeg.mplayerhq.hu/ffmpeg-doc.html#SEC36)
1. You must not commit code which breaks FFmpeg! ...

your proposals break decoding of old divx in mkv for example, will
break mplayer+lavc and many many other combinations

> > [...]
> > 
> > AVCodecContext.width/height are the _CODEC_ width/height not the user
> > croped width/height, if the demuxer doesnt have reliable values it
> > MUST NOT set AVCodecContext.width/height, it can set something else
> > to "transport" them to the muxer for stream copy but NOT the codec
> > width/height its like storing width/height in the audio samplerate and
> > number of audio channels
> > 
> > [...]
> I can set them to 0 for H261,H263,MPEG-4. And let decoder init them
> correctly. Is that what you want ?


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 ffmpeg-devel mailing list