Thanks for you reply. So these lines of code: int64_t pts= av_rescale(pAVFrame->pts, pAVCodecContextVideo->framerate.den, pAVCodecContextVideo->framerate.num); printf("pts, %d\n", pts);
Should print the timestamp (as time_t) of each frame? Is the pts value calculated correctly? In data lunedì 21 agosto 2023 11:15:06 CEST, Paul B Mahol ha scritto: > On Mon, Aug 21, 2023 at 10:30 AM Denis Gottardello > <i...@denisgottardello.it> > wrote: > > In order to implement a sleep function and wait the right time to display > > a frame I have written this code: > > > > int framerate= pAVCodecContextVideo->framerate.num / > > pAVCodecContextVideo->framerate.den; > > > > if (previous!= 0) { > > > > av_usleep((pAVFrame->pts - previous) / framerate); > > > > } > > > > previous= pAVFrame->pts; > > > > but the value passed to av_usleep() is wrong. > > > > How have I to calculate it? > > If you really want to do it that way you need to use floating point > calculations, or use fixed point arithmetic (av_rescale*) > to convert seconds to microseconds. > > > Best regards. > > > > > > -- > > > > +39.347.4070897 > > > > http://www.labcsp.com > > > > http://www.denisgottardello.it > > > > GMT+1 > > > > Skype: mrdebug > > _______________________________________________ > > Libav-user mailing list > > Libav-user@ffmpeg.org > > https://ffmpeg.org/mailman/listinfo/libav-user > > > > To unsubscribe, visit link above, or email > > libav-user-requ...@ffmpeg.org with subject "unsubscribe". -- +39.347.4070897 http://www.labcsp.com[1] http://www.denisgottardello.it[2] GMT+1 Skype: mrdebug -------- [1] http://www.labcsp.com [2] http://www.denisgottardello.it
_______________________________________________ Libav-user mailing list Libav-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/libav-user To unsubscribe, visit link above, or email libav-user-requ...@ffmpeg.org with subject "unsubscribe".