lavf/utils: better dts wrap correction.
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 20 Sep 2011 02:32:46 +0000 (04:32 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 20 Sep 2011 02:32:46 +0000 (04:32 +0200)
Fixes Ticket488

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/utils.c

index 407b262..ee62000 100644 (file)
@@ -1000,8 +1000,7 @@ static void compute_pkt_fields(AVFormatContext *s, AVStream *st,
         pc && pc->pict_type != AV_PICTURE_TYPE_B)
         presentation_delayed = 1;
 
-    if(pkt->pts != AV_NOPTS_VALUE && pkt->dts != AV_NOPTS_VALUE && pkt->dts > pkt->pts && st->pts_wrap_bits<63
-       /*&& pkt->dts-(1LL<<st->pts_wrap_bits) < pkt->pts*/){
+    if(pkt->pts != AV_NOPTS_VALUE && pkt->dts != AV_NOPTS_VALUE && pkt->dts - (1LL<<(st->pts_wrap_bits-1)) > pkt->pts && st->pts_wrap_bits<63){
         pkt->dts -= 1LL<<st->pts_wrap_bits;
     }