#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@…


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 12 months ago by fbossen

  • Milestone set to VTM-4.0

comment:3 Changed 11 months ago by XiangLi

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.