[FFmpeg-devel] [PATCH] lavfi: add ff_all_channel_layouts internal symbol

Stefano Sabatini stefano.sabatini-lala at poste.it
Wed Sep 7 17:35:16 CEST 2011


On date Wednesday 2011-08-31 20:12:11 +0200, Michael Niedermayer encoded:
> On Wed, Aug 31, 2011 at 07:22:08PM +0200, Stefano Sabatini wrote:
> > On date Friday 2011-08-26 14:22:03 +0200, Michael Niedermayer encoded:
> > > On Thu, Aug 25, 2011 at 01:38:52AM +0200, Stefano Sabatini wrote:
> > > > On date Wednesday 2011-08-24 05:48:55 +0200, Michael Niedermayer encoded:
> > > > > On Tue, Aug 23, 2011 at 03:31:35PM +0200, Stefano Sabatini wrote:
> > > > [...]
> > > > > > +const int64_t avfilter_all_channel_layouts_list[] = {
> > > > > > +    AV_CH_LAYOUT_MONO,
> > > > > > +    AV_CH_LAYOUT_STEREO,
> > > > > > +    AV_CH_LAYOUT_4POINT0,
> > > > > > +    AV_CH_LAYOUT_QUAD,
> > > > > > +    AV_CH_LAYOUT_5POINT0,
> > > > > > +    AV_CH_LAYOUT_5POINT0_BACK,
> > > > > > +    AV_CH_LAYOUT_5POINT1,
> > > > > > +    AV_CH_LAYOUT_5POINT1_BACK,
> > > > > > +    AV_CH_LAYOUT_5POINT1|AV_CH_LAYOUT_STEREO_DOWNMIX,
> > > > > > +    AV_CH_LAYOUT_7POINT1,
> > > > > > +    AV_CH_LAYOUT_7POINT1_WIDE,
> > > > > > +    AV_CH_LAYOUT_7POINT1|AV_CH_LAYOUT_STEREO_DOWNMIX,
> > > > > > +    -1
> > > > > > +};
> > > > > 
> > > > > There are more possible layouts than can easily be listed i think
> > > > 
> > > > Yes, this should be meant as the "default channel layouts which are
> > > > automatically selected when choosing 'all channels' in audio filters".
> > > > 
> > > > So maybe it should be better named
> > > > avfilter_default_all_channel_layouts_list.
> > > > 
> > > > If you don't like it please suggest alternatives.
> > > 
> > > assume the front and rear can be 0,1,2,3 speakers, side 0 or 2
> > > and wide 0 or 2 and there can be a LFE channel and there can be stereo
> > > downmix channels
> > > you get 256 combinations
> > > IMHO they all should be in the list at least
> > 
> > In other words you're asking for a non statically defined list of
> > formats, right?
> 
> i dont really mind if its statically defined, my concern was more on
> "all" not really being "all"
> 
> it should not be hard to create such static list in 6 lines of code
> with a few #define

Not that easy for me. Proof-of-concept attached, the resulting formats
are:

cl:2 channels (SL|SR)
cl:1 channels (FLC)
cl:2 channels (DL|DR)
cl:4 channels (SL|SR|DL|DR)
cl:3 channels (FLC|DL|DR)
cl:1 channels (LFE)
cl:3 channels (LFE|SL|SR)
cl:2 channels (LFE|FLC)
cl:3 channels (LFE|DL|DR)
cl:5 channels (LFE|SL|SR|DL|DR)
cl:4 channels (LFE|FLC|DL|DR)
cl:1 channels (FL)
cl:3 channels (FL|SL|SR)
cl:2 channels (FL|FLC)
cl:3 channels (FL|DL|DR)
cl:5 channels (FL|SL|SR|DL|DR)
cl:4 channels (FL|FLC|DL|DR)
cl:2 channels (FL|LFE)
cl:4 channels (FL|LFE|SL|SR)
cl:3 channels (FL|LFE|FLC)
cl:4 channels (FL|LFE|DL|DR)
cl:6 channels (FL|LFE|SL|SR|DL|DR)
cl:5 channels (FL|LFE|FLC|DL|DR)
cl:1 channels (FR)
cl:3 channels (FR|SL|SR)
cl:2 channels (FR|FLC)
cl:3 channels (FR|DL|DR)
cl:5 channels (FR|SL|SR|DL|DR)
cl:4 channels (FR|FLC|DL|DR)
cl:2 channels (FR|LFE)
cl:4 channels (FR|LFE|SL|SR)
cl:3 channels (FR|LFE|FLC)
cl:4 channels (FR|LFE|DL|DR)
cl:6 channels (FR|LFE|SL|SR|DL|DR)
cl:5 channels (FR|LFE|FLC|DL|DR)
cl:mono
cl:3 channels (FC|SL|SR)
cl:2 channels (FC|FLC)
cl:3 channels (FC|DL|DR)
cl:5 channels (FC|SL|SR|DL|DR)
cl:4 channels (FC|FLC|DL|DR)
cl:2 channels (FC|LFE)
cl:4 channels (FC|LFE|SL|SR)
cl:3 channels (FC|LFE|FLC)
cl:4 channels (FC|LFE|DL|DR)
cl:6 channels (FC|LFE|SL|SR|DL|DR)
cl:5 channels (FC|LFE|FLC|DL|DR)
cl:stereo
cl:4 channels (FL|FR|SL|SR)
cl:3 channels (FL|FR|FLC)
cl:4 channels (FL|FR|DL|DR)
cl:6 channels (FL|FR|SL|SR|DL|DR)
cl:5 channels (FL|FR|FLC|DL|DR)
cl:3 channels (FL|FR|LFE)
cl:5 channels (FL|FR|LFE|SL|SR)
cl:4 channels (FL|FR|LFE|FLC)
cl:5 channels (FL|FR|LFE|DL|DR)
cl:7 channels (FL|FR|LFE|SL|SR|DL|DR)
cl:6 channels (FL|FR|LFE|FLC|DL|DR)
cl:2 channels (FL|FC)
cl:4 channels (FL|FC|SL|SR)
cl:3 channels (FL|FC|FLC)
cl:4 channels (FL|FC|DL|DR)
cl:6 channels (FL|FC|SL|SR|DL|DR)
cl:5 channels (FL|FC|FLC|DL|DR)
cl:3 channels (FL|FC|LFE)
cl:5 channels (FL|FC|LFE|SL|SR)
cl:4 channels (FL|FC|LFE|FLC)
cl:5 channels (FL|FC|LFE|DL|DR)
cl:7 channels (FL|FC|LFE|SL|SR|DL|DR)
cl:6 channels (FL|FC|LFE|FLC|DL|DR)
cl:2 channels (FR|FC)
cl:4 channels (FR|FC|SL|SR)
cl:3 channels (FR|FC|FLC)
cl:4 channels (FR|FC|DL|DR)
cl:6 channels (FR|FC|SL|SR|DL|DR)
cl:5 channels (FR|FC|FLC|DL|DR)
cl:3 channels (FR|FC|LFE)
cl:5 channels (FR|FC|LFE|SL|SR)
cl:4 channels (FR|FC|LFE|FLC)
cl:5 channels (FR|FC|LFE|DL|DR)
cl:7 channels (FR|FC|LFE|SL|SR|DL|DR)
cl:6 channels (FR|FC|LFE|FLC|DL|DR)
cl:3 channels (FL|FR|FC)
cl:5.0(side)
cl:4 channels (FL|FR|FC|FLC)
cl:5 channels (FL|FR|FC|DL|DR)
cl:7 channels (FL|FR|FC|SL|SR|DL|DR)
cl:6 channels (FL|FR|FC|FLC|DL|DR)
cl:4 channels (FL|FR|FC|LFE)
cl:5.1(side)
cl:5 channels (FL|FR|FC|LFE|FLC)
cl:6 channels (FL|FR|FC|LFE|DL|DR)
cl:5.1+downmix
cl:7 channels (FL|FR|FC|LFE|FLC|DL|DR)
cl:4.0
cl:6 channels (FL|FR|FC|BC|SL|SR)
cl:5 channels (FL|FR|FC|FLC|BC)
cl:6 channels (FL|FR|FC|BC|DL|DR)
cl:8 channels (FL|FR|FC|BC|SL|SR|DL|DR)
cl:7 channels (FL|FR|FC|FLC|BC|DL|DR)
cl:5 channels (FL|FR|FC|LFE|BC)
cl:7 channels (FL|FR|FC|LFE|BC|SL|SR)
cl:6 channels (FL|FR|FC|LFE|FLC|BC)
cl:7 channels (FL|FR|FC|LFE|BC|DL|DR)
cl:3 channels (FC|BL|BR)
cl:5 channels (FC|BL|BR|SL|SR)
cl:4 channels (FC|BL|BR|FLC)
cl:5 channels (FC|BL|BR|DL|DR)
cl:7 channels (FC|BL|BR|SL|SR|DL|DR)
cl:6 channels (FC|BL|BR|FLC|DL|DR)
cl:4 channels (FC|LFE|BL|BR)
cl:6 channels (FC|LFE|BL|BR|SL|SR)
cl:5 channels (FC|LFE|BL|BR|FLC)
cl:6 channels (FC|LFE|BL|BR|DL|DR)
cl:8 channels (FC|LFE|BL|BR|SL|SR|DL|DR)
cl:7 channels (FC|LFE|BL|BR|FLC|DL|DR)
cl:5.0
cl:7 channels (FL|FR|FC|BL|BR|SL|SR)
cl:6 channels (FL|FR|FC|BL|BR|FLC)
cl:7 channels (FL|FR|FC|BL|BR|DL|DR)
cl:5.1
cl:7.1
cl:7 channels (FL|FR|FC|LFE|BL|BR|FLC)
cl:8 channels (FL|FR|FC|LFE|BL|BR|DL|DR)
cl:quad
cl:6 channels (FL|FR|BL|BR|SL|SR)
cl:5 channels (FL|FR|BL|BR|FLC)
cl:6 channels (FL|FR|BL|BR|DL|DR)
cl:8 channels (FL|FR|BL|BR|SL|SR|DL|DR)
cl:7 channels (FL|FR|BL|BR|FLC|DL|DR)
cl:5 channels (FL|FR|LFE|BL|BR)
cl:7 channels (FL|FR|LFE|BL|BR|SL|SR)
cl:6 channels (FL|FR|LFE|BL|BR|FLC)
cl:7 channels (FL|FR|LFE|BL|BR|DL|DR)

-- 
FFmpeg = Fostering and Funny Mythic Proud Ecumenical Gadget
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-lavfi-add-avfilter_all_channel_layouts_int64-public-.patch
Type: text/x-diff
Size: 7398 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20110907/d9647161/attachment.bin>


More information about the ffmpeg-devel mailing list