mirror of https://git.ffmpeg.org/ffmpeg.git
Check for pts==dts on I/P frames in the presence of non low delay decoding and
discard these invalid timestamps. fixes issue171. Originally committed as revision 15641 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
f781f748b9
commit
9806f846c0
|
@ -838,6 +838,14 @@ static void compute_pkt_fields(AVFormatContext *s, AVStream *st,
|
|||
pkt->dts -= 1LL<<st->pts_wrap_bits;
|
||||
}
|
||||
|
||||
// some mpeg2 in mpeg-ps lack dts (issue171 / input_file.mpg)
|
||||
// we take the conservative approach and discard both
|
||||
// Note, if this is misbehaving for a H.264 file then possibly presentation_delayed is not set correctly.
|
||||
if(delay==1 && pkt->dts == pkt->pts && pkt->dts != AV_NOPTS_VALUE && presentation_delayed){
|
||||
av_log(s, AV_LOG_ERROR, "invalid dts/pts combination\n");
|
||||
pkt->dts= pkt->pts= AV_NOPTS_VALUE;
|
||||
}
|
||||
|
||||
if (pkt->duration == 0) {
|
||||
compute_frame_duration(&num, &den, st, pc, pkt);
|
||||
if (den && num) {
|
||||
|
|
Loading…
Reference in New Issue