Message ID | CAJ9dGGgovATyUBW5gX8Fp2LX=o+481uBF9GgjJAWaDG3rYhPFQ@mail.gmail.com |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel] Add a 7.1.4 channel layout | expand |
Context | Check | Description |
---|---|---|
andriy/configure_x86 | warning | Failed to apply patch |
yinshiyou/configure_loongarch64 | warning | Failed to apply patch |
On 10/18/2023 4:19 PM, Will Wolcott via ffmpeg-devel wrote: > Signed-off-by: Will Wolcott <wwolcott@netflix.com> > --- > doc/utils.texi | 2 ++ > libavutil/channel_layout.c | 1 + > libavutil/channel_layout.h | 2 ++ > libavutil/version.h | 2 +- > tests/ref/fate/channel_layout | 1 + > 5 files changed, 7 insertions(+), 1 deletion(-) > > diff --git a/doc/utils.texi b/doc/utils.texi > index 8e8bfa76d4..c67ae6f6c6 100644 > --- a/doc/utils.texi > +++ b/doc/utils.texi > @@ -715,6 +715,8 @@ FL+FR+FC+LFE+BL+BR+FLC+FRC > FL+FR+FC+LFE+FLC+FRC+SL+SR > @item 7.1(top) > FL+FR+FC+LFE+BL+BR+TFL+TFR > +@item 7.1.4 > +FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBL+TBR > @item octagonal > FL+FR+FC+BL+BR+BC+SL+SR > @item cube > diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c > index 9b581ae6b3..a2c4eff5f4 100644 > --- a/libavutil/channel_layout.c > +++ b/libavutil/channel_layout.c > @@ -201,6 +201,7 @@ static const struct channel_layout_name > channel_layout_map[] = { > { "7.1(wide)", AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK }, > { "7.1(wide-side)", AV_CHANNEL_LAYOUT_7POINT1_WIDE }, > { "7.1(top)", AV_CHANNEL_LAYOUT_7POINT1_TOP_BACK }, > + { "7.1.4", AV_CHANNEL_LAYOUT_7POINT1POINT4 }, Fyi, your client mangled the patch. It can't be applied as is. This is introducing a new naming scheme, I assume to represent "Loudspeaker configuration for Sound System J" from ITU-R BS.2051-3, right? Until now we have used the definition in ITU-R BS.1196-8 for other layouts like 7.1(top) and 22.2, so it would be a good idea to try and come up with a common ground about how to name things from now on (Changes to existing layouts are possible, if anything by using alias defines). > { "octagonal", AV_CHANNEL_LAYOUT_OCTAGONAL }, > { "cube", AV_CHANNEL_LAYOUT_CUBE }, > { "hexadecagonal", AV_CHANNEL_LAYOUT_HEXADECAGONAL }, > diff --git a/libavutil/channel_layout.h b/libavutil/channel_layout.h > index ac2ddfa022..ddeff8c644 100644 > --- a/libavutil/channel_layout.h > +++ b/libavutil/channel_layout.h > @@ -233,6 +233,7 @@ enum AVChannelOrder { > #define AV_CH_LAYOUT_7POINT1_WIDE > (AV_CH_LAYOUT_5POINT1|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) > #define AV_CH_LAYOUT_7POINT1_WIDE_BACK > (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) > #define AV_CH_LAYOUT_7POINT1_TOP_BACK > (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT) > +#define AV_CH_LAYOUT_7POINT1POINT4 > (AV_CH_LAYOUT_7POINT1|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT) > #define AV_CH_LAYOUT_OCTAGONAL > (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_CENTER|AV_CH_BACK_RIGHT) > #define AV_CH_LAYOUT_CUBE > (AV_CH_LAYOUT_QUAD|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT) > #define AV_CH_LAYOUT_HEXADECAGONAL > (AV_CH_LAYOUT_OCTAGONAL|AV_CH_WIDE_LEFT|AV_CH_WIDE_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT) > @@ -399,6 +400,7 @@ typedef struct AVChannelLayout { > #define AV_CHANNEL_LAYOUT_7POINT1_WIDE AV_CHANNEL_LAYOUT_MASK(8, > AV_CH_LAYOUT_7POINT1_WIDE) > #define AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK AV_CHANNEL_LAYOUT_MASK(8, > AV_CH_LAYOUT_7POINT1_WIDE_BACK) > #define AV_CHANNEL_LAYOUT_7POINT1_TOP_BACK AV_CHANNEL_LAYOUT_MASK(8, > AV_CH_LAYOUT_7POINT1_TOP_BACK) > +#define AV_CHANNEL_LAYOUT_7POINT1POINT4 AV_CHANNEL_LAYOUT_MASK(12, > AV_CH_LAYOUT_7POINT1POINT4) > #define AV_CHANNEL_LAYOUT_OCTAGONAL AV_CHANNEL_LAYOUT_MASK(8, > AV_CH_LAYOUT_OCTAGONAL) > #define AV_CHANNEL_LAYOUT_CUBE AV_CHANNEL_LAYOUT_MASK(8, > AV_CH_LAYOUT_CUBE) > #define AV_CHANNEL_LAYOUT_HEXADECAGONAL AV_CHANNEL_LAYOUT_MASK(16, > AV_CH_LAYOUT_HEXADECAGONAL) > diff --git a/libavutil/version.h b/libavutil/version.h > index 4c0c545d40..279e54c394 100644 > --- a/libavutil/version.h > +++ b/libavutil/version.h > @@ -79,7 +79,7 @@ > */ > > #define LIBAVUTIL_VERSION_MAJOR 58 > -#define LIBAVUTIL_VERSION_MINOR 27 > +#define LIBAVUTIL_VERSION_MINOR 28 > #define LIBAVUTIL_VERSION_MICRO 100 > > #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ > diff --git a/tests/ref/fate/channel_layout b/tests/ref/fate/channel_layout > index b93f96dbb3..d49f8906d0 100644 > --- a/tests/ref/fate/channel_layout > +++ b/tests/ref/fate/channel_layout > @@ -25,6 +25,7 @@ hexagonal FL+FR+FC+BL+BR+BC > 7.1(wide) FL+FR+FC+LFE+BL+BR+FLC+FRC > 7.1(wide-side) FL+FR+FC+LFE+FLC+FRC+SL+SR > 7.1(top) FL+FR+FC+LFE+BL+BR+TFL+TFR > +7.1.4 FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBL+TBR > octagonal FL+FR+FC+BL+BR+BC+SL+SR > cube FL+FR+BL+BR+TFL+TFR+TBL+TBR > hexadecagonal FL+FR+FC+BL+BR+BC+SL+SR+TFL+TFC+TFR+TBL+TBC+TBR+WL+WR
diff --git a/doc/utils.texi b/doc/utils.texi index 8e8bfa76d4..c67ae6f6c6 100644 --- a/doc/utils.texi +++ b/doc/utils.texi @@ -715,6 +715,8 @@ FL+FR+FC+LFE+BL+BR+FLC+FRC FL+FR+FC+LFE+FLC+FRC+SL+SR @item 7.1(top) FL+FR+FC+LFE+BL+BR+TFL+TFR +@item 7.1.4 +FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBL+TBR @item octagonal FL+FR+FC+BL+BR+BC+SL+SR @item cube diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c index 9b581ae6b3..a2c4eff5f4 100644 --- a/libavutil/channel_layout.c +++ b/libavutil/channel_layout.c @@ -201,6 +201,7 @@ static const struct channel_layout_name channel_layout_map[] = { { "7.1(wide)", AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK }, { "7.1(wide-side)", AV_CHANNEL_LAYOUT_7POINT1_WIDE }, { "7.1(top)", AV_CHANNEL_LAYOUT_7POINT1_TOP_BACK }, + { "7.1.4", AV_CHANNEL_LAYOUT_7POINT1POINT4 }, { "octagonal", AV_CHANNEL_LAYOUT_OCTAGONAL }, { "cube", AV_CHANNEL_LAYOUT_CUBE }, { "hexadecagonal", AV_CHANNEL_LAYOUT_HEXADECAGONAL }, diff --git a/libavutil/channel_layout.h b/libavutil/channel_layout.h index ac2ddfa022..ddeff8c644 100644 --- a/libavutil/channel_layout.h +++ b/libavutil/channel_layout.h @@ -233,6 +233,7 @@ enum AVChannelOrder { #define AV_CH_LAYOUT_7POINT1_WIDE (AV_CH_LAYOUT_5POINT1|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) #define AV_CH_LAYOUT_7POINT1_WIDE_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) #define AV_CH_LAYOUT_7POINT1_TOP_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT) +#define AV_CH_LAYOUT_7POINT1POINT4 (AV_CH_LAYOUT_7POINT1|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT) #define AV_CH_LAYOUT_OCTAGONAL (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_CENTER|AV_CH_BACK_RIGHT) #define AV_CH_LAYOUT_CUBE (AV_CH_LAYOUT_QUAD|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT) #define AV_CH_LAYOUT_HEXADECAGONAL (AV_CH_LAYOUT_OCTAGONAL|AV_CH_WIDE_LEFT|AV_CH_WIDE_RIGHT|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT|AV_CH_TOP_BACK_CENTER|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT) @@ -399,6 +400,7 @@ typedef struct AVChannelLayout { #define AV_CHANNEL_LAYOUT_7POINT1_WIDE AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1_WIDE) #define AV_CHANNEL_LAYOUT_7POINT1_WIDE_BACK AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1_WIDE_BACK) #define AV_CHANNEL_LAYOUT_7POINT1_TOP_BACK AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_7POINT1_TOP_BACK) +#define AV_CHANNEL_LAYOUT_7POINT1POINT4 AV_CHANNEL_LAYOUT_MASK(12, AV_CH_LAYOUT_7POINT1POINT4) #define AV_CHANNEL_LAYOUT_OCTAGONAL AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_OCTAGONAL) #define AV_CHANNEL_LAYOUT_CUBE AV_CHANNEL_LAYOUT_MASK(8, AV_CH_LAYOUT_CUBE) #define AV_CHANNEL_LAYOUT_HEXADECAGONAL AV_CHANNEL_LAYOUT_MASK(16, AV_CH_LAYOUT_HEXADECAGONAL) diff --git a/libavutil/version.h b/libavutil/version.h index 4c0c545d40..279e54c394 100644 --- a/libavutil/version.h +++ b/libavutil/version.h @@ -79,7 +79,7 @@ */ #define LIBAVUTIL_VERSION_MAJOR 58 -#define LIBAVUTIL_VERSION_MINOR 27 +#define LIBAVUTIL_VERSION_MINOR 28 #define LIBAVUTIL_VERSION_MICRO 100 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ diff --git a/tests/ref/fate/channel_layout b/tests/ref/fate/channel_layout index b93f96dbb3..d49f8906d0 100644 --- a/tests/ref/fate/channel_layout +++ b/tests/ref/fate/channel_layout @@ -25,6 +25,7 @@ hexagonal FL+FR+FC+BL+BR+BC 7.1(wide) FL+FR+FC+LFE+BL+BR+FLC+FRC 7.1(wide-side) FL+FR+FC+LFE+FLC+FRC+SL+SR 7.1(top) FL+FR+FC+LFE+BL+BR+TFL+TFR +7.1.4 FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBL+TBR octagonal FL+FR+FC+BL+BR+BC+SL+SR cube FL+FR+BL+BR+TFL+TFR+TBL+TBR hexadecagonal FL+FR+FC+BL+BR+BC+SL+SR+TFL+TFC+TFR+TBL+TBC+TBR+WL+WR
Signed-off-by: Will Wolcott <wwolcott@netflix.com> --- doc/utils.texi | 2 ++ libavutil/channel_layout.c | 1 + libavutil/channel_layout.h | 2 ++ libavutil/version.h | 2 +- tests/ref/fate/channel_layout | 1 + 5 files changed, 7 insertions(+), 1 deletion(-)