[FFmpeg-devel] [RFC] Channel layouts

madshi dear
Fri Aug 29 09:30:45 CEST 2008


Peter Ross schrieb:
> Hi.
>
> This patch adds the notion of channel layouts to libavcodec.
>
> Summary of new concepts:
>
> * Channel IDs: We give each speaker a notional bit index.
>   e.g. CHANNEL_FRONT_LEFT=0, CHANNEL_FRONT_RIGHT=1, CHANNEL_BACK_CENTER=9
>
> * Channel Layout: An ORing together of Channel IDs.
>   e.g. ((1<<CHANNEL_FRONT_LEFT)|(1<<CHANNEL_FRONT_RIGHT))
>   The resulting layout is identical to the dwChannelMask value found in
>   WAVEFORMATEXTENSIBLE. A channel layout of zero implies 'no statement'.
>
> * Chanels are stored with the FFmpeg 'samples' array according to ID order
>   e.g. left comes before right.
>
> * Encoders will indicate their supported channel layouts in AVCodec, in the
>   same way we do for pixel and sample formats.
>
> -- Peter
> (A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)

Peter,

please take this into account:

http://msdn.microsoft.com/en-us/library/aa474707.aspx

Basically 5.1 must use the side speakers (0x60f) and not the back
speakers (0x3f). Unfortunately most software still uses the
outdated (wrong) channel mask. So maybe you should support
both as input. But both should be interpreted as meaning the
side speakers...

Regards, madshi.




More information about the ffmpeg-devel mailing list