Opened 2 years ago

Closed 2 years ago

#130 closed defect (fixed)

Incorrect scaling operation in triangle list derivation

Reported by: rlliao Owned by:
Priority: minor Milestone: VTM-3.1
Component: VTM Version: VTM-3.0
Keywords: Cc: ksuehring, XiangLi, fbossen, jvet@…

Description

In UnitTool.cpp PU::getTriangleMergeCandidates, the scaling process in averaging L0 and L1 motion vectors of a bi-prediction candidate is incorrect. When the reference picture of L1 mv is the same as L0 motion vector, scaling is still applied to L1 mv. Specifically:

aveMv = aveMv.scaleMv( xGetDistScaleFactor( curPicPoc, refPicPocL0, curPicPoc, refPicPocL1 ) );

Should be:

int32_t distscale = xGetDistScaleFactor( curPicPoc, refPicPocL0,
curPicPoc, refPicPocL1 );
if( distscale != 4096 )
{

aveMv = aveMv.scaleMv( distscale );

}

Attachments (1)

fix-scaling-for-triangle.patch (1.4 KB) - added by rlliao 2 years ago.

Download all attachments as: .zip

Change history (2)

Changed 2 years ago by rlliao

comment:1 Changed 2 years ago by XiangLi

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