]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/packet.h
avcodec/pnm_parser: Check av_image_get_buffer_size() for failure
[ffmpeg] / libavcodec / packet.h
index e53abe6fd0a61d6e4c6d46e29eccde6ddc5c5e64..b9d4c9c2c85aae01a327791b898f529392f7e90d 100644 (file)
@@ -273,6 +273,23 @@ enum AVPacketSideDataType {
      */
     AV_PKT_DATA_ICC_PROFILE,
 
+    /**
+     * DOVI configuration
+     * ref:
+     * dolby-vision-bitstreams-within-the-iso-base-media-file-format-v2.1.2, section 2.2
+     * dolby-vision-bitstreams-in-mpeg-2-transport-stream-multiplex-v1.2, section 3.3
+     * Tags are stored in struct AVDOVIDecoderConfigurationRecord.
+     */
+    AV_PKT_DATA_DOVI_CONF,
+
+    /**
+     * Timecode which conforms to SMPTE ST 12-1:2014. 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 documentation of av_timecode_get_smpte_from_framenum()
+     * function in libavutil/timecode.h.
+     */
+    AV_PKT_DATA_S12M_TIMECODE,
+
     /**
      * The number of side data types.
      * This is not part of the public API/ABI in the sense that it may
@@ -376,6 +393,11 @@ typedef struct AVPacket {
 #endif
 } AVPacket;
 
+typedef struct AVPacketList {
+    AVPacket pkt;
+    struct AVPacketList *next;
+} AVPacketList;
+
 #define AV_PKT_FLAG_KEY     0x0001 ///< The packet contains a keyframe
 #define AV_PKT_FLAG_CORRUPT 0x0002 ///< The packet content is corrupted
 /**
@@ -571,7 +593,8 @@ int av_packet_shrink_side_data(AVPacket *pkt, enum AVPacketSideDataType type,
  *
  * @param pkt packet
  * @param type desired side information type
- * @param size pointer for side information size to store (optional)
+ * @param size If supplied, *size will be set to the size of the side data
+ *             or to zero if the desired side data is not present.
  * @return pointer to data if present or NULL otherwise
  */
 uint8_t* av_packet_get_side_data(const AVPacket *pkt, enum AVPacketSideDataType type,