Opened 3 years ago

Closed 3 years ago

#1437 closed defect (invalid)

vtm bugs In function getModifiedWideAngle

Reported by: wzq_arcvideo Owned by:
Priority: critical Milestone: VTM-11.0
Component: VTM Version: VTM-10.2
Keywords: getModifiedWideAngle; WideAngle Cc: ksuehring, XiangLi, fbossen, jvet@…

Description

there has a bug exiting for a long time in function "getModifiedWideAngle".
it's shown in vtm11.0 like bellow:

int IntraPrediction::getModifiedWideAngle( int width, int height, int predMode )
{
  //The function returns a 'modified' wide angle index, given that it is not necessary 
  //in this software implementation to reserve the values 0 and 1 for Planar and DC to generate the prediction signal.
  //It should only be used to obtain the intraPredAngle parameter.
  //To simply obtain the wide angle index, the function PU::getWideAngle should be used instead.
  if ( predMode > DC_IDX && predMode <= VDIA_IDX )
  {
    int modeShift[] = { 0, 6, 10, 12, 14, 15 };
    int deltaSize = abs(floorLog2(width) - floorLog2(height));
    if (width > height && predMode < 2 + modeShift[deltaSize])
    {
      predMode += (VDIA_IDX - 1);
    }
    else if (height > width && predMode > VDIA_IDX - modeShift[deltaSize])
    {
      predMode -= (VDIA_IDX - 1); //there has a bug 
    }
  }
  return predMode;
}

In fact,this function implements the contents of jvet-s2001 in 8.4.5.2.7 ,part of its discription like below:

– Otherwise, if all of the following conditions are true, predModeIntra is set equal to ( predModeIntra − 67 ).
– nH is greater than nW
– predModeIntra is less than or equal to 66
– predModeIntra is greater than ( whRatio > 1 ) ? ( 60 − 2 * whRatio ) : 60

the part of function getModifiedWideAngle should be modefied ,to satisfy "predModeIntra − 67 ",just like below:

 else if (height > width && predMode > VDIA_IDX - modeShift[deltaSize])
    {
    //note change  predMode -= (VDIA_IDX - 1); to predMode -= (VDIA_IDX - 1);
      predMode -= (VDIA_IDX + 1);
    }

Attachments (1)

source_Lib_CommonLib_IntraPrediction.cpp (65.1 KB) - added by wzq_arcvideo 3 years ago.
bugs in IntraPrediction::getModifiedWideAngle

Download all attachments as: .zip

Change history (3)

Changed 3 years ago by wzq_arcvideo

bugs in IntraPrediction::getModifiedWideAngle

comment:1 Changed 3 years ago by deluxan

Hi. Thank you for your report. However, have you read the comments at the top of the function? They explain why this function does NOT implement the section you are mentioning in the standard. That is why its name is 'getModifiedWideAngle' instead of 'getWideAngle'. So there is no problem with this function.

comment:2 Changed 3 years ago by ksuehring

  • Resolution set to invalid
  • Status changed from new to closed

Confirmed in email discussion that the software works differently (as documented in the comments) and this is not a problem.

Note: See TracTickets for help on using tickets.