diff mbox series

[FFmpeg-devel,v4,1/3] lavu/opt: Rename AV_OPT_FLAG_RUNTIME_PARAM to ...POST_INIT_SETTABLE_PARAM

Message ID 20240702090917.319956-2-ffmpeg-devel@pileofstuff.org
State New
Headers show
Series s/RUNTIME/POST_INIT_SETTABLE/ | expand

Checks

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

Commit Message

Andrew Sayers July 2, 2024, 9:08 a.m. UTC
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(-)

Comments

Anton Khirnov July 2, 2024, 9:49 a.m. UTC | #1
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
diff mbox series

Patch

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)
 
 /**
  * @}