]> git.sesse.net Git - ffmpeg/blobdiff - libavutil/frame.h
Merge commit '7d61dc95d741ca134d59b1f34c4e10c4c4e36f56'
[ffmpeg] / libavutil / frame.h
index 406c8b5b661c080b412f061842c13e16d5e2c32f..76a8123dcb26070f4232c5b3f727a9135d8529fe 100644 (file)
@@ -1,5 +1,4 @@
 /*
- *
  * This file is part of FFmpeg.
  *
  * FFmpeg is free software; you can redistribute it and/or
@@ -116,7 +115,12 @@ enum AVFrameSideDataType {
      * an AVMasteringDisplayMetadata type and contains information about the
      * mastering display color volume.
      */
-    AV_FRAME_DATA_MASTERING_DISPLAY_METADATA
+    AV_FRAME_DATA_MASTERING_DISPLAY_METADATA,
+    /**
+     * The GOP timecode in 25 bit timecode format. Data format is 64-bit integer.
+     * This is set on the first frame of a GOP that has a temporal reference of 0.
+     */
+    AV_FRAME_DATA_GOP_TIMECODE
 };
 
 enum AVActiveFormatDescription {
@@ -183,6 +187,9 @@ typedef struct AVFrame {
      * see avcodec_align_dimensions2(). Some filters and swscale can read
      * up to 16 bytes beyond the planes, if these filters are to be used,
      * then 16 extra bytes must be allocated.
+     *
+     * NOTE: Except for hwaccel formats, pointers not needed by the format
+     * MUST be set to NULL.
      */
     uint8_t *data[AV_NUM_DATA_POINTERS];
 
@@ -416,6 +423,12 @@ typedef struct AVFrame {
 
     enum AVChromaLocation chroma_location;
 
+    /**
+     * For hwaccel-format frames, this should be a reference to the
+     * AVHWFramesContext describing the frame.
+     */
+    AVBufferRef *hw_frames_ctx;
+
     /**
      * frame timestamp estimated using various heuristics, in stream time base
      * Code outside libavutil should access this field using: