Merge commit 'c5b46a064d9991f2cd045c90179fccf35ecffc34'
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 29 Jul 2013 11:14:29 +0000 (13:14 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 29 Jul 2013 11:14:29 +0000 (13:14 +0200)
* commit 'c5b46a064d9991f2cd045c90179fccf35ecffc34':
  lavf: Don't interpret just slightly broken timestamps as wraparound

Conflicts:
libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavformat/utils.c

@@@ -1017,11 -727,10 +1017,13 @@@ static void compute_pkt_fields(AVFormat
          pc && pc->pict_type != AV_PICTURE_TYPE_B)
          presentation_delayed = 1;
  
-     if(pkt->pts != AV_NOPTS_VALUE && pkt->dts != AV_NOPTS_VALUE && st->pts_wrap_bits<63 && pkt->dts - (1LL<<(st->pts_wrap_bits-1)) > pkt->pts){
+     if (pkt->pts != AV_NOPTS_VALUE && pkt->dts != AV_NOPTS_VALUE &&
+         st->pts_wrap_bits < 63 &&
+         pkt->dts - (1LL << (st->pts_wrap_bits - 1)) > pkt->pts) {
 -        pkt->dts -= 1LL<<st->pts_wrap_bits;
 +        if(is_relative(st->cur_dts) || pkt->dts - (1LL<<(st->pts_wrap_bits-1)) > st->cur_dts) {
 +            pkt->dts -= 1LL<<st->pts_wrap_bits;
 +        } else
 +            pkt->pts += 1LL<<st->pts_wrap_bits;
      }
  
      // some mpeg2 in mpeg-ps lack dts (issue171 / input_file.mpg)