[FFmpeg-devel] [PATCH 1/2] avutil/channel_layout: add Binaural channels and layout

Marton Balint cus at passwd.hu
Thu Oct 31 20:53:06 EET 2024


On Sun, 27 Oct 2024, James Almer wrote:

> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
> doc/utils.texi                | 2 ++
> libavutil/channel_layout.c    | 3 +++
> libavutil/channel_layout.h    | 7 +++++++
> tests/ref/fate/channel_layout | 1 +
> 4 files changed, 13 insertions(+)
>
> diff --git a/doc/utils.texi b/doc/utils.texi
> index 9968725d2a..eb5ccc8355 100644
> --- a/doc/utils.texi
> +++ b/doc/utils.texi
> @@ -733,6 +733,8 @@ FL+FR+FC+LFE+BL+BR+SL+SR+TFL+TFR+TBC+LFE2
> FL+FR+FC+LFE+BL+BR+FLC+FRC+SL+SR+TFL+TFR+TBL+TBR
> @item hexadecagonal
> FL+FR+FC+BL+BR+BC+SL+SR+WL+WR+TBL+TBR+TBC+TFC+TFL+TFR
> + at item binaural
> +BIL+BIR
> @item downmix
> DL+DR
> @item 22.2
> diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c
> index 2d6963b6df..dd97e167c7 100644
> --- a/libavutil/channel_layout.c
> +++ b/libavutil/channel_layout.c
> @@ -79,6 +79,8 @@ static const struct channel_name channel_names[] = {
>     [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"    },
> +    [AV_CHAN_BINAURAL_LEFT        ] = { "BIL",       "binaural left"         },
> +    [AV_CHAN_BINAURAL_RIGHT       ] = { "BIR",       "binaural right"        },
> };
>
> void av_channel_name_bprint(AVBPrint *bp, enum AVChannel channel_id)
> @@ -220,6 +222,7 @@ static const struct channel_layout_name channel_layout_map[] = {
>     { "7.2.3",          AV_CHANNEL_LAYOUT_7POINT2POINT3       },
>     { "9.1.4",          AV_CHANNEL_LAYOUT_9POINT1POINT4_BACK  },
>     { "hexadecagonal",  AV_CHANNEL_LAYOUT_HEXADECAGONAL       },
> +    { "binaural",       AV_CHANNEL_LAYOUT_BINAURAL            },
>     { "downmix",        AV_CHANNEL_LAYOUT_STEREO_DOWNMIX,     },
>     { "22.2",           AV_CHANNEL_LAYOUT_22POINT2,           },
> };
> diff --git a/libavutil/channel_layout.h b/libavutil/channel_layout.h
> index 3a96c2d9b8..23fbc90606 100644
> --- a/libavutil/channel_layout.h
> +++ b/libavutil/channel_layout.h
> @@ -84,6 +84,9 @@ enum AVChannel {
>     AV_CHAN_TOP_SURROUND_LEFT,      ///< +110 degrees, Lvs, TpLS
>     AV_CHAN_TOP_SURROUND_RIGHT,     ///< -110 degrees, Rvs, TpRS
>
> +    AV_CHAN_BINAURAL_LEFT = 61,
> +    AV_CHAN_BINAURAL_RIGHT,

Why 61 instead of simply continuing the enum?

Thanks,
Marton


More information about the ffmpeg-devel mailing list