[Ffmpeg-devel] [PATCH] mov dnxhd muxing

Baptiste Coudurier baptiste.coudurier
Thu Mar 22 18:41:00 CET 2007


Hi

Michael Niedermayer wrote:
> Hi
> 
> On Thu, Mar 22, 2007 at 01:53:48PM +0100, Baptiste Coudurier wrote:
> [...]
>>>> Also, avid codecs need those specific mov atoms for some codecs ffmpeg
>>>> already supports, what would be the good way to write them ?
>>>>
>>>> Example: you can mux dv into mov using "AVdv" tag, then avid codecs will
>>>> decode stream perfectly if those atoms are present, though quicktime
>>>> wont decode it by default.
>>>>
>>>> Quicktime has a native decoder for dv25 so use native one, but for dv50,
>>>>   there is no decoder. We can use Final cut one, which use his own
>>>> codec/own tag but only useable when fcp is installed, or Avid ones which
>>>> are freely available.
>>>>
>>>> So what muxing by default, and how to switch ? codec_tag ("stsd" tag) is
>>>> a solution, but people will have to know which tag to use.
>>> i dont think codec_tag should be (mis)used for this, but rather a new muxer
>>> similar to the one for psp should be added to movenc.c

Can you explain why you think that is "misusing" ? Remember that
quicktime pass whole stsd atom to decoders, and those atoms are
contained IN stsd atom, so you cannot decorelate them.

>> Humm I would prefer not, and I would like to remove those fancy flavors
>> of mp4 muxers, Im looking for a generic way to handle specific atoms
>> required for ipod/psp. 3g2 muxer is code duplication and it only change
>> brand of ftyp atom, psp only adds a few atoms, maybe a "target" or
>> "flavor" field in AVFormatContext, then a table of flavors in muxers ?
>> That should provide also some kind of "target" support, we could provide
>> some AVOption tables to be used.
> 
> advantages: none i can see

* avformat can supply known good encoding settings quickly and simply.
* get rid of dummy muxers (vcd,dvd,psp)

I don't think it is better for everyone to copy ffmpeg.c target command.

> disadvantages:
> * one more field in AVCodecContext

no fields in AVCodecContext.

> * one more table in AVOutputFormat

yes

> * one more parameter _every_ application must deal with and no AVOption
>   cannot magically make user apps select an entry from the table in
>   the specific AVOutputFormat

for target in AVOutputFormat->Targets
	if name == target->name
		options = target->options
	
for option in options:
	opt_set_....

I don't agree at all with your reasoning, if we follow it,
ffmpeg/libavcodec/libavformat won't have any new parameter ever, since
every application will have to deal with that new parameter.

> * breaking API & ABI

Since when adding is breaking ?

[...]

-- 
Baptiste COUDURIER                              GnuPG Key Id: 0x5C1ABAAA
SMARTJOG S.A.                                    http://www.smartjog.com
Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
Phone: +33 1 49966312




More information about the ffmpeg-devel mailing list