[FFmpeg-devel] [PATCH 06/29] lavu/opt: add array options
Anton Khirnov
anton at khirnov.net
Mon Mar 4 23:00:53 EET 2024
Quoting Andreas Rheinhardt (2024-03-04 14:29:59)
> Anton Khirnov:
> > ---
> > doc/APIchanges | 3 +
> > libavutil/opt.c | 362 +++++++++++++++++++++++++++++++++++++-----
> > libavutil/opt.h | 62 +++++++-
> > libavutil/tests/opt.c | 51 ++++++
> > tests/ref/fate/opt | 35 +++-
> > 5 files changed, 468 insertions(+), 45 deletions(-)
> >
> > diff --git a/doc/APIchanges b/doc/APIchanges
> > index 7d46ebb006..3209614ed6 100644
> > --- a/doc/APIchanges
> > +++ b/doc/APIchanges
> > @@ -2,6 +2,9 @@ The last version increases of all libraries were on 2023-02-09
> >
> > API changes, most recent first:
> >
> > +2024-02-xx - xxxxxxxxxx - lavu 58.xx.100 - opt.h
> > + Add AV_OPT_TYPE_FLAG_ARRAY and AVOptionArrayDef.
> > +
> > 2024-02-28 - xxxxxxxxxx - swr 4.14.100 - swresample.h
> > swr_convert() now accepts arrays of const pointers (to input and output).
> >
> > diff --git a/libavutil/opt.h b/libavutil/opt.h
> > index e402f6a0a0..77797b3fbe 100644
> > --- a/libavutil/opt.h
> > +++ b/libavutil/opt.h
> > @@ -253,6 +253,17 @@ enum AVOptionType{
> > #endif
> > AV_OPT_TYPE_BOOL,
> > AV_OPT_TYPE_CHLAYOUT,
> > +
> > + /**
> > + * May be combined with another regular option type to declare an array
> > + * option.
> > + *
> > + * For array options, @ref AVOption.offset should refer to a pointer
> > + * corresponding to the option type. The pointer should be immediately
> > + * followed by an unsigned int that will store the number of elements in the
> > + * array.
>
> How about we make this actually type-safe and use an actual struct for
> this instead of relying on the compiler not adding padding between a
> pointer and an unsigned int?
A struct containing what exactly?
--
Anton Khirnov
More information about the ffmpeg-devel
mailing list