Quoting Jan Ekström (2023-05-05 13:31:23) > From: Martin Machalek <martin.macha...@24i.com> > > Adds DTS to packets which would otherwise break tbr calculation > within libavformat, as well as packet rate calculation in ffmpeg. > > An example of such input would be an MPEG-TS stream where a whole > GOP is put into a single PES packet. > > Co-authored-by: Jan Ekström <jan.ekst...@24i.com> > > Signed-off-by: Jan Ekström <jan.ekst...@24i.com> > --- > libavformat/demux.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/libavformat/demux.c b/libavformat/demux.c > index 06de71cd6e..9a4ab28679 100644 > --- a/libavformat/demux.c > +++ b/libavformat/demux.c > @@ -1098,6 +1098,11 @@ static void compute_pkt_fields(AVFormatContext *s, > AVStream *st, > if (!onein_oneout) > // This should happen on the first packet > update_initial_timestamps(s, pkt->stream_index, pkt->dts, pkt->pts, > pkt); > + > + if (pkt->dts == AV_NOPTS_VALUE && !is_relative(sti->cur_dts) && > + sti->cur_dts != AV_NOPTS_VALUE && pkt->duration > 0) > + pkt->dts = sti->cur_dts + pkt->duration;
This function really does not need more arbitrary guesses. -- Anton Khirnov _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".