lavc: add a flag for exporting AVVideoEncParams from decoders
authorAnton Khirnov <anton@khirnov.net>
Tue, 10 Mar 2020 10:12:13 +0000 (11:12 +0100)
committerAnton Khirnov <anton@khirnov.net>
Tue, 12 May 2020 07:37:47 +0000 (09:37 +0200)
doc/APIchanges
libavcodec/avcodec.h
libavcodec/options_table.h
libavcodec/version.h

index 29ab551..e13138b 100644 (file)
@@ -16,8 +16,11 @@ libavutil:     2017-10-21
 API changes, most recent first:
 
 2020-xx-xx - xxxxxxxxxx - lavu 56.45.100 - video_enc_params.h
+                          lavc 58.84.100 - avcodec.h
   Add a new API for exporting video encoding information.
   Replaces the deprecated API for exporting QP tables from decoders.
+  Add AV_CODEC_EXPORT_DATA_VIDEO_ENC_PARAMS to request this information from
+  decoders.
 
 2020-05-10 - xxxxxxxxxx - lavu 56.44.100 - hwcontext_vulkan.h
   Add enabled_inst_extensions, num_enabled_inst_extensions, enabled_dev_extensions
index 2bce39f..c9baf85 100644 (file)
@@ -531,6 +531,11 @@ typedef struct RcOverride{
  * Export encoder Producer Reference Time through packet side data
  */
 #define AV_CODEC_EXPORT_DATA_PRFT        (1 << 1)
+/**
+ * Decoding only.
+ * Export the AVVideoEncParams structure through frame side data.
+ */
+#define AV_CODEC_EXPORT_DATA_VIDEO_ENC_PARAMS (1 << 2)
 
 /**
  * Pan Scan area.
index 5436674..695fa5c 100644 (file)
@@ -81,6 +81,7 @@ static const AVOption avcodec_options[] = {
 {"export_side_data", "Export metadata as side data", OFFSET(export_side_data), AV_OPT_TYPE_FLAGS, {.i64 = DEFAULT}, 0, UINT_MAX, A|V|S|D|E, "export_side_data"},
 {"mvs", "export motion vectors through frame side data", 0, AV_OPT_TYPE_CONST, {.i64 = AV_CODEC_EXPORT_DATA_MVS}, INT_MIN, INT_MAX, V|D, "export_side_data"},
 {"prft", "export Producer Reference Time through packet side data", 0, AV_OPT_TYPE_CONST, {.i64 = AV_CODEC_EXPORT_DATA_PRFT}, INT_MIN, INT_MAX, A|V|S|E, "export_side_data"},
+{"venc_params", "export video encoding parameters through frame side data", 0, AV_OPT_TYPE_CONST, {.i64 = AV_CODEC_EXPORT_DATA_VIDEO_ENC_PARAMS}, INT_MIN, INT_MAX, A|V|S|E, "export_side_data"},
 {"time_base", NULL, OFFSET(time_base), AV_OPT_TYPE_RATIONAL, {.dbl = 0}, 0, INT_MAX},
 {"g", "set the group of picture (GOP) size", OFFSET(gop_size), AV_OPT_TYPE_INT, {.i64 = 12 }, INT_MIN, INT_MAX, V|E},
 {"ar", "set audio sampling rate (in Hz)", OFFSET(sample_rate), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, 0, INT_MAX, A|D|E},
index 691320b..82255d7 100644 (file)
@@ -28,7 +28,7 @@
 #include "libavutil/version.h"
 
 #define LIBAVCODEC_VERSION_MAJOR  58
-#define LIBAVCODEC_VERSION_MINOR  83
+#define LIBAVCODEC_VERSION_MINOR  84
 #define LIBAVCODEC_VERSION_MICRO 100
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \