Opened 5 years ago
Last modified 5 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 5 years ago by wangyang.cs
comment:2 Changed 5 years ago by wangyang.cs
A MR https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/-/merge_requests/1889 is submitted.
comment:3 Changed 5 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.