Quoting Lynne (2021-12-08 10:02:34)
> 8 Dec 2021, 02:06 by jamr...@gmail.com:
> 
> > From: Anton Khirnov <an...@khirnov.net>
> >
> > The new API is more extensible and allows for custom layouts.
> > More accurate information is exported, eg for decoders that do not
> > set a channel layout, lavc will not make one up for them.
> >
> > Deprecate the old API working with just uint64_t bitmasks.
> >
> > Expanded and completed by Vittorio Giovara <vittorio.giov...@gmail.com>
> > and James Almer <jamr...@gmail.com>.
> > Signed-off-by: Vittorio Giovara <vittorio.giov...@gmail.com>
> > Signed-off-by: James Almer <jamr...@gmail.com>
> > ---
> >  libavutil/channel_layout.c | 498 ++++++++++++++++++++++++++++++------
> >  libavutil/channel_layout.h | 510 ++++++++++++++++++++++++++++++++++---
> >  libavutil/version.h        |   1 +
> >  3 files changed, 906 insertions(+), 103 deletions(-)
> >  
> >  /**
> >  * @}
> > @@ -128,6 +199,157 @@ enum AVMatrixEncoding {
> >  AV_MATRIX_ENCODING_NB
> >  };
> >  
> > +/**
> > + * @}
> > + */
> > +
> > +/**
> > + * An AVChannelCustom defines a single channel within a custom order layout
> > + *
> > + * Unlike most structures in FFmpeg, sizeof(AVChannelCustom) is a part of 
> > the
> > + * public ABI.
> > + *
> > + * No new fields may be added to it without a major version bump.
> > + */
> > +typedef struct AVChannelCustom {
> > +    enum AVChannel id;
> > +} AVChannelCustom;
> >
> 
> Consider adding a 25-byte or so of a description field string here that
> would also be copied if the frame/layout is copied?
> That way, users can assign a description label to each channel,
> for example labeling each channel in a 255 channel custom layout
> Opus stream used in production at a venue somewhere.
> Also, consider additionally reserving 16-bytes here, just in case.

That would enlarge the layout size by a significant amount. Keep in mind
that this is all per frame. And for something that very few people would
want to use.

These descriptors, if anyone really needs them, can live in side data.

-- 
Anton Khirnov
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to