天天看点

【HEVC学习与研究】46、HEVC参考代码中SAO的实现

1、HM10 encoder关于SAO的初始化操作

在编码开始之前,编码器将进行与SAO有关的一些初始化设置。如在TAppEncTop::encode()函数中调用TAppEncTop::xInitLibCfg()进行与config相关的设置:

在TEncTop::create ()中,会依据前面配置的结果进行初始化操作:

前面三个函数分别实现对m_cEncSAO私有数据成员的赋值,后两个函数主要为编码器分配内存以及其他一些初始化操作。随后,在TEncGOP::init中获取SAO滤波器对象的指针:

2、实际进行SAO滤波操作

在TEncGOP::compressGOP函数中调用SAOProcess实现:

具体的实现原理下篇继续研究

继续阅读