1、默认配置:
使用JCTVC_X0038_LAMBDA_FROM_QP_CAPABILITY中的方法计算:This approach derives lambda from QP+QPoffset+QPoffset2. QPoffset2 is derived from QP+QPoffset using a linear model that is clipped between 0 and 3。
计算帧级QP的代码在TEncCfg::getQPForPicture中,计算帧级lambda的代码在TEncSlice::initEncSlice中(TEncSlice::initEncSlice先调用TEncCfg::getQPForPicture,再计算lambda)。
2、DeltaQpRD非零:
此参数用于做slice级的多QP优化,对应的代码在TEncSlice::precompressSlice中,QP和lambda使用上面所述默认配置计算得到的QP和lambda,也就是说具体编码一帧的时候的QP和lambda跟默认配置一样(QP和lambda满足默认配置的关系)。但选择帧级QP做RDO的时候,lambda由下面的语句计算得到:
if (m_pcCfg->getGOPSize() > 1)
{
dFrameLambda = 0.68 * pow (2, (m_piRdPicQp[