diff --git a/source/Lib/EncoderLib/EncGOP.cpp b/source/Lib/EncoderLib/EncGOP.cpp index 56345cd5c2744cd5e8b4ade973647a6a9e464d46..47cd4c5fcad48bc7b069e715c098dd3040171e18 100644 --- a/source/Lib/EncoderLib/EncGOP.cpp +++ b/source/Lib/EncoderLib/EncGOP.cpp @@ -1946,7 +1946,7 @@ void EncGOP::xPicInitHashME( Picture *pic, const PPS *pps, PicList &rcListPic ) { Picture* refPic = *(iterPic++); - if (refPic->poc != pic->poc && refPic->referenced) + if (refPic->reconstructed && refPic->referenced && refPic->poc != pic->poc && refPic->layerId == pic->layerId) { bool validPOC = ((refPic->getPOC() == m_modeCtrl->getUseHashMEPOCToCheck()) && !m_modeCtrl->getUseHashMEPOCChecked()); if (!refPic->getHashMap()->isInitial() || validPOC)