[FFmpeg-devel] [PATCH 1/6] avutil/opt: add AV_OPT_FLAG_CHILD_CONSTS

mypopy at gmail.com mypopy at gmail.com
Thu May 21 16:46:48 EEST 2020


On Tue, May 19, 2020 at 2:43 AM Marton Balint <cus at passwd.hu> wrote:
>
>
>
> On Mon, 11 May 2020, Marton Balint wrote:
>
> > This will be used for AVCodecContext->profile. By specifying constants in the
> > encoders we won't have to use the common AVCodecContext options table and
> > different encoders can use the same profile name even with different values.
> >
> > Signed-off-by: Marton Balint <cus at passwd.hu>
> > ---
> > doc/APIchanges      | 3 +++
> > libavutil/opt.c     | 3 ++-
> > libavutil/opt.h     | 1 +
> > libavutil/version.h | 2 +-
> > 4 files changed, 7 insertions(+), 2 deletions(-)
> >
> > diff --git a/doc/APIchanges b/doc/APIchanges
> > index 75cfdb08b0..235888c174 100644
> > --- a/doc/APIchanges
> > +++ b/doc/APIchanges
> > @@ -15,6 +15,9 @@ libavutil:     2017-10-21
> >
> > API changes, most recent first:
> >
> > +2020-05-xx - xxxxxxxxxx - lavu 56.44.101 - opt.h
> > +  Add AV_OPT_FLAG_CHILD_CONSTS.
> > +
> > 2020-05-10 - xxxxxxxxxx - lavu 56.44.100 - hwcontext_vulkan.h
> >   Add enabled_inst_extensions, num_enabled_inst_extensions, enabled_dev_extensions
> >   and num_enabled_dev_extensions fields to AVVulkanDeviceContext
> > diff --git a/libavutil/opt.c b/libavutil/opt.c
> > index b792dec01c..423313bce2 100644
> > --- a/libavutil/opt.c
> > +++ b/libavutil/opt.c
> > @@ -256,11 +256,12 @@ static int set_string_number(void *obj, void *target_obj, const AVOption *o, con
> >         }
> >
> >         {
> > -            const AVOption *o_named = av_opt_find(target_obj, i ? buf : val, o->unit, 0, 0);
> >             int res;
> >             int ci = 0;
> >             double const_values[64];
> >             const char * const_names[64];
> > +            int search_flags = (o->flags & AV_OPT_FLAG_CHILD_CONSTS) ? AV_OPT_SEARCH_CHILDREN : 0;
> > +            const AVOption *o_named = av_opt_find(target_obj, i ? buf : val, o->unit, 0, search_flags);
> >             if (o_named && o_named->type == AV_OPT_TYPE_CONST)
> >                 d = DEFAULT_NUMVAL(o_named);
> >             else {
> > diff --git a/libavutil/opt.h b/libavutil/opt.h
> > index 1969c984dd..e46119572a 100644
> > --- a/libavutil/opt.h
> > +++ b/libavutil/opt.h
> > @@ -291,6 +291,7 @@ typedef struct AVOption {
> > #define AV_OPT_FLAG_RUNTIME_PARAM   (1<<15) ///< a generic parameter which can be set by the user at runtime
> > #define AV_OPT_FLAG_FILTERING_PARAM (1<<16) ///< a generic parameter which can be set by the user for filtering
> > #define AV_OPT_FLAG_DEPRECATED      (1<<17) ///< set if option is deprecated, users should refer to AVOption.help text for more information
> > +#define AV_OPT_FLAG_CHILD_CONSTS    (1<<18) ///< set if option constants can also reside in child objects
> > //FIXME think about enc-audio, ... style flags
> >
> >     /**
> > diff --git a/libavutil/version.h b/libavutil/version.h
> > index 48d8a38c42..c4946c1c7e 100644
> > --- a/libavutil/version.h
> > +++ b/libavutil/version.h
> > @@ -80,7 +80,7 @@
> >
> > #define LIBAVUTIL_VERSION_MAJOR  56
> > #define LIBAVUTIL_VERSION_MINOR  44
> > -#define LIBAVUTIL_VERSION_MICRO 100
> > +#define LIBAVUTIL_VERSION_MICRO 101
> >
> > #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
> >                                                LIBAVUTIL_VERSION_MINOR, \
>
>
> Ping for the series, is there anybody against the approach I took to move
> profile name constants to encoders?
I'm OK for this series


More information about the ffmpeg-devel mailing list