From 87a44fe97d5ec8defa4488eaa4413924fb83ee04 Mon Sep 17 00:00:00 2001 From: Yu Han <yuhan@qti.qualcomm.com> Date: Wed, 30 Jan 2019 11:30:20 -0800 Subject: [PATCH] MER_SHARE_LIST_FIX --- source/Lib/CommonLib/TypeDef.h | 1 + source/Lib/CommonLib/UnitTools.cpp | 11 +++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h index 6db76d61d..8b2bbac70 100644 --- a/source/Lib/CommonLib/TypeDef.h +++ b/source/Lib/CommonLib/TypeDef.h @@ -62,6 +62,7 @@ #define CLEAN_fillMvpCand 1 #define MODIFY_for_vtm4 1 #define IBC_SEPERATE_MODE_AND_MER 1 +#define IBC_MER_FIX 1 #define DEBUG_M0483 1 #endif diff --git a/source/Lib/CommonLib/UnitTools.cpp b/source/Lib/CommonLib/UnitTools.cpp index a093910d4..c64b8754f 100644 --- a/source/Lib/CommonLib/UnitTools.cpp +++ b/source/Lib/CommonLib/UnitTools.cpp @@ -747,7 +747,7 @@ bool PU::addMergeHMVPCand(const Slice &slice, MergeCtx& mrgCtx, bool isCandInter } #if JVET_M0170_MRG_SHARELIST #if IBC_SEPERATE_MODE_AND_MER && IBC_SEPERATE_MODE_REDUCTION==0 // Todo: remove - int num_avai_candInLUT = (isShared ? slice.getAvailableLUTBkupMrgNum() : slice.getAvailableLUTMrgNum()); + int num_avai_candInLUT = ibc_flag ? slice.getAvailableLUTIBCMrgNum() : (isShared ? slice.getAvailableLUTBkupMrgNum() : slice.getAvailableLUTMrgNum()); int offset = ibc_flag ? MAX_NUM_HMVP_CANDS : 0; #else int num_avai_candInLUT = (isShared ? slice.getAvailableLUTBkupMrgNum() : slice.getAvailableLUTMrgNum()); @@ -765,7 +765,8 @@ bool PU::addMergeHMVPCand(const Slice &slice, MergeCtx& mrgCtx, bool isCandInter { #if JVET_M0170_MRG_SHARELIST #if IBC_SEPERATE_MODE_AND_MER && IBC_SEPERATE_MODE_REDUCTION==0//Todo: remove - miNeighbor = isShared ? slice.getMotionInfoFromLUTBkup(num_avai_candInLUT - mrgIdx) : slice.getMotionInfoFromLUTs(num_avai_candInLUT - mrgIdx); + miNeighbor = ibc_flag ? slice.getMotionInfoFromLUTs(num_avai_candInLUT - mrgIdx + offset) + : (isShared ? slice.getMotionInfoFromLUTBkup(num_avai_candInLUT - mrgIdx) : slice.getMotionInfoFromLUTs(num_avai_candInLUT - mrgIdx)); #else miNeighbor = isShared ? slice.getMotionInfoFromLUTBkup(num_avai_candInLUT - mrgIdx) : slice.getMotionInfoFromLUTs(num_avai_candInLUT - mrgIdx); #endif @@ -998,7 +999,7 @@ void PU::getIBCMergeCandidates(const PredictionUnit &pu, MergeCtx& mrgCtx, const unsigned subPuMvpPos = 0; #if JVET_L0090_PAIR_AVG -#if MODIFY_for_vtm4 +#if IBC_MER_FIX==0 #if JVET_M0170_MRG_SHARELIST bool isShared = ((pu.Y().lumaSize().width != pu.shareParentSize.width) || (pu.Y().lumaSize().height != pu.shareParentSize.height)); #endif @@ -1009,7 +1010,9 @@ void PU::getIBCMergeCandidates(const PredictionUnit &pu, MergeCtx& mrgCtx, const #if IBC_SEPERATE_MODE && IBC_SEPERATE_MODE_REDUCTION==0 , true #endif -#if MODIFY_for_vtm4 +#if IBC_MER_FIX + , false +#else #if JVET_M0170_MRG_SHARELIST , isShared #endif -- GitLab