diff --git a/source/Lib/CommonLib/InterPrediction.cpp b/source/Lib/CommonLib/InterPrediction.cpp index 4e2f8f6edad4e333bc4867c16a548d27fb860bb3..3dc62c94b50dce872b8205dc16e33cc60193b48a 100644 --- a/source/Lib/CommonLib/InterPrediction.cpp +++ b/source/Lib/CommonLib/InterPrediction.cpp @@ -221,7 +221,7 @@ void InterPrediction::init( RdCost* pcRdCost, ChromaFormat chromaFormatIDC, cons if (m_IBCBuffer.bufs.empty()) { #if JVET_P1018_IBC_NO_WRAPAROUND - m_IBCBufferWidth = 256 * 128 / ctuSize; + m_IBCBufferWidth = g_IBCBufferrSize / ctuSize; #else m_IBCBufferWidth = 128 * 128 / ctuSize; #endif diff --git a/source/Lib/CommonLib/Rom.h b/source/Lib/CommonLib/Rom.h index ac70317eb1f943cbaf6b4b33035e79f830a5d237..26bfa138c805c6f5edae78f898d192bbf199da0f 100644 --- a/source/Lib/CommonLib/Rom.h +++ b/source/Lib/CommonLib/Rom.h @@ -223,5 +223,9 @@ extern const uint8_t g_paletteQuant[52]; extern uint8_t g_paletteRunTopLut[5]; extern uint8_t g_paletteRunLeftLut[5]; +#if JVET_P1018_IBC_NO_WRAPAROUND +const int g_IBCBufferrSize = 256 * 128; +#endif + #endif //__TCOMROM__ diff --git a/source/Lib/DecoderLib/DecCu.cpp b/source/Lib/DecoderLib/DecCu.cpp index 1af546d612ce580acfa1c362be256dad83fb4d01..65a643491fb1d398eb3fd8ca31fa53dd5214762f 100644 --- a/source/Lib/DecoderLib/DecCu.cpp +++ b/source/Lib/DecoderLib/DecCu.cpp @@ -130,7 +130,7 @@ void DecCu::decompressCtu( CodingStructure& cs, const UnitArea& ctuArea ) if((currCU.Y().x % vSize) == 0 && (currCU.Y().y % vSize) == 0) { #if JVET_P1018_IBC_NO_WRAPAROUND - m_pcInterPred->resetVPDUforIBC(cs.pcv->chrFormat, cs.slice->getSPS()->getMaxCUHeight(), vSize, currCU.Y().x + 128*128/cs.slice->getSPS()->getMaxCUHeight(), currCU.Y().y); + m_pcInterPred->resetVPDUforIBC(cs.pcv->chrFormat, cs.slice->getSPS()->getMaxCUHeight(), vSize, currCU.Y().x + g_IBCBufferrSize / cs.slice->getSPS()->getMaxCUHeight() / 2, currCU.Y().y); #else m_pcInterPred->resetVPDUforIBC(cs.pcv->chrFormat, cs.slice->getSPS()->getMaxCUHeight(), vSize, currCU.Y().x, currCU.Y().y); #endif