设置core dump文件大小
查看core dump文件大小
ulimit -a
可以看到:
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
schedu...
阅读更多
总体流程
rc初始化
在open encoder的时候会初始化,根据h->param.rc中的参数,初始化h->rc(x264_ratecontrol_t)
h->param.rc中几个重要的默认参数:
h->param.rc.i_qp_constant = -1;
h->...
阅读更多
RDO理论
根据RDO理论:
$J=D+\lambda\cdot R$
其中:
J表示最终的衡量数据,也被称为RD cost(rate-distortion cost)
D表示失真的衡量数据
$\lambda$表示拉格朗日乘数
R表示数据量的衡量数据
拉格朗日乘数法,在数学中的最...
阅读更多
帧之间存在引用关系,参考帧的质量显然更重要。
原理
根据宏块在帧间预测中贡献给未来帧(在编码顺序里位于当前帧之后的帧)的信息,即被参考的情况,来调整该宏块的QP值。简言之,如果该MB贡献给后续帧的信息越多,则其重要性越高,应当提高该区域的编码质量,减少QP,反之,则增大该区域的QP。
要知道当前宏块对未来帧...
阅读更多
在lookahead阶段,帧的初始类型都被标记为X264_TYPE_AUTO。
lookahead阶段的帧参考关系:
P帧只参考紧邻的前一个I/P
Bref帧参考紧邻的前一个I/P帧和紧邻的后一个I/P帧
B帧参考紧邻的前一个I/P/Bref帧和紧邻的后一个I/P/Bref帧
IDR帧决...
阅读更多
为什么SATD越大,画面内容越复杂?
1. SATD的计算过程
SATD 是将当前块与预测块的像素差值,经过变换(如Hadamard变换)后,取绝对值再求和。
公式简化为:
$
\text{SATD} = \sum_{i} |T(\text{原始块} - \text{预测块})_i|
$
, 其中$...
阅读更多