[FFmpeg-user] pts/dts validation

Jake Eastwood cheloveck2.0 at gmail.com
Mon Jul 4 08:29:44 EEST 2022

How should I validate pts/dts after demuxing and then after decoding?

For me it is significant to have valid pts all the time for days and
possibly weeks of continuous streaming.

After demuxing I check:
1) dts <= pts
2) prev_packet_dts < next_packet_pts
3) I also discard packets with AV_NOPTS_VALUE and wait for packets with
proper pts, because I don't know video duration at this case.
* pts of packets can be not increasing because of I-P-B frames
Is it all right?

What about decoded AVFrames?
1) Should 'pts' be increasing all the time?
2) Why at some point 'pts' could lag behind 'dts'?
3) Why pict_type is a parameter of AVFrame? Should be at AVPacket, because
AVPacket is a compressed frame, not the opposite?

More information about the ffmpeg-user mailing list