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. + 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) /** * @} -- 2.45.2 _______________________________________________ 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".