[FFmpeg-cvslog] avutil/channel_layout: add a 3.1.2 channel layout
James Almer
git at videolan.org
Fri Oct 27 14:52:43 EEST 2023
ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Thu Oct 26 22:18:07 2023 -0300| [35b06853d1ba7a871a47b241b1f9f6cc7b4b08d1] | committer: James Almer
avutil/channel_layout: add a 3.1.2 channel layout
Signed-off-by: James Almer <jamrial at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=35b06853d1ba7a871a47b241b1f9f6cc7b4b08d1
---
doc/utils.texi | 2 ++
libavutil/channel_layout.c | 1 +
libavutil/channel_layout.h | 2 ++
tests/ref/fate/channel_layout | 1 +
4 files changed, 6 insertions(+)
diff --git a/doc/utils.texi b/doc/utils.texi
index f0c4c51b28..940d5381e3 100644
--- a/doc/utils.texi
+++ b/doc/utils.texi
@@ -695,6 +695,8 @@ FL+FR+FC+LFE+SL+SR
FL+FR+FC+BC+SL+SR
@item 6.0(front)
FL+FR+FLC+FRC+SL+SR
+ at item 3.1.2
+FL+FR+FC+LFE+TFL+TFR
@item hexagonal
FL+FR+FC+BL+BR+BC
@item 6.1
diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c
index 28fd46efa1..1a36736b7f 100644
--- a/libavutil/channel_layout.c
+++ b/libavutil/channel_layout.c
@@ -191,6 +191,7 @@ static const struct channel_layout_name channel_layout_map[] = {
{ "5.1(side)", AV_CHANNEL_LAYOUT_5POINT1 },
{ "6.0", AV_CHANNEL_LAYOUT_6POINT0 },
{ "6.0(front)", AV_CHANNEL_LAYOUT_6POINT0_FRONT },
+ { "3.1.2", AV_CHANNEL_LAYOUT_3POINT1POINT2 },
{ "hexagonal", AV_CHANNEL_LAYOUT_HEXAGONAL },
{ "6.1", AV_CHANNEL_LAYOUT_6POINT1 },
{ "6.1(back)", AV_CHANNEL_LAYOUT_6POINT1_BACK },
diff --git a/libavutil/channel_layout.h b/libavutil/channel_layout.h
index d8c2aa089c..a1765225c9 100644
--- a/libavutil/channel_layout.h
+++ b/libavutil/channel_layout.h
@@ -224,6 +224,7 @@ enum AVChannelOrder {
#define AV_CH_LAYOUT_6POINT0 (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_CENTER)
#define AV_CH_LAYOUT_6POINT0_FRONT (AV_CH_LAYOUT_2_2|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
#define AV_CH_LAYOUT_HEXAGONAL (AV_CH_LAYOUT_5POINT0_BACK|AV_CH_BACK_CENTER)
+#define AV_CH_LAYOUT_3POINT1POINT2 (AV_CH_LAYOUT_3POINT1|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT)
#define AV_CH_LAYOUT_6POINT1 (AV_CH_LAYOUT_5POINT1|AV_CH_BACK_CENTER)
#define AV_CH_LAYOUT_6POINT1_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_BACK_CENTER)
#define AV_CH_LAYOUT_6POINT1_FRONT (AV_CH_LAYOUT_6POINT0_FRONT|AV_CH_LOW_FREQUENCY)
@@ -394,6 +395,7 @@ typedef struct AVChannelLayout {
#define AV_CHANNEL_LAYOUT_5POINT1_BACK AV_CHANNEL_LAYOUT_MASK(6, AV_CH_LAYOUT_5POINT1_BACK)
#define AV_CHANNEL_LAYOUT_6POINT0 AV_CHANNEL_LAYOUT_MASK(6, AV_CH_LAYOUT_6POINT0)
#define AV_CHANNEL_LAYOUT_6POINT0_FRONT AV_CHANNEL_LAYOUT_MASK(6, AV_CH_LAYOUT_6POINT0_FRONT)
+#define AV_CHANNEL_LAYOUT_3POINT1POINT2 AV_CHANNEL_LAYOUT_MASK(6, AV_CH_LAYOUT_3POINT1POINT2)
#define AV_CHANNEL_LAYOUT_HEXAGONAL AV_CHANNEL_LAYOUT_MASK(6, AV_CH_LAYOUT_HEXAGONAL)
#define AV_CHANNEL_LAYOUT_6POINT1 AV_CHANNEL_LAYOUT_MASK(7, AV_CH_LAYOUT_6POINT1)
#define AV_CHANNEL_LAYOUT_6POINT1_BACK AV_CHANNEL_LAYOUT_MASK(7, AV_CH_LAYOUT_6POINT1_BACK)
diff --git a/tests/ref/fate/channel_layout b/tests/ref/fate/channel_layout
index 1276c1ffb8..ba01e7ae3f 100644
--- a/tests/ref/fate/channel_layout
+++ b/tests/ref/fate/channel_layout
@@ -15,6 +15,7 @@ quad(side) FL+FR+SL+SR
5.1(side) FL+FR+FC+LFE+SL+SR
6.0 FL+FR+FC+BC+SL+SR
6.0(front) FL+FR+FLC+FRC+SL+SR
+3.1.2 FL+FR+FC+LFE+TFL+TFR
hexagonal FL+FR+FC+BL+BR+BC
6.1 FL+FR+FC+LFE+BC+SL+SR
6.1(back) FL+FR+FC+LFE+BL+BR+BC
More information about the ffmpeg-cvslog
mailing list