Opened 5 years ago

Closed 5 years ago

#373 closed defect (fixed)

JVET-O0590 with DMVR SAD Doubled

Reported by: bheng Owned by:
Priority: minor Milestone: VTM-6.0
Component: VTM Version: VTM-5.2
Keywords: Cc: ksuehring, XiangLi, fbossen, jvet@…

Description

The SAD value returned from xDMVRCost( ) appears to be doubled relative to what is specified in the draft text, Section 8.5.3.3.

Specifically, see function xGetSAD_NxN_SIMD() where the SAD is doubled at the following line:

uiSum <<= iSubShift;

With care about various thresholds, this can be made to be equivalent to what is specified in the draft text.

However, for JVET-O0590, with a doubled SAD value, the following operation has a different level of precision so the results can be different (off by 1 point).

minCost -= (minCost >>2);

This can lead to different DMVR search results.

This specific issue could be solved by adjusting the precision before/after the right shift above.

minCost >>= 1;
minCost -= (minCost >>2);
minCost <<= 1;

But it would probably be better just to change xDMVRCost to match the spec and adjust all the thresholds accordingly.

Change history (2)

comment:2 Changed 5 years ago by XiangLi

  • Milestone set to VTM-6.0
  • Resolution set to fixed
  • Status changed from new to closed

Fixed as suggested.

Note: See TracTickets for help on using tickets.