[FFmpeg-devel] [PATCH 1/6] avcodec: add AV_CODEC_EXPORT_DATA_S12M_TC flag to export S12M timecode

lance.lmwang at gmail.com lance.lmwang at gmail.com
Wed Jul 15 02:29:57 EEST 2020


From: Limin Wang <lance.lmwang at gmail.com>

Signed-off-by: Limin Wang <lance.lmwang at gmail.com>
---
 doc/APIchanges             | 3 +++
 doc/codecs.texi            | 3 +++
 libavcodec/avcodec.h       | 4 ++++
 libavcodec/options_table.h | 1 +
 libavcodec/version.h       | 2 +-
 5 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/doc/APIchanges b/doc/APIchanges
index 67f2ac3..2811ee7 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -15,6 +15,9 @@ libavutil:     2017-10-21
 
 API changes, most recent first:
 
+2020-07-xx - xxxxxxxxxx - lavc 58.97.100 - avcodec.h
+  Add AV_CODEC_EXPORT_DATA_S12M_TC.
+
 2020-07-xx - xxxxxxxxxx - lavc 58.96.100 - packet.h
   Add AV_PKT_DATA_S12M_TIMECODE.
 
diff --git a/doc/codecs.texi b/doc/codecs.texi
index c092aad..263da9c 100644
--- a/doc/codecs.texi
+++ b/doc/codecs.texi
@@ -816,6 +816,9 @@ for codecs that support it. See also @file{doc/examples/export_mvs.c}.
 @item prft
 Export encoder Producer Reference Time into packet side-data (see @code{AV_PKT_DATA_PRFT})
 for codecs that support it.
+ at item s12m_tc
+Export SMPTE ST 12-1 timecode through packet side data (see @code{AV_PKT_DATA_S12M_TIMECODE})
+for codecs that support it.
 @end table
 
 @item error @var{integer} (@emph{encoding,video})
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index c91b2fd..f8420c0 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -410,6 +410,10 @@ typedef struct RcOverride{
  * Export the AVVideoEncParams structure through frame side data.
  */
 #define AV_CODEC_EXPORT_DATA_VIDEO_ENC_PARAMS (1 << 2)
+/**
+ * Export SMPTE ST 12-1 timecode through packet side data
+ */
+#define AV_CODEC_EXPORT_DATA_S12M_TC (1 << 3)
 
 /**
  * Pan Scan area.
diff --git a/libavcodec/options_table.h b/libavcodec/options_table.h
index 8ba137f..dcedfbb 100644
--- a/libavcodec/options_table.h
+++ b/libavcodec/options_table.h
@@ -83,6 +83,7 @@ static const AVOption avcodec_options[] = {
 {"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, V|D, "export_side_data"},
+{"s12m_tc", "export SMPTE ST 12-1 timecode through packet side data", 0, AV_OPT_TYPE_CONST, {.i64 = AV_CODEC_EXPORT_DATA_S12M_TC}, INT_MIN, INT_MAX, V|D, "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},
diff --git a/libavcodec/version.h b/libavcodec/version.h
index ad0bfd6..d5dca8c 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -28,7 +28,7 @@
 #include "libavutil/version.h"
 
 #define LIBAVCODEC_VERSION_MAJOR  58
-#define LIBAVCODEC_VERSION_MINOR  96
+#define LIBAVCODEC_VERSION_MINOR  97
 #define LIBAVCODEC_VERSION_MICRO 100
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
-- 
1.8.3.1



More information about the ffmpeg-devel mailing list