[FFmpeg-cvslog] r15179 - in trunk/libavformat: avformat.h utils.c

michael subversion
Wed Sep 3 16:44:55 CEST 2008


Author: michael
Date: Wed Sep  3 16:44:54 2008
New Revision: 15179

Log:
Add AVPacket.convergence_duration.


Modified:
   trunk/libavformat/avformat.h
   trunk/libavformat/utils.c

Modified: trunk/libavformat/avformat.h
==============================================================================
--- trunk/libavformat/avformat.h	(original)
+++ trunk/libavformat/avformat.h	Wed Sep  3 16:44:54 2008
@@ -22,7 +22,7 @@
 #define AVFORMAT_AVFORMAT_H
 
 #define LIBAVFORMAT_VERSION_MAJOR 52
-#define LIBAVFORMAT_VERSION_MINOR 21
+#define LIBAVFORMAT_VERSION_MINOR 22
 #define LIBAVFORMAT_VERSION_MICRO  0
 
 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
@@ -78,6 +78,21 @@ typedef struct AVPacket {
     void  (*destruct)(struct AVPacket *);
     void  *priv;
     int64_t pos;                            ///< byte position in stream, -1 if unknown
+
+    /**
+     * This is the time difference in stream timebase units from the pts at which
+     * the output from the decoder has converged independent from the availability
+     * of previous frames (that is the frames are virtually identical no matter
+     * if decoding started from the very first frame or from this keyframe).
+     * is AV_NOPTS_VALUE if unknown.
+     *
+     * The purpose of this field is to allow seeking in streams that have no
+     * keyframes in the conventional sense. It corresponds to the
+     * recovery point SEI in H.264 and match_time_delta in nut. It also is
+     * essential for some types of subtitle streams to ensure that all
+     * subtitles are correctly displayed after seeking.
+     */
+    int64_t convergence_duration;
 } AVPacket;
 #define PKT_FLAG_KEY   0x0001
 

Modified: trunk/libavformat/utils.c
==============================================================================
--- trunk/libavformat/utils.c	(original)
+++ trunk/libavformat/utils.c	Wed Sep  3 16:44:54 2008
@@ -251,6 +251,7 @@ void av_init_packet(AVPacket *pkt)
     pkt->dts   = AV_NOPTS_VALUE;
     pkt->pos   = -1;
     pkt->duration = 0;
+    pkt->convergence_duration = 0;
     pkt->flags = 0;
     pkt->stream_index = 0;
     pkt->destruct= av_destruct_packet_nofree;




More information about the ffmpeg-cvslog mailing list