[FFmpeg-devel] [PATCH] fix timestamps in vc1testenc
    Reimar Döffinger 
    Reimar.Doeffinger
       
    Tue Dec  7 08:18:38 CET 2010
    
    
  
Hello,
this muxer currently when writing the timestamps does not take into
account the stream time base, leading to completely "random" scaling
of the frame time at least when using mencoder.
Below patch rescales the pts values like other muxers do.
Index: libavformat/vc1testenc.c
===================================================================
--- libavformat/vc1testenc.c    (revision 25845)
+++ libavformat/vc1testenc.c    (working copy)
@@ -55,11 +55,14 @@
 {
     RCVContext *ctx = s->priv_data;
     ByteIOContext *pb = s->pb;
+    uint32_t pts = av_rescale(pkt->pts,
+                              1000 * (uint64_t)s->streams[0]->time_base.num,
+                              s->streams[0]->time_base.den);
 
     if (!pkt->size)
         return 0;
     put_le32(pb, pkt->size | ((pkt->flags & AV_PKT_FLAG_KEY) ? 0x80000000 : 0));
-    put_le32(pb, pkt->pts);
+    put_le32(pb, pts);
     put_buffer(pb, pkt->data, pkt->size);
     put_flush_packet(pb);
     ctx->frames++;
    
    
More information about the ffmpeg-devel
mailing list