x264 编码过程中延迟逻辑分析
编码延迟相关参数
- 相关参数:在 common.h文件中 frames 结构体中声明关于编码延迟的变量
int i_delay; /* Number of frames buffered for B reordering */
int i_bframe_delay;
int64_t i_bframe_delay_time;
编码延迟计算
- 编码延迟计算:在
x264_encoder_open
函数和x264_encoder_encode
函数中根据编码参数 x264_param_t 结构体中参数设置来计算编码延迟 - i_delay计算:在
x264_encoder_open
中计算- b 帧自适应是X264_B_ADAPT_TRELLIS时,i_delay等于i_bframe与 3 比较的最大值,然后x4,作为编码延迟;否则 i_delay 直接等于连续 B 帧的数量设置i_bframe;
- 如果开启了 b_mb_tree 或 i_vbv_buffer_sizeÿ