Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevin Heitmueller <dheitmueller@ltnglobal.com>2018-06-29 21:57:13 +0300
committerKieran Kunhya <kierank@obe.tv>2018-10-23 17:46:30 +0300
commit4241e44a3c0193d182d3d614e7b4977c00c0225c (patch)
tree6162e908a5b8480a31ebd6f002c4520f529b38be /libavutil
parent92c25963e8b68c47055b813334eaf76599936a90 (diff)
lavc/h264: create AVFrame side data from H.264 timecodes
Create SMPTE ST 12-1 timecodes based on H.264 SEI picture timing info. For framerates > 30 FPS, the field flag is used in conjunction with pairs of frames which contain the same frame timestamp in S12M. Ensure the field is properly set per the spec.
Diffstat (limited to 'libavutil')
-rw-r--r--libavutil/frame.c1
-rw-r--r--libavutil/frame.h8
2 files changed, 9 insertions, 0 deletions
diff --git a/libavutil/frame.c b/libavutil/frame.c
index 4460325a9b..92626dccf2 100644
--- a/libavutil/frame.c
+++ b/libavutil/frame.c
@@ -831,6 +831,7 @@ const char *av_frame_side_data_name(enum AVFrameSideDataType type)
case AV_FRAME_DATA_MASTERING_DISPLAY_METADATA: return "Mastering display metadata";
case AV_FRAME_DATA_CONTENT_LIGHT_LEVEL: return "Content light level metadata";
case AV_FRAME_DATA_GOP_TIMECODE: return "GOP timecode";
+ case AV_FRAME_DATA_S12M_TIMECODE: return "SMPTE 12-1 timecode";
case AV_FRAME_DATA_SPHERICAL: return "Spherical Mapping";
case AV_FRAME_DATA_ICC_PROFILE: return "ICC profile";
#if FF_API_FRAME_QP
diff --git a/libavutil/frame.h b/libavutil/frame.h
index 9d57d6ce66..e2a292980f 100644
--- a/libavutil/frame.h
+++ b/libavutil/frame.h
@@ -158,6 +158,14 @@ enum AVFrameSideDataType {
*/
AV_FRAME_DATA_QP_TABLE_DATA,
#endif
+
+ /**
+ * Timecode which conforms to SMPTE ST 12-1. The data is an array of 4 uint32_t
+ * where the first uint32_t describes how many (1-3) of the other timecodes are used.
+ * The timecode format is described in the av_timecode_get_smpte_from_framenum()
+ * function in libavutil/timecode.c.
+ */
+ AV_FRAME_DATA_S12M_TIMECODE,
};
enum AVActiveFormatDescription {