1 . HEVC有很些设置对速度的提升有很大的帮助,比如m_bUseEarlyCU,m_useEarlySkipDetection等。 把它们设置成true,会有意想不到的效果。
比如对于不同分辨率的视频,选择不同的depth 和 Max_CUSize。 再比如参考帧个数的选择等等。总之有很多地方可以根据实际情况,通过实验来合理的选择参数。
2. 有些模式对于一般的视频来讲意义不是很大,比如xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_Nx2N )等等;可以考虑关闭或有限打开
3. 设定一些阀值,提前退出。比如当rpcBestCU->getTotalCost() 小于某值时,xCheckRDCostInter就不用再做了。
再比如在决定进一步划分四个子块时,如果第一个子块的cost已经大于bestcost,剩下的字块就不需要计算了。
通过这些,速度可以提升1~2倍左右,psnr降低0.2db左右。