diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h index a17d20f80c4a2c70170db7c90cf17d73fa382895..6c85490b553e6645bc7367f01c078dc78336fc51 100644 --- a/source/Lib/CommonLib/TypeDef.h +++ b/source/Lib/CommonLib/TypeDef.h @@ -94,6 +94,8 @@ #define JVET_N0178_IMPLICIT_BDOF_SPLIT 1 +#define JVET_N0383_N0251_IBC_COL_VPDU_REMOVE 1 + #define JCTVC_Y0038_PARAMS 1 #define JVET_MMVD_OFF_MACRO 0 diff --git a/source/Lib/CommonLib/UnitTools.cpp b/source/Lib/CommonLib/UnitTools.cpp index c40e9350ceb8987e98a7bdf64f2dc7e37e89f750..67042018825f7d3e752ab27a56e5b585696a564b 100644 --- a/source/Lib/CommonLib/UnitTools.cpp +++ b/source/Lib/CommonLib/UnitTools.cpp @@ -1952,6 +1952,10 @@ bool PU::isBlockVectorValid(PredictionUnit& pu, int xPos, int yPos, int width, i const Position refPosCol64x64 = {offset64x, offset64y}; if (pu.cs->isDecomp(refPosCol64x64, toChannelType(COMPONENT_Y))) return false; +#if JVET_N0383_N0251_IBC_COL_VPDU_REMOVE + if (refPosCol64x64 == pu.Y().topLeft()) + return false; +#endif } } else