[Ffmpeg-devel] channel ordering and downmixing
Benjamin Larsson
banan
Thu Apr 5 11:07:18 CEST 2007
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.
MvH
Benjamin Larsson
More information about the ffmpeg-devel
mailing list