]> git.sesse.net Git - ffmpeg/commitdiff
100l (avi seeking)
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 24 May 2004 15:13:23 +0000 (15:13 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 24 May 2004 15:13:23 +0000 (15:13 +0000)
Originally committed as revision 3155 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/avidec.c
libavformat/utils.c

index fbc81f0135f96f442d8307424edb212001ac1280..31b5b5f2e4bf694512f23ad0120c36d4ae47fc98 100644 (file)
@@ -597,8 +597,7 @@ static int avi_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp
         return -1;
     ast = st->priv_data;
     /* compute the frame number */
-    frame_number = (timestamp * ast->rate) /
-        (ast->scale * (int64_t)AV_TIME_BASE);
+    frame_number = timestamp;
 #ifdef DEBUG_SEEK
     printf("timestamp=%0.3f nb_indexes=%d frame_number=%d\n", 
            (double)timestamp / AV_TIME_BASE,
index 88a88673efaedab0efc224c762d6d2fa7e1408f4..b60367c090946fc46f5b20d869cd703499cd7c7e 100644 (file)
@@ -558,7 +558,7 @@ static void compute_frame_duration(int *pnum, int *pden,
 }
 
 static int64_t lsb2full(int64_t lsb, int64_t last_ts, int lsb_bits){
-    int64_t mask = (1LL<<lsb_bits)-1;
+    int64_t mask = lsb_bits < 64 ? (1LL<<lsb_bits)-1 : -1LL;
     int64_t delta= last_ts - mask/2;
     return  ((lsb - delta)&mask) + delta;
 }