aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLynne <dev@lynne.ee>2024-05-25 03:33:22 +0200
committerLynne <dev@lynne.ee>2024-06-02 18:34:38 +0200
commitcaeb27509245e87dd0dc6a0677fdeedab3406a97 (patch)
tree2eda4b7a0e5fe32fdffe8e95587ec3e8f7e79849
parent6c6bec04f3fc57674cb0dfca27ce415990a3f3e1 (diff)
downloadffmpeg-caeb27509245e87dd0dc6a0677fdeedab3406a97.tar.gz
channel_layout: add new channel positions supported by xHE-AAC
apichanges will be updated upon merging, as well as a version bump.
-rw-r--r--libavutil/channel_layout.c4
-rw-r--r--libavutil/channel_layout.h8
2 files changed, 12 insertions, 0 deletions
diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c
index 98839b7250..2d6963b6df 100644
--- a/libavutil/channel_layout.c
+++ b/libavutil/channel_layout.c
@@ -75,6 +75,10 @@ static const struct channel_name channel_names[] = {
[AV_CHAN_BOTTOM_FRONT_CENTER ] = { "BFC", "bottom front center" },
[AV_CHAN_BOTTOM_FRONT_LEFT ] = { "BFL", "bottom front left" },
[AV_CHAN_BOTTOM_FRONT_RIGHT ] = { "BFR", "bottom front right" },
+ [AV_CHAN_SIDE_SURROUND_LEFT ] = { "SSL", "side surround left" },
+ [AV_CHAN_SIDE_SURROUND_RIGHT ] = { "SSR", "side surround right" },
+ [AV_CHAN_TOP_SURROUND_LEFT ] = { "TTL", "top surround left" },
+ [AV_CHAN_TOP_SURROUND_RIGHT ] = { "TTR", "top surround right" },
};
void av_channel_name_bprint(AVBPrint *bp, enum AVChannel channel_id)
diff --git a/libavutil/channel_layout.h b/libavutil/channel_layout.h
index b26b601065..3a96c2d9b8 100644
--- a/libavutil/channel_layout.h
+++ b/libavutil/channel_layout.h
@@ -79,6 +79,10 @@ enum AVChannel {
AV_CHAN_BOTTOM_FRONT_CENTER,
AV_CHAN_BOTTOM_FRONT_LEFT,
AV_CHAN_BOTTOM_FRONT_RIGHT,
+ AV_CHAN_SIDE_SURROUND_LEFT, ///< +90 degrees, Lss, SiL
+ AV_CHAN_SIDE_SURROUND_RIGHT, ///< -90 degrees, Rss, SiR
+ AV_CHAN_TOP_SURROUND_LEFT, ///< +110 degrees, Lvs, TpLS
+ AV_CHAN_TOP_SURROUND_RIGHT, ///< -110 degrees, Rvs, TpRS
/** Channel is empty can be safely skipped. */
AV_CHAN_UNUSED = 0x200,
@@ -195,6 +199,10 @@ enum AVChannelOrder {
#define AV_CH_BOTTOM_FRONT_CENTER (1ULL << AV_CHAN_BOTTOM_FRONT_CENTER )
#define AV_CH_BOTTOM_FRONT_LEFT (1ULL << AV_CHAN_BOTTOM_FRONT_LEFT )
#define AV_CH_BOTTOM_FRONT_RIGHT (1ULL << AV_CHAN_BOTTOM_FRONT_RIGHT )
+#define AV_CH_SIDE_SURROUND_LEFT (1ULL << AV_CHAN_SIDE_SURROUND_LEFT )
+#define AV_CH_SIDE_SURROUND_RIGHT (1ULL << AV_CHAN_SIDE_SURROUND_RIGHT )
+#define AV_CH_TOP_SURROUND_LEFT (1ULL << AV_CHAN_TOP_SURROUND_LEFT )
+#define AV_CH_TOP_SURROUND_RIGHT (1ULL << AV_CHAN_TOP_SURROUND_RIGHT )
/**
* @}