diff --git a/source/Lib/CommonLib/UnitTools.cpp b/source/Lib/CommonLib/UnitTools.cpp index e3b41c2a7af48626d2f498b35396120b158ce8aa..6b6234b7fa3013b53b3a1727ead001c2f49bae4a 100644 --- a/source/Lib/CommonLib/UnitTools.cpp +++ b/source/Lib/CommonLib/UnitTools.cpp @@ -1136,9 +1136,15 @@ void PU::getIBCMergeCandidates(const PredictionUnit &pu, MergeCtx& mrgCtx, const int cnt = 0; +#if JVET_M0170_MRG_SHARELIST + const Position posLT = pu.shareParentPos; + const Position posRT = pu.shareParentPos.offset(pu.shareParentSize.width - 1, 0); + const Position posLB = pu.shareParentPos.offset(0, pu.shareParentSize.height - 1); +#else const Position posLT = pu.Y().topLeft(); const Position posRT = pu.Y().topRight(); const Position posLB = pu.Y().bottomLeft(); +#endif MotionInfo miAbove, miLeft, miAboveLeft, miAboveRight, miBelowLeft; diff --git a/source/Lib/EncoderLib/EncCu.cpp b/source/Lib/EncoderLib/EncCu.cpp index 0e41088997671c9a48f5248e2658bb1abaf59e50..b5ab861bc4ccabaad4d6e1d3adeec45a6fe26892 100644 --- a/source/Lib/EncoderLib/EncCu.cpp +++ b/source/Lib/EncoderLib/EncCu.cpp @@ -1283,7 +1283,11 @@ void EncCu::xCheckModeSplit(CodingStructure *&tempCS, CodingStructure *&bestCS, startShareThisLevel = 1; } } +#if JVET_M0483_IBC + if ((m_shareState == GEN_ON_SHARED_BOUND) && (!slice.isIntra() || slice.getSPS()->getIBCFlag())) +#else if ((m_shareState == GEN_ON_SHARED_BOUND) && (!slice.isIntra())) +#endif { #if JVET_M0170_MRG_SHARELIST tempCS->slice->copyMotionLUTs(tempCS->slice->getMotionLUTs(), tempCS->slice->m_MotionCandLuTsBkup);