Opened 8 years ago
Closed 8 years ago
#51 closed defect (fixed)
Possible bug during ERP to RVP conversion in PSNR computation
Reported by: | lenchik | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | 360Lib | Version: | |
Keywords: | Cc: | vzakharc, yuwenhe, jvet@… |
Description
The current 360Lib code (360Lib-3.0rc1) with HM-16.15 while converting from ERP to RVP, we observe PSNR is not calculated properly may be due to not setting the bit depths as SPSNR_NN is disabled for RVP. We think the following might be a bug.
Old code: At line 2119 in source\App\utils\TApp360Convert\TApp360ConvertCfg.cpp
#if SVIDEO_SPSNR_NN
cSPSNRCalc.setSPSNREnabledFlag(m_psnrEnabled[METRIC_SPSNR_NN]);
if(m_psnrEnabled[METRIC_SPSNR_NN])
{
cPSNRCalc.setOutputBitDepth(m_outputBitDepth);
cPSNRCalc.setReferenceBitDepth(m_referenceBitDepth);
cSPSNRCalc.setOutputBitDepth(m_outputBitDepth);
cSPSNRCalc.setReferenceBitDepth(m_referenceBitDepth);
}
#endif
Suggested new code:
#if SVIDEO_SPSNR_NN
if (m_psnrEnabled[METRIC_PSNR])
{
cPSNRCalc.setOutputBitDepth(m_outputBitDepth);
cPSNRCalc.setReferenceBitDepth(m_referenceBitDepth);
}
cSPSNRCalc.setSPSNREnabledFlag(m_psnrEnabled[METRIC_SPSNR_NN]);
if(m_psnrEnabled[METRIC_SPSNR_NN])
{
cSPSNRCalc.setOutputBitDepth(m_outputBitDepth);
cSPSNRCalc.setReferenceBitDepth(m_referenceBitDepth);
}
#endif
Change history (2)
comment:1 Changed 8 years ago by yuwenhe
comment:2 Changed 8 years ago by yuwenhe
- Resolution set to fixed
- Status changed from new to closed
The fix for ticket 51 was checked in /branches/360Lib-3.1-dev
The bug report is correct. Suggest move the bitdepth setting for PSNR metric outside of "SVIDEO_SPSNR_NN" macro. The changes are included in /branches/360Lib-3.1-dev.
if (m_psnrEnabled[METRIC_PSNR])
{
}
#if SVIDEO_SPSNR_NN
cSPSNRCalc.setSPSNREnabledFlag(m_psnrEnabled[METRIC_SPSNR_NN]);
if(m_psnrEnabled[METRIC_SPSNR_NN])
{
}
#endif