openh264码控
走读openh264码控代码的笔记
CrystalShaw
向下扎根,向上结果,只要一步一个脚印的走,所经历的日子都不会白白度过的。
展开
-
openh264码控笔记一(整体框架)
一、名词解释计算码控时会用到如下的一些参数:SAD (Sum of Absolute Difference)=SAE(Sum of Absolute Error)绝对误差和SATD(Sum of Absolute Transformed Difference)即hadamard变换后再绝对值求和SSD (Sum of Squared Difference)=SSE(Sum of Sq...原创 2018-11-09 15:46:28 · 3937 阅读 · 0 评论 -
openh264码控笔记二(帧级QP的计算)
以下都是RC_BITRATE_MODE模式的处理流程。一、帧级码控计算整体框架图二、帧级QP的计算公式openh264用的码控用的是R-Q模型,使用历史帧的平均QP、SAD、帧长,来预测当前帧的QP。计算公式如下:QStep = (IntraComplexity * CmplxRatio)/(TargetBits * 100)IntraComplexity参数根据上一帧单帧...原创 2018-11-12 17:03:25 · 4412 阅读 · 0 评论 -
openh264码控笔记三(Slice级QP的计算)
以下都是RC_BITRATE_MODE模式的处理流程。确定完帧级QP之后,若是P帧的情况下,还需要根据实际的编码情况动态调整Slice级QP。一、Slice级码控计算整体框架图二、Slice级码控计算公式1)Slice级QP的初始值WelsRcPictureInitGom计算完帧级QP后,就会将该QP赋值给Slice级QP。RcInitGomParameters...原创 2018-11-12 17:05:12 · 1816 阅读 · 0 评论 -
openh264码控笔记四(宏块级QP的计算)
以下都是RC_BITRATE_MODE模式的处理流程。一、宏块级码控计算整体框架图二、宏块级码控计算公式1)I帧宏块级QP值I帧宏块级QP直接取的是帧级QP的值。WelsRcMbInitGom (sWelsEncCtx* pEncCtx, SMB* pCurMb, SSlice* pSlice)2)P帧宏块级QP值P帧宏块级QP取的是Slice级QP的值。若开了...原创 2018-11-12 17:06:11 · 2453 阅读 · 0 评论 -
openh264码控笔记五(跳帧处理)
以下都是RC_BITRATE_MODE模式的处理流程。一、跳帧处理整体框架图当编码器码率实在压不下去,可以通过掉帧方式控制码率。具体参见CheckFrameSkipBasedMaxbr函数实现 。。。。。看不进去了,休息一会。。。。修改了几个参数 源码参数:...原创 2018-11-12 17:07:17 · 3284 阅读 · 2 评论