[FFmpeg-devel] [PATCH] [RFC] channel_layout: add support for ambisonics

Felicia Lim flim at google.com
Fri Jan 18 20:47:54 EET 2019


On Thu, Nov 29, 2018 at 1:55 PM Marton Balint <cus at passwd.hu> wrote:

>
>
> On Thu, 29 Nov 2018, Rostislav Pehlivanov wrote:
>
> > This is an RFC to add support for tagging channel layouts as ambisonics
> > in a backward-compatible way.
> > For now ambisonics up to third order are supported.
> > The functions have been updated to support and propagate the
> > AV_CH_LAYOUT_AMBISONICS flag.
> > This is messy but does not require a new API for layouts. Perhaps the
> > new proposed API might be a better solution, comments are welcome.
> > ---
> > doc/APIchanges             |  4 ++
> > libavutil/channel_layout.c | 85 +++++++++++++++++++++-----------------
> > libavutil/channel_layout.h | 19 ++++++++-
> > libavutil/version.h        |  4 +-
> > 4 files changed, 72 insertions(+), 40 deletions(-)
>
> Using separate channel_layout bits for each (up to 16) ambisonic channel
> seems a lot cleaner.
>

+1 for separate bits, e.g.

 static const struct channel_name channel_names[] = {
      ...
+    [36] = { "ACN_0",      "ambisonics component 0"       },
+    [37] = { "ACN_1",      "ambisonics component 1"       },

as it would also enable signalling ambisonics with an additional
head-locked stereo track.

What do you think of maintaining ACN order throughout as {0, 1, 2, 3, 4, 5
...} instead of {1, 2, 0, 3, 4, 5 ...}?

Thanks,
Felicia


> Regards,
> Marton
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>


More information about the ffmpeg-devel mailing list