Opened 6 years ago
Closed 6 years ago
#155 closed defect (fixed)
M0264 HMVP with GBI Index sets GBI index incorrectly
Reported by: | bheng | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | VTM-4.0 |
Component: | VTM | Version: | |
Keywords: | Cc: | ksuehring, XiangLi, fbossen, jvet@… |
Description
The integration of M0264 to set GBI index for HMVP candidates can have the unintended side effect of setting the GBI index to something other than DEFAULT for the next candidate in the list.
Specifically, in file UnitTools.cpp, function addMergeHMVPCand(), the HMVP process sets the GBI index for a potential candidate vector here:
mrgCtx.GBiIdx[cnt] = (mrgCtx.interDirNeighbours[cnt] == 3) ? miNeighbor.GBiIdx: GBI_DEFAULT;
But if that candidate is later discarded because it fails the xCheckSimilarMotion( ) == 0 test, the GBI index value set above will still be left in the merge context.
Future stages in the merge list construction (e.g. pair averaging stage, etc…) make the assumption that candidates are initialized to GBI_DEFAULT, so a non-default value leftover from HMVP will be carried over and inadvertently used for the next candidate in the list.
Either the GBI index needs to be set to DEFAULT explicitly in all future stages of the list construction process, or the HMVP process should reset any discarded xCheckSimilarMotion() == 1 vectors back to the default state.
Attachments (1)
Change history (5)
Changed 6 years ago by LiZhang
comment:1 Changed 6 years ago by LiZhang
comment:2 Changed 6 years ago by fbossen
The patch is not applicable as such. Submitted similar merge request:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/merge_requests/239
In the future please submit merge request instead of attaching patch to bug report
comment:3 Changed 6 years ago by fbossen
- Milestone set to VTM-4.0
- Version VTM-3.0 deleted
comment:4 Changed 6 years ago by ksuehring
- Resolution set to fixed
- Status changed from new to closed
The MR was merged
Fixed with the attached patch file