Opened 5 years ago

Closed 5 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 5 years ago by fbossen

  • Milestone set to VTM-4.0

comment:2 Changed 5 years ago by bheng

comment:3 Changed 5 years ago by XiangLi

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