[FFmpeg-devel] [PACTH] Change av_get_channel_layout() syntax

Michael Niedermayer michaelni at gmx.at
Tue Oct 15 09:54:15 CEST 2013


On Tue, Oct 15, 2013 at 01:33:19AM +0200, Stefano Sabatini wrote:
> On date Sunday 2013-10-13 17:57:48 +0200, Michael Niedermayer encoded:
> > On Fri, Oct 04, 2013 at 05:05:38PM +0200, Stefano Sabatini wrote:
> [...] 
> > >  channel_layout.c |   21 ++++++++++++++++++---
> > >  channel_layout.h |    9 +++++++--
> > >  internal.h       |    5 +++++
> > >  version.h        |    3 +++
> > >  4 files changed, 33 insertions(+), 5 deletions(-)
> > > 43b5009e71e91a5be2e253a05123d294f888ccfd  0004-lavu-channel_layout-change-av_get_channel_layout-beh.patch
> > > From 1743fb2c469f71fc2a37a50a15e0bbcd9174c441 Mon Sep 17 00:00:00 2001
> > > From: Stefano Sabatini <stefasab at gmail.com>
> > > Date: Fri, 4 Oct 2013 15:20:50 +0200
> > > Subject: [PATCH] lavu/channel_layout: change av_get_channel_layout() behavior
> > >  at the next bump
> > > 
> > > This is done introducing a compatibility option. The new syntax is
> > > preferred since it allows backward syntax compatibility with libswr when
> > > switching to the new option handling code with
> > > AV_OPT_TYPE_CHANNEL_LAYOUT.
> > > 
> > > With the new parser the string:
> > > 1234
> > > 
> > > is interpreted as a channel layout mask, rather than as a number of
> > > channels, and thus it's compatible with the current way to set a channel
> > > layout as an integer (for the icl and ocl options) making use of integer
> > > option values.
> > > 
> > > ff_get_channel_layout() with compat=0 will be used in the
> > > AV_OPT_TYPE_CHANNEL handler code.
> > > ---
> > >  libavutil/channel_layout.c | 21 ++++++++++++++++++---
> > >  libavutil/channel_layout.h |  9 +++++++--
> > >  libavutil/internal.h       |  5 +++++
> > >  libavutil/version.h        |  3 +++
> > >  4 files changed, 33 insertions(+), 5 deletions(-)
> [...]
> > > diff --git a/libavutil/channel_layout.h b/libavutil/channel_layout.h
> > > index 2906098..0f3eb4e 100644
> > > --- a/libavutil/channel_layout.h
> > > +++ b/libavutil/channel_layout.h
> > > @@ -132,11 +132,16 @@ enum AVMatrixEncoding {
> > >   *   SL, SR, TC, TFL, TFC, TFR, TBL, TBC, TBR, DL, DR);
> > >   * - a number of channels, in decimal, optionally followed by 'c', yielding
> > >   *   the default channel layout for that number of channels (@see
> > > - *   av_get_default_channel_layout);
> > > + *   av_get_default_channel_layout());
> > > + *   Note: the use of the following character 'c' to specify a number
> > > + *   of channels will be required since the next major bump to make
> > > + *   the syntax not ambiguous.
> > >   * - a channel layout mask, in hexadecimal starting with "0x" (see the
> > >   *   AV_CH_* macros).
> > 
> 
> > > + *   Note: since the next major bump a channel layout mask can also be
> > > + *   specified with a decimal number (iff not followed by "c").
> > 
> > maybe leave this "undefined" or deprecated or something
> > as its rather ugly but iam fine with it as is too
> 
> Can't really understand what this sentence is referring to.

i just meant that we could deprecate the use of decimal numbers for
channel masks as its somewhat odd and allows typos (lost c letter)
that is
0x123 -> channel mask
12c   -> channel count
55    -> interpreted as mask for compatibility but deprecated


[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

DNS cache poisoning attacks, popular search engine, Google internet authority
dont be evil, please
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20131015/e8b82fd2/attachment.asc>


More information about the ffmpeg-devel mailing list