bug in hop debug option
source/Lib/EncoderLib/EncGOP.cpp
int default_mode = pcPic->m_picprm.sprm.mode;
#if NN_HOP_UNIFIED_FORCE_USE
if (m_pcCfg->getNnlfHopOption()==1&&(!pcSlice->isIntra())) {
pcPic->m_picprm.sprm.mode = -1;
}
if (m_pcCfg->getNnlfHopOption()==2) { // remove in the future?
m_nnfilterHOP.forceIntraType(true);
} else {
m_nnfilterHOP.forceIntraType(false);
}
#endif
m_nnfilterHOP.setPicprms(&pcPic->m_picprm);
m_nnfilterHOP.chooseParameters(*pcPic);
pcSlice->setNnlfHopParameters(m_nnfilterHOP.getSliceprms());
#if NN_HOP_UNIFIED_FORCE_USE
pcPic->m_picprm.sprm.mode = default_mode;
Since default_mode is -1 (turn off). If always set as default_mode, nothing will be sent to decoder? Seems to be an issue to me.
Given current situation, we can do this to disable NN for inter:
in the beginning of function chooseParameters: set picprms.mode as -1 for inter slice when NnlfHopOption = 1, then return;
remove line 3192 and line 3204 in EncGop.cpp
what do you think?@Franck