[Libav-user] AVFrame pts and av_usleep funciton.
Denis Gottardello
info at denisgottardello.it
Mon Aug 21 12:47:08 EEST 2023
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
> <info at 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 at ffmpeg.org
> > https://ffmpeg.org/mailman/listinfo/libav-user
> >
> > To unsubscribe, visit link above, or email
> > libav-user-request at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://ffmpeg.org/pipermail/libav-user/attachments/20230821/7e803672/attachment.htm>
More information about the Libav-user
mailing list