]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/timecode.h
lavc: Check CODEC_CAP_VARIABLE_FRAME_SIZE && !frame
[ffmpeg] / libavcodec / timecode.h
index 3f3c17e612e1ada0b62bc63783a9bd7c0b3da83c..bcfb0fa8340ca9821ef93db21f48604b106036e5 100644 (file)
@@ -41,7 +41,7 @@ struct ff_timecode {
     char *str;       ///< string following the hh:mm:ss[:;.]ff format
     int start;       ///< timecode frame start
     int drop;        ///< drop flag (1 if drop, else 0)
-    AVRational rate; ///< Frame rate in rationnal form
+    AVRational rate; ///< Frame rate in rational form
 };
 
 /**
@@ -67,11 +67,20 @@ uint32_t avpriv_framenum_to_smpte_timecode(unsigned frame, int fps, int drop);
  * @param tc    Timecode struct pointer
  * @param frame Frame id (timecode frame is computed with tc->start+frame)
  * @return a pointer to the buf parameter
- * @note  buf must have enough space to store the timecode representation
- *        (sizeof("hh:mm:ss.ff"))
+ * @note  timecode representation can be a negative timecode and have
+ *        more than 24 hours.
+ * @note  buf must have enough space to store the timecode representation: 16
+ *        bytes is the minimum required size.
  */
 char *avpriv_timecode_to_string(char *buf, const struct ff_timecode *tc, unsigned frame);
 
+/**
+ * Check if timecode rate is valid and consistent with the drop flag.
+ *
+ * @return 0 on success, negative value on failure
+ */
+int avpriv_check_timecode_rate(void *avcl, AVRational rate, int drop);
+
 /**
  * Parse SMTPE 12M time representation (hh:mm:ss[:;.]ff). str and rate fields
  * from tc struct must be set.