diff --git a/source/Lib/EncoderLib/Analyze.h b/source/Lib/EncoderLib/Analyze.h index 148e53b2a43b6e151789f5a802a336d0fc417b53..29439c3ead42ebf74d65d5f33ae11766ac959931 100644 --- a/source/Lib/EncoderLib/Analyze.h +++ b/source/Lib/EncoderLib/Analyze.h @@ -68,6 +68,7 @@ private: double m_dAddBits; #if JVET_AC0055_NN_POST_FILTERING double m_seiMessagesBits; + bool m_nnpf = false; #endif uint32_t m_uiNumPic; double m_dFrmRate; //--CFG_KDY @@ -83,6 +84,12 @@ private: #endif public: + +#if JVET_AC0055_NN_POST_FILTERING + void set_nnpf(bool nnpf) { m_nnpf = nnpf; } + bool get_nnpf() { return m_nnpf; } +#endif + virtual ~Analyze() {} Analyze() { clear(); } @@ -495,9 +502,13 @@ public: } else #endif #if JVET_AC0055_NN_POST_FILTERING - msg( e_msg_level, "\tTotal Frames | " "Bitrate " "SEI Bitrate " "Y-PSNR " "U-PSNR " "V-PSNR " "YUV-PSNR " ); -#else + if (m_nnpf) { + msg( e_msg_level, "\tTotal Frames | " "Bitrate " "SEI Bitrate " "Y-PSNR " "U-PSNR " "V-PSNR " "YUV-PSNR " ); + } else { +#endif msg( e_msg_level, "\tTotal Frames | " "Bitrate " "Y-PSNR " "U-PSNR " "V-PSNR " "YUV-PSNR " ); +#if JVET_AC0055_NN_POST_FILTERING + } #endif #if JVET_O0756_CALCULATE_HDRMETRICS if (printHdrMetrics) @@ -534,15 +545,29 @@ public: //msg( e_msg_level, "\t------------ " " ----------" " -------- " " -------- " " --------\n" ); #if JVET_AC0055_NN_POST_FILTERING - msg( e_msg_level, "\t %8d %c " "%12.4lf " "%12.4lf " "%8.4lf " "%8.4lf " "%8.4lf " "%8.4lf", - getNumPic(), cDelim, - getBits() * dScale, - getSEIMessageBits() * dScale, -#else + if (m_nnpf) { + msg( e_msg_level, "\t %8d %c " "%12.4lf " "%12.4lf " "%8.4lf " "%8.4lf " "%8.4lf " "%8.4lf", + getNumPic(), cDelim, + getBits() * dScale, + getSEIMessageBits() * dScale, +#if ENABLE_QPA + useWPSNR ? getWPSNR(COMPONENT_Y ) : +#endif + getPsnr(COMPONENT_Y ) / (double)getNumPic(), +#if ENABLE_QPA + useWPSNR ? getWPSNR(COMPONENT_Cb) : +#endif + getPsnr(COMPONENT_Cb) / (double)getNumPic(), +#if ENABLE_QPA + useWPSNR ? getWPSNR(COMPONENT_Cr) : +#endif + getPsnr(COMPONENT_Cr) / (double)getNumPic(), + PSNRyuv ); + } else { +#endif msg( e_msg_level, "\t %8d %c " "%12.4lf " "%8.4lf " "%8.4lf " "%8.4lf " "%8.4lf", getNumPic(), cDelim, getBits() * dScale, -#endif #if ENABLE_QPA useWPSNR ? getWPSNR(COMPONENT_Y ) : #endif @@ -556,6 +581,10 @@ public: #endif getPsnr(COMPONENT_Cr) / (double)getNumPic(), PSNRyuv ); +#if JVET_AC0055_NN_POST_FILTERING + } +#endif + #if JVET_O0756_CALCULATE_HDRMETRICS if (printHdrMetrics) { diff --git a/source/Lib/EncoderLib/EncGOP.cpp b/source/Lib/EncoderLib/EncGOP.cpp index fae656f181f8f8dcff8366a44b3b74f0ce0614a4..b5fc311f140be6f192786a8948d01d5e276d55f8 100644 --- a/source/Lib/EncoderLib/EncGOP.cpp +++ b/source/Lib/EncoderLib/EncGOP.cpp @@ -264,6 +264,15 @@ void EncGOP::init ( EncLib* pcEncLib ) #if JVET_AC0055_NN_POST_FILTERING m_nnPostFilter = pcEncLib->getNnpf(); + + m_gcAnalyzeAll.set_nnpf(m_pcCfg->getUseNnpf()); + m_gcAnalyzeI.set_nnpf(m_pcCfg->getUseNnpf()); + m_gcAnalyzeP.set_nnpf(m_pcCfg->getUseNnpf()); + m_gcAnalyzeB.set_nnpf(m_pcCfg->getUseNnpf()); +#if WCG_WPSNR + m_gcAnalyzeWPSNR.set_nnpf(m_pcCfg->getUseNnpf()); +#endif + m_gcAnalyzeAll_in.set_nnpf(m_pcCfg->getUseNnpf()); #endif #if JVET_O0756_CALCULATE_HDRMETRICS