本文主要是介绍x264 码率控制原理:x264_ratecontrol_end 函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
x264_ratecontrol_end 函数
原理
- 函数功能:编码完一帧数据后,保存状态并更新 ratecontrol 状态。
- 函数参数:
- x264_t *h:编码器上下文结构体
- int bits:编码该帧所用的比特数
- int *filler:用于返回一个填充比特数
- 函数调用关系:
- 函数内部执行流程:
- 初始化x264_ratecontrol_t结构体rc,获取宏块类型数量统计mbs,调用x264_emms函数清空所有MMX寄存器,这是为了确保浮点运算的准确性;
- 根据mbs更新宏块统计信息,i_mb_count_skip、i_mb_count_i、i_mb_count_p;
- 计算解码帧fdec 中平均量化参数f_qp_avg_rc、f_qp_avg_aq、f_crf_avg;
- 如果开启b_stat_write,即2pass 编码时;
- 根据当前帧的类型(I帧、P帧或B帧),设置字符c_type的值;
这篇关于x264 码率控制原理:x264_ratecontrol_end 函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!