qp全是int型数据
rc.i_qp_constant=26 默认值26起始,当option输入规范为cqp且给出qp时使用恒定的qp。
之后如果变化10--51step是4,这3个值也可以在option中修改。每一个mb下有qp lastqp last_dqp,flag:b_varible_qp
qp在ratecontrol策略中改变,应该是在每mb和每slice结束后有一个refresh
slice header里面写入的是dqp,是当前qp和pps规范起始qp的差值
frame->i_row_qp 是一个数组,包含这行所有mb的qp,*i_row_qp 就指向它
h->sh.i_alpha_c0_offset+i_qp用于计算deblock filter 的 boundery strength
在deblock filter时 i_qp 和i_qpn 记录要filter边界两边的qp,因为两边可能属于不同mb
dequant4x4里const int i_mf = i_qp%6; quant8x8里const int i_mf = i_qscale%6;
const int i_qbits = i_qp/6 - 4; 本来量化是对每个系数多次复杂乘除法,这样只进行一次乘除即可,在此基础上量化可以变成位移和查表这两个量的含义: qp = h.264's quantizer
qscale = linearized quantizer = Lagrange multiplier 有函数将qp转化为qscale
1pass码率控制,abr包含abr和cbr,使用vbv时 是cbr,vbr 包含cqp和crf。
当state_read时使用2pass。