diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h index fb51e135bd22e715904eb1935e464d38ffae2021..d9c1d8b03a1f2c8ccd08e05b918fef9ca79d0f79 100644 --- a/source/Lib/CommonLib/TypeDef.h +++ b/source/Lib/CommonLib/TypeDef.h @@ -138,6 +138,7 @@ #define JVET_N0196_SIX_TAP_FILTERS 1 // 6-tap filters for affine motion compensation +#define JVET_N0213_TMVP_REMOVAL 1 // Remove TMVP candidates from merge and amvp mode with samples <= 32 #define JCTVC_Y0038_PARAMS 1 diff --git a/source/Lib/CommonLib/UnitTools.cpp b/source/Lib/CommonLib/UnitTools.cpp index 6fafc250eee32a555e81ecc6f9f08395d1b07b52..93e3a8322954ded9471c17130d64be2361ba6026 100644 --- a/source/Lib/CommonLib/UnitTools.cpp +++ b/source/Lib/CommonLib/UnitTools.cpp @@ -1624,7 +1624,11 @@ void PU::getInterMergeCandidates( const PredictionUnit &pu, MergeCtx& mrgCtx, return; } +#if JVET_N0213_TMVP_REMOVAL + if (slice.getEnableTMVPFlag() && (pu.lumaSize().width + pu.lumaSize().height > 12)) +#else if (slice.getEnableTMVPFlag()) +#endif { //>> MTK colocated-RightBottom // offset the pos to be sure to "point" to the same position the uiAbsPartIdx would've pointed to @@ -2700,7 +2704,11 @@ void PU::fillMvpCand(PredictionUnit &pu, const RefPicList &eRefPicList, const in } } +#if JVET_N0213_TMVP_REMOVAL + if (cs.slice->getEnableTMVPFlag() && pInfo->numCand < AMVP_MAX_NUM_CANDS && (pu.lumaSize().width + pu.lumaSize().height > 12)) +#else if( cs.slice->getEnableTMVPFlag() && pInfo->numCand < AMVP_MAX_NUM_CANDS ) +#endif { // Get Temporal Motion Predictor const int refIdx_Col = refIdx;