[FFmpeg-cvslog] r14262 - trunk/libavformat/nsvdec.c

michael subversion
Thu Jul 17 16:13:45 CEST 2008


Author: michael
Date: Thu Jul 17 16:13:44 2008
New Revision: 14262

Log:
Try to fix FATE after my time_base simplification change.


Modified:
   trunk/libavformat/nsvdec.c

Modified: trunk/libavformat/nsvdec.c
==============================================================================
--- trunk/libavformat/nsvdec.c	(original)
+++ trunk/libavformat/nsvdec.c	Thu Jul 17 16:13:44 2008
@@ -180,6 +180,7 @@ typedef struct {
     uint32_t vtag, atag;
     uint16_t vwidth, vheight;
     int16_t avsync;
+    AVRational framerate;
     //DVDemuxContext* dv_demux;
 } NSVContext;
 
@@ -428,6 +429,7 @@ static int nsv_parse_NSVs_header(AVForma
         framerate= (AVRational){i, 1};
 
     nsv->avsync = get_le16(pb);
+    nsv->framerate = framerate;
 #ifdef DEBUG
     print_tag("NSV NSVs vtag", vtag, 0);
     print_tag("NSV NSVs atag", atag, 0);
@@ -647,8 +649,8 @@ null_chunk_retry:
         if( nsv->state == NSV_HAS_READ_NSVS && st[NSV_ST_VIDEO] ) {
             /* on a nsvs frame we have new information on a/v sync */
             pkt->dts = (((NSVStream*)st[NSV_ST_VIDEO]->priv_data)->frame_offset-1);
-            pkt->dts *= (int64_t)1000 * st[NSV_ST_VIDEO]->time_base.num;
-            pkt->dts += (int64_t)nsv->avsync * st[NSV_ST_VIDEO]->time_base.den;
+            pkt->dts *= (int64_t)1000        * nsv->framerate.den;
+            pkt->dts += (int64_t)nsv->avsync * nsv->framerate.num;
             PRINT(("NSV AUDIO: sync:%d, dts:%"PRId64, nsv->avsync, pkt->dts));
         }
         nst->frame_offset++;




More information about the ffmpeg-cvslog mailing list