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的值;