Add pts field to AVSubtitle, for use by future XSUB encoder (and XSUB decoder
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Fri, 19 Jun 2009 08:28:07 +0000 (08:28 +0000)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Fri, 19 Jun 2009 08:28:07 +0000 (08:28 +0000)
should use it, too).

Originally committed as revision 19221 to svn://svn.ffmpeg.org/ffmpeg/trunk

doc/APIchanges
ffmpeg.c
libavcodec/avcodec.h

index d012139..f92a89e 100644 (file)
@@ -12,6 +12,11 @@ libavutil:   2009-03-08
 
 API changes, most recent first:
 
+2009-06-19 - r19222 - lavc 52.32.0 - AVSubtitle.pts
+  Added a pts field to AVSubtitle which gives the subtitle's packet
+  PTS in AV_TIME_BASE. Some subtitle de-/encoders (e.g. XSUB) will
+  not work right without this.
+
 2009-06-03 - r19078 - lavc 52.30.2 - AV_PKT_FLAG_KEY
   PKT_FLAG_KEY has been deprecated and will be dropped for the next
   major version. Use AV_PKT_FLAG_KEY instead.
index b9af4b1..f0e7bdb 100644 (file)
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -814,6 +814,7 @@ static void do_subtitle_out(AVFormatContext *s,
         nb = 1;
 
     for(i = 0; i < nb; i++) {
+        sub->pts = av_rescale_q(pts, ist->st->time_base, AV_TIME_BASE_Q);
         subtitle_out_size = avcodec_encode_subtitle(enc, subtitle_out,
                                                     subtitle_out_max_size, sub);
 
index 7f26711..1786b13 100644 (file)
@@ -30,8 +30,8 @@
 #include "libavutil/avutil.h"
 
 #define LIBAVCODEC_VERSION_MAJOR 52
-#define LIBAVCODEC_VERSION_MINOR 31
-#define LIBAVCODEC_VERSION_MICRO  2
+#define LIBAVCODEC_VERSION_MINOR 32
+#define LIBAVCODEC_VERSION_MICRO  0
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
                                                LIBAVCODEC_VERSION_MINOR, \
@@ -2734,6 +2734,7 @@ typedef struct AVSubtitle {
     uint32_t end_display_time; /* relative to packet pts, in ms */
     unsigned num_rects;
     AVSubtitleRect **rects;
+    int64_t pts;    ///< Same as packet pts, in AV_TIME_BASE
 } AVSubtitle;
 
 /* packet functions */