avutil/channel_layout: add 5.1.6 and 7.1.6 layouts

Defined in ISO/IEC 23001-8 Table 9.

Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
James Almer committed 2026-09-27 18:38:11 -03:00
1 parent a8e1a613af
commit 30b05343a6
3 files changed
+8

No files matched your search

+2
View File
@@ -219,8 +219,10 @@ static const struct channel_layout_name channel_layout_map[] = {
{ "octagonal", AV_CHANNEL_LAYOUT_OCTAGONAL },
{ "cube", AV_CHANNEL_LAYOUT_CUBE },
{ "5.1.4", AV_CHANNEL_LAYOUT_5POINT1POINT4 },
{ "5.1.6", AV_CHANNEL_LAYOUT_5POINT1POINT6 },
{ "7.1.2", AV_CHANNEL_LAYOUT_7POINT1POINT2 },
{ "7.1.4", AV_CHANNEL_LAYOUT_7POINT1POINT4 },
{ "7.1.6", AV_CHANNEL_LAYOUT_7POINT1POINT6 },
{ "7.2.3", AV_CHANNEL_LAYOUT_7POINT2POINT3 },
{ "9.1.4", AV_CHANNEL_LAYOUT_9POINT1POINT4 },
{ "9.1.6", AV_CHANNEL_LAYOUT_9POINT1POINT6 },
+4
View File
@@ -245,8 +245,10 @@ enum AVChannelOrder {
#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_5POINT1POINT4 (AV_CH_LAYOUT_5POINT1POINT2|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT)
#define AV_CH_LAYOUT_5POINT1POINT6 (AV_CH_LAYOUT_5POINT1POINT4|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_CENTER)
#define AV_CH_LAYOUT_7POINT1POINT2 (AV_CH_LAYOUT_7POINT1|AV_CH_TOP_FRONT_LEFT|AV_CH_TOP_FRONT_RIGHT)
#define AV_CH_LAYOUT_7POINT1POINT4 (AV_CH_LAYOUT_7POINT1POINT2|AV_CH_TOP_BACK_LEFT|AV_CH_TOP_BACK_RIGHT)
#define AV_CH_LAYOUT_7POINT1POINT6 (AV_CH_LAYOUT_7POINT1POINT4|AV_CH_TOP_FRONT_CENTER|AV_CH_TOP_CENTER)
#define AV_CH_LAYOUT_7POINT2POINT3 (AV_CH_LAYOUT_7POINT1POINT2|AV_CH_TOP_BACK_CENTER|AV_CH_LOW_FREQUENCY_2)
#define AV_CH_LAYOUT_9POINT1POINT4 (AV_CH_LAYOUT_7POINT1POINT4|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
#define AV_CH_LAYOUT_9POINT1POINT6 (AV_CH_LAYOUT_9POINT1POINT4|AV_CH_TOP_SIDE_LEFT|AV_CH_TOP_SIDE_RIGHT)
@@ -431,8 +433,10 @@ typedef struct AVChannelLayout {
#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_5POINT1POINT4 AV_CHANNEL_LAYOUT_MASK(10, AV_CH_LAYOUT_5POINT1POINT4)
#define AV_CHANNEL_LAYOUT_5POINT1POINT6 AV_CHANNEL_LAYOUT_MASK(12, AV_CH_LAYOUT_5POINT1POINT6)
#define AV_CHANNEL_LAYOUT_7POINT1POINT2 AV_CHANNEL_LAYOUT_MASK(10, AV_CH_LAYOUT_7POINT1POINT2)
#define AV_CHANNEL_LAYOUT_7POINT1POINT4 AV_CHANNEL_LAYOUT_MASK(12, AV_CH_LAYOUT_7POINT1POINT4)
#define AV_CHANNEL_LAYOUT_7POINT1POINT6 AV_CHANNEL_LAYOUT_MASK(14, AV_CH_LAYOUT_7POINT1POINT6)
#define AV_CHANNEL_LAYOUT_7POINT2POINT3 AV_CHANNEL_LAYOUT_MASK(12, AV_CH_LAYOUT_7POINT2POINT3)
#define AV_CHANNEL_LAYOUT_9POINT1POINT4 AV_CHANNEL_LAYOUT_MASK(14, AV_CH_LAYOUT_9POINT1POINT4)
#define AV_CHANNEL_LAYOUT_9POINT1POINT6 AV_CHANNEL_LAYOUT_MASK(16, AV_CH_LAYOUT_9POINT1POINT6)
+2
View File
@@ -30,8 +30,10 @@ hexagonal FL+FR+FC+BL+BR+BC
octagonal FL+FR+FC+BL+BR+BC+SL+SR
cube FL+FR+BL+BR+TFL+TFR+TBL+TBR
5.1.4 FL+FR+FC+LFE+SL+SR+TFL+TFR+TBL+TBR
5.1.6 FL+FR+FC+LFE+SL+SR+TC+TFL+TFC+TFR+TBL+TBR
7.1.2 FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR
7.1.4 FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBL+TBR
7.1.6 FL+FR+FC+LFE+BL+BR+SL+SR+TC+TFL+TFC+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