Opened 6 years ago
Closed 6 years ago
#153 closed defect (fixed)
MMVD selects GBI index from invalid array
Reported by: | bheng | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | VTM-4.0 |
Component: | VTM | Version: | VTM-3.0 |
Keywords: | Cc: | ksuehring, XiangLi, fbossen, jvet@… |
Description
In ContextModelling.cpp, setMmvdMergeCandiInfo() function. The GBI index for the MMVD vector is selected as follows.
pu.cu->GBiIdx = (interDirNeighbours[fPosBaseIdx] == 3) ? GBiIdx[fPosBaseIdx] : GBI_DEFAULT;
The interDirNeighbours and GBiIdx arrays are for the regular merge list.
The fPosBasIdx is an index into the MMVD merge list.
Using fPosBasIdx to lookup the GBI index from the regular merge list will give the wrong result and can lead to accessing uninitialized memory.
Change history (3)
comment:1 Changed 6 years ago by fbossen
- Milestone set to VTM-4.0
comment:2 Changed 6 years ago by bheng
comment:3 Changed 6 years ago by XiangLi
- Resolution set to fixed
- Status changed from new to closed
Note: See TracTickets for help on using tickets.
One possible fix has been provided in:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/merge_requests/287