Opened 3 years ago

Closed 3 years ago

#100 closed defect (fixed)

A SW bug in VTM for MPM generation when multiline is used for intra CU prediction

Reported by: ezhizng Owned by:
Priority: major Milestone:
Component: VTM Version: VTM-2.2
Keywords: Cc: zhi.a.zhang@…, frank.bossen@…, ksuehring, XiangLi, fbossen, jvet@…

Description (last modified by ksuehring)

It looks as if there is a potential bug in intra prediction from multi reference line, please double check.

The code below is used for multi reference line intra prediction MPM generation. To avoid insert duplicated modes in MPM, the red marked code:

if (aboveIntraDir > DC_IDX)

should be changed to:

if (aboveIntraDir > DC_IDX && aboveIntraDir != leftIntraDir)


Code snip below:
UtilTools.cpp
Line 333

int PU::getIntraMPMs()
{
#if JVET_L0283_MULTI_REF_LINE
    if (extendRefLine)
    {
      int modeIdx = 0;
      int angularMode[2] = { 0, 0 };
 
      if (leftIntraDir > DC_IDX)
      {
        angularMode[modeIdx++] = leftIntraDir;
      }
      if (aboveIntraDir > DC_IDX)
      {
        angularMode[modeIdx++] = aboveIntraDir;
      }
}

Change history (3)

comment:1 Changed 3 years ago by ksuehring

  • Description modified (diff)

comment:2 Changed 3 years ago by fbossen

This looks like an oversight when combining multi reference lines with 6 MPMs. Suggested fix submitted in https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/merge_requests/81

comment:3 Changed 3 years ago by fbossen

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