Message ID | 20240702090917.319956-2-ffmpeg-devel@pileofstuff.org |
---|---|
State | New |
Headers | show |
Series | s/RUNTIME/POST_INIT_SETTABLE/ | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | fail | Make fate failed |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
Quoting Andrew Sayers (2024-07-02 11:08:38) > The old name could be misread as the opposite of "AV_OPT_FLAG_READONLY" - > some things can be set at runtime, others are read-only. Clarify that > this refers to options that can be set after the struct is initialized. > --- > doc/APIchanges | 4 ++++ > libavutil/opt.h | 15 ++++++++++++++- > libavutil/version.h | 3 ++- > 3 files changed, 20 insertions(+), 2 deletions(-) > > diff --git a/doc/APIchanges b/doc/APIchanges > index f1828436e5..8217c391cb 100644 > --- a/doc/APIchanges > +++ b/doc/APIchanges > @@ -2,6 +2,10 @@ The last version increases of all libraries were on 2024-03-07 > > API changes, most recent first: > > +2024-07-02 - xxxxxxxxxx - lavu 59.28.100 - opt.h > + Deprecate AV_OPT_FLAG_RUNTIME_PARAM and replace it with > + AV_OPT_FLAG_POST_INIT_SETTABLE_PARAM. Unwarranted API churn
On date Tuesday 2024-07-02 10:08:38 +0100, Andrew Sayers wrote: > The old name could be misread as the opposite of "AV_OPT_FLAG_READONLY" - > some things can be set at runtime, others are read-only. Clarify that > this refers to options that can be set after the struct is initialized. > --- > doc/APIchanges | 4 ++++ > libavutil/opt.h | 15 ++++++++++++++- > libavutil/version.h | 3 ++- > 3 files changed, 20 insertions(+), 2 deletions(-) Looks good to me, but will wait to let the discussion about the "little benefit renaming" settle.
diff --git a/doc/APIchanges b/doc/APIchanges index f1828436e5..8217c391cb 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -2,6 +2,10 @@ The last version increases of all libraries were on 2024-03-07 API changes, most recent first: +2024-07-02 - xxxxxxxxxx - lavu 59.28.100 - opt.h + Deprecate AV_OPT_FLAG_RUNTIME_PARAM and replace it with + AV_OPT_FLAG_POST_INIT_SETTABLE_PARAM. + 2024-06-28 - xxxxxxxxxx - lavu 59.27.100 - stereo3d.h Add AV_STEREO3D_UNSPEC and AV_STEREO3D_VIEW_UNSPEC. diff --git a/libavutil/opt.h b/libavutil/opt.h index 07e27a9208..b78c3406fa 100644 --- a/libavutil/opt.h +++ b/libavutil/opt.h @@ -53,6 +53,9 @@ * question is allowed to access the field. This allows us to extend the * semantics of those fields without breaking API compatibility. * + * Note: only options with the AV_OPT_FLAG_POST_INIT_SETTABLE_PARAM flag can be + * modified after the struct is initialized. + * * @section avoptions_scope Scope of AVOptions * * AVOptions is designed to support any set of multimedia configuration options @@ -300,9 +303,19 @@ enum AVOptionType{ #define AV_OPT_FLAG_BSF_PARAM (1 << 8) /** - * A generic parameter which can be set by the user at runtime. + * A generic parameter which can be set by the user after the struct is initialized. + */ +#define AV_OPT_FLAG_POST_INIT_SETTABLE_PARAM (1 << 15) +#if FF_API_OPT_FLAG_RUNTIME_PARAM +/** + * A generic parameter which can be set by the user after the struct is initialized. + * + * @deprecated Renamed for clarity - to continue using this feature, + * please do s/AV_OPT_FLAG_RUNTIME_PARAM/AV_OPT_FLAG_POST_INIT_SETTABLE_PARAM/g + * throughout your codebase */ #define AV_OPT_FLAG_RUNTIME_PARAM (1 << 15) +#endif /** * A generic parameter which can be set by the user for filtering. */ diff --git a/libavutil/version.h b/libavutil/version.h index a8962734e7..c03681f802 100644 --- a/libavutil/version.h +++ b/libavutil/version.h @@ -79,7 +79,7 @@ */ #define LIBAVUTIL_VERSION_MAJOR 59 -#define LIBAVUTIL_VERSION_MINOR 27 +#define LIBAVUTIL_VERSION_MINOR 28 #define LIBAVUTIL_VERSION_MICRO 100 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ @@ -113,6 +113,7 @@ #define FF_API_VULKAN_CONTIGUOUS_MEMORY (LIBAVUTIL_VERSION_MAJOR < 60) #define FF_API_H274_FILM_GRAIN_VCS (LIBAVUTIL_VERSION_MAJOR < 60) #define FF_API_MOD_UINTP2 (LIBAVUTIL_VERSION_MAJOR < 60) +#define FF_API_OPT_FLAG_RUNTIME_PARAM (LIBAVUTIL_VERSION_MAJOR < 60) /** * @}