Commit 12b1512e authored by Michael Niedermayer's avatar Michael Niedermayer

lavf/utils: Try to unwrap pts/dts so as to minimize wraps

Based on code by: Andrey Utkin <andrey.krieger.utkin@gmail.com>
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 254917f0
...@@ -1021,7 +1021,10 @@ static void compute_pkt_fields(AVFormatContext *s, AVStream *st, ...@@ -1021,7 +1021,10 @@ static void compute_pkt_fields(AVFormatContext *s, AVStream *st,
presentation_delayed = 1; presentation_delayed = 1;
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){ 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; 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) // some mpeg2 in mpeg-ps lack dts (issue171 / input_file.mpg)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment