From 6eb4bf04e9214a7714448cacd43472279b236718 Mon Sep 17 00:00:00 2001 From: James Almer Date: Sat, 26 Oct 2024 12:21:31 -0300 Subject: [PATCH] avutil/channel_layout: add a 9.1.6 layout Signed-off-by: James Almer --- doc/APIchanges | 3 +++ doc/utils.texi | 2 ++ libavutil/channel_layout.c | 1 + libavutil/channel_layout.h | 2 ++ libavutil/version.h | 2 +- tests/ref/fate/channel_layout | 1 + 6 files changed, 10 insertions(+), 1 deletion(-) diff --git a/doc/APIchanges b/doc/APIchanges index b9af3de933..3a75b803a9 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -2,6 +2,9 @@ The last version increases of all libraries were on 2024-03-07 API changes, most recent first: +2024-12-13 - xxxxxxxxxx - lavu 59.50.100 - channel_layout.h + Add AV_CH_LAYOUT_9POINT1POINT6 and AV_CHANNEL_LAYOUT_9POINT1POINT6. + 2024-12-05 - xxxxxxxxxx - lavu 59.49.100 - csp.h Add av_csp_itu_eotf() and av_csp_itu_eotf_inv(). diff --git a/doc/utils.texi b/doc/utils.texi index eb5ccc8355..9c50dac949 100644 --- a/doc/utils.texi +++ b/doc/utils.texi @@ -731,6 +731,8 @@ FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBL+TBR FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBC+LFE2 @item 9.1.4 FL+FR+FC+LFE+BL+BR+FLC+FRC+SL+SR+TFL+TFR+TBL+TBR +@item 9.1.6 +FL+FR+FC+LFE+BL+BR+FLC+FRC+SL+SR+TFL+TFR+TBL+TBR+TSL+TSR @item hexadecagonal FL+FR+FC+BL+BR+BC+SL+SR+WL+WR+TBL+TBR+TBC+TFC+TFL+TFR @item binaural diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c index dd97e167c7..dcf102d57a 100644 --- a/libavutil/channel_layout.c +++ b/libavutil/channel_layout.c @@ -221,6 +221,7 @@ static const struct channel_layout_name channel_layout_map[] = { { "7.1.4", AV_CHANNEL_LAYOUT_7POINT1POINT4_BACK }, { "7.2.3", AV_CHANNEL_LAYOUT_7POINT2POINT3 }, { "9.1.4", AV_CHANNEL_LAYOUT_9POINT1POINT4_BACK }, + { "9.1.6", AV_CHANNEL_LAYOUT_9POINT1POINT6 }, { "hexadecagonal", AV_CHANNEL_LAYOUT_HEXADECAGONAL }, { "binaural", AV_CHANNEL_LAYOUT_BINAURAL }, { "downmix", AV_CHANNEL_LAYOUT_STEREO_DOWNMIX, }, diff --git a/libavutil/channel_layout.h b/libavutil/channel_layout.h index 23fbc90606..4e0be7bed2 100644 --- a/libavutil/channel_layout.h +++ b/libavutil/channel_layout.h @@ -248,6 +248,7 @@ enum AVChannelOrder { #define AV_CH_LAYOUT_7POINT1POINT4_BACK (AV_CH_LAYOUT_7POINT1POINT2|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT) #define AV_CH_LAYOUT_7POINT2POINT3 (AV_CH_LAYOUT_7POINT1POINT2|AV_CH_TOP_BACK_CENTER|AV_CH_LOW_FREQUENCY_2) #define AV_CH_LAYOUT_9POINT1POINT4_BACK (AV_CH_LAYOUT_7POINT1POINT4_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER) +#define AV_CH_LAYOUT_9POINT1POINT6 (AV_CH_LAYOUT_9POINT1POINT4_BACK|AV_CH_TOP_SIDE_LEFT|AV_CH_TOP_SIDE_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) #define AV_CH_LAYOUT_BINAURAL (AV_CH_BINAURAL_LEFT|AV_CH_BINAURAL_RIGHT) #define AV_CH_LAYOUT_STEREO_DOWNMIX (AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT) @@ -423,6 +424,7 @@ typedef struct AVChannelLayout { #define AV_CHANNEL_LAYOUT_7POINT1POINT4_BACK AV_CHANNEL_LAYOUT_MASK(12, AV_CH_LAYOUT_7POINT1POINT4_BACK) #define AV_CHANNEL_LAYOUT_7POINT2POINT3 AV_CHANNEL_LAYOUT_MASK(12, AV_CH_LAYOUT_7POINT2POINT3) #define AV_CHANNEL_LAYOUT_9POINT1POINT4_BACK AV_CHANNEL_LAYOUT_MASK(14, AV_CH_LAYOUT_9POINT1POINT4_BACK) +#define AV_CHANNEL_LAYOUT_9POINT1POINT6 AV_CHANNEL_LAYOUT_MASK(16, AV_CH_LAYOUT_9POINT1POINT6) #define AV_CHANNEL_LAYOUT_HEXADECAGONAL AV_CHANNEL_LAYOUT_MASK(16, AV_CH_LAYOUT_HEXADECAGONAL) #define AV_CHANNEL_LAYOUT_BINAURAL AV_CHANNEL_LAYOUT_MASK(2, AV_CH_LAYOUT_BINAURAL) #define AV_CHANNEL_LAYOUT_STEREO_DOWNMIX AV_CHANNEL_LAYOUT_MASK(2, AV_CH_LAYOUT_STEREO_DOWNMIX) diff --git a/libavutil/version.h b/libavutil/version.h index ad1f3e68ba..e8c50ea4b2 100644 --- a/libavutil/version.h +++ b/libavutil/version.h @@ -79,7 +79,7 @@ */ #define LIBAVUTIL_VERSION_MAJOR 59 -#define LIBAVUTIL_VERSION_MINOR 49 +#define LIBAVUTIL_VERSION_MINOR 50 #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 0e3d6914bc..206f8d51c7 100644 --- a/tests/ref/fate/channel_layout +++ b/tests/ref/fate/channel_layout @@ -33,6 +33,7 @@ cube FL+FR+BL+BR+TFL+TFR+TBL+TBR 7.1.4 FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBL+TBR 7.2.3 FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBC+LFE2 9.1.4 FL+FR+FC+LFE+BL+BR+FLC+FRC+SL+SR+TFL+TFR+TBL+TBR +9.1.6 FL+FR+FC+LFE+BL+BR+FLC+FRC+SL+SR+TFL+TFR+TBL+TBR+TSL+TSR hexadecagonal FL+FR+FC+BL+BR+BC+SL+SR+TFL+TFC+TFR+TBL+TBC+TBR+WL+WR binaural BIL+BIR downmix DL+DR