在HEVC官方参考软件HM中,计算PSNR的代码如下,当然还有很多工具计算PSNR。
现在提供一种很方便的工具,只需给出原始YUV文件和解码或重构后的YUV文件就可以计算出其PSNR。软件下载地址为:点击打开链接
为了验证其正确性,本人测试了一下,结果如下图所示。
下图是HM得出的结果:
下图是该软件测出的结果:
结果一致。
Void TEncGOP::xCalculateAddPSNR( TComPic* pcPic, TComPicYuv* pcPicD, const AccessUnit& accessUnit, Double dEncTime )
{
Int x, y;
UInt64 uiSSDY = 0;
UInt64 uiSSDU = 0;
UInt64 uiSSDV = 0;
Double dYPSNR = 0.0;
Double dUPSNR = 0.0;
Double dVPSNR = 0.0;
//===== calculate PSN