Opened 4 years ago
Last modified 3 years ago
#1391 new enhancement
Unnecessary setting of mrgTypeNeighbours in getInterMergeCandidates() and checking condition in getInterMMVDMergeCandidates()
Reported by: | wangyang.cs | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | VTM-10.1 |
Component: | VTM | Version: | VTM-10.0 |
Keywords: | Cc: | ksuehring, bbross, XiangLi, fbossen, jvet@…, jvet@… |
Description
The unnecessary setting of mrgTypeNeighbours in PU::getInterMergeCandidates() should be removed.
void PU::getInterMergeCandidates() { if ( mrgCtx.interDirNeighbours[uiArrayAddr] == 1 && pu.cs->slice->getRefPic(REF_PIC_LIST_0, mrgCtx.mvFieldNeighbours[uiArrayAddr << 1].refIdx)->getPOC() == pu.cs->slice->getPOC()) { mrgCtx.mrgTypeNeighbours[uiArrayAddr] = MRG_TYPE_IBC; } }
Since the merge types for all merge candidates for MMVD are MRG_TYPE_DEFAULT_N, the unnecessary checking condition in PU::getInterMMVDMergeCandidates() should be removed.
void PU::getInterMMVDMergeCandidates() { for (k = 0; k < maxNumMergeCand; k++) { if (mrgCtx.mrgTypeNeighbours[k] == MRG_TYPE_DEFAULT_N) { refIdxList0 = mrgCtx.mvFieldNeighbours[(k << 1)].refIdx; refIdxList1 = mrgCtx.mvFieldNeighbours[(k << 1) + 1].refIdx; ... } } }
Change history (3)
comment:1 Changed 4 years ago by wangyang.cs
comment:2 Changed 4 years ago by wangyang.cs
A MR https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/-/merge_requests/1889 is submitted.
comment:3 Changed 3 years ago by fbossen
- Type changed from defect to enhancement
Note: See TracTickets for help on using tickets.
It may cause problems for multilayer coding when the reference picture and the current picture has the same POC.