x265预测入口

compressCTU函数入口

x265的RowEncoder会对接管的slice(条带)以光栅顺序依次处理各个CTU,预测搜索得到对应的最近划分模式。实际入口位于Mode& Analysis::compressCTU函数中

Analysis::compressCTU
m_slice->m_sliceType == I_SLICE
Analysis::compressIntraCU
m_param->rdLevel
0
1~4
5~6
m_param->rdLevel
compressInterCU_rd0_4
Analysis::encodeResidue
Analysis::compressInterCU_rd0_4
Analysis::compressInterCU_rd5_6
Rd0的情况下会复制原始像素作为重建像素用于帧内预测

预设方式和RDO

还有一种使用了多线程分布式预测的情况Analysis::compressInterCU_dist未列出。从上图函数调用可知,帧内预测只用一种情况,而帧间预测,根据RD0级别的不同,会有3种对应的快速帧间预测方法,RDO级别越高,对应的码率越高,编码速率越慢。实际上x265关闭所有快速编码工具后和HM的编码质量是一致的

预测代码详解

整理了一下,帧内预测部分见X265帧内预测

你可能感兴趣的:(X265)