[Ffmpeg-devel] channel ordering and downmixing

Baptiste Coudurier baptiste.coudurier
Thu Apr 5 11:05:39 CEST 2007


Benjamin Larsson wrote:
> Justin Ruggles wrote:
>> Hi,
>> Justin Ruggles wrote:
>>> I need some advice on a channel ordering and downmixing framework.  I've
>>> been trying to figure out the best solution for a while and keep running
>>> into road blocks.
>> After spending too much time just pondering different ideas, I decided
>> to give it a go and try one out.
>> The attached patch isn't really meant to be a working patch, but more of
>> a conceptual sketch of a basic design.  I want to get ideas and comments
>> before taking the time to implement it in full.
>> The general concept is:
>>  - add an AVChannelLayout struct to AVCodecContext
>>  - have the muxer set its preferred channel layout in read_header()
>>  - have the decoder override the channel layout if it wants to
>>  - user-level API: av_channel_mix_init(), av_channel_mix(),
>>                    av_channel_mix_close()
>>  - the encoder can set the channel layout in encode_init or just set the
>>    number of channels and set the mask to CHANNEL_MASK_NONE to let the
>>    muxer decide
>>  - if avctx->channel_layout.mask is CHANNEL_MASK_NONE, the muxer should
>>    set the channel layout
>> Any suggestions/critiques would be great. :)
>> -Justin
> Don't forget the dts down mixing coeffs. Anyway I think the codecs
> should have the layout and down mixing coeffs, not channelmix.c but that
> is just a technicality. DTS for example has the ability to use coeffs
> from the actual bitstream.

I agree that codecs should actually supply coeffs.

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