On Sat, 10 Sep 2022, Leo Izen wrote:
This patch allows decoders to set AVFrame->time_base, which determines the units that AVFrame->pts will use. Currently no decoders do this, but it will allow it in the future.
This is patch is wrong, because it implies that decoders can output frames in time base different to stream time base. They can't, because that would be a breaking change. AVFrame->time_base was not introduced for that use case.
Regards, Marton
--- fftools/ffmpeg.c | 3 ++- fftools/ffplay.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index 0e1477299d..e3ea7a6c29 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -2274,7 +2274,8 @@ static int decode_video(InputStream *ist, AVPacket *pkt, int *got_output, int64_ } if(best_effort_timestamp != AV_NOPTS_VALUE) { - int64_t ts = av_rescale_q(decoded_frame->pts = best_effort_timestamp, ist->st->time_base, AV_TIME_BASE_Q); + int64_t ts = av_rescale_q(decoded_frame->pts = best_effort_timestamp, + decoded_frame->time_base.num ? decoded_frame->time_base : ist->st->time_base, AV_TIME_BASE_Q); if (ts != AV_NOPTS_VALUE) ist->next_pts = ist->pts = ts; diff --git a/fftools/ffplay.c b/fftools/ffplay.c index 9242047f5c..986b0831ac 100644 --- a/fftools/ffplay.c +++ b/fftools/ffplay.c @@ -1771,7 +1771,7 @@ static int get_video_frame(VideoState *is, AVFrame *frame) double dpts = NAN; if (frame->pts != AV_NOPTS_VALUE) - dpts = av_q2d(is->video_st->time_base) * frame->pts; + dpts = av_q2d(frame->time_base.num ? frame->time_base : is->video_st->time_base) * frame->pts; frame->sample_aspect_ratio = av_guess_sample_aspect_ratio(is->ic, is->video_st, frame); -- 2.37.3 _______________________________________________ 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".
_______________________________________________ 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".