同步的代码怎么理解?
来源:8-21 一个真正的播放器(二)

weixin_慕后端1383225
2024-07-04
老师好。这两句代码:frame_delay = av_q2d(is->video_ctx->time_base); frame_delay += src_frame->repeat_pict * (frame_delay * 0.5); 这里的is->vide_ctx->time_base代表什么,是否用帧率计算更加准确呢?另外计算frame_delay * 0.5 如何理解,为什么是乘以0.5呢
写回答
1回答
-
李超
2024-07-04
time_base是时间基,其含义是时间的刻度,好比距离可以用米,分米,厘米来度量,米的颗粒低,而厘米的颗粒度高。回到time_base, 当我们拿到一个时间数值,我们要把它转换成秒就要知道它的时间基是多少,用时间的数值乘以时间基就转换成了秒。 关于0.5是一个精度问题,当你将时间数值转成秒时,肯等会遇到不足一秒的,哪这部分怎么处理呢?那就按4舍5入,给它加个0.5,如果错成了一秒就进位,凑不够就丢弃,如此而已
00
相似问题