diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h index 6f727eaa886537201a25bc352ee85061d469203b..824e5e6a60311f54de939a665b7c18a921bee73d 100644 --- a/source/Lib/CommonLib/TypeDef.h +++ b/source/Lib/CommonLib/TypeDef.h @@ -103,6 +103,8 @@ #define JVET_N0178_IMPLICIT_BDOF_SPLIT 1 #define JVET_N0383_N0251_IBC_COL_VPDU_REMOVE 1 +#define JVET_N0407_DMVR_CU_SIZE_RESTRICTION 1 // Disable 4xN/8x8 CUs for DMVR + #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 a9c6aa301e432c236ad0674c8dffae87ed63f63c..61e48236adcfd483dc8f066a04a25dfe035b11d2 100644 --- a/source/Lib/CommonLib/UnitTools.cpp +++ b/source/Lib/CommonLib/UnitTools.cpp @@ -1926,7 +1926,12 @@ bool PU::checkDMVRCondition(const PredictionUnit& pu) && !pu.cu->mmvdSkip && PU::isBiPredFromDifferentDirEqDistPoc(pu) && (pu.lheight() >= 8) +#if JVET_N0407_DMVR_CU_SIZE_RESTRICTION + && (pu.lwidth() >= 8) + && ((pu.lheight() * pu.lwidth()) >= 128) +#else && ((pu.lheight() * pu.lwidth()) >= 64) +#endif ; } else