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:1 Changed 5 years ago by bheng
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.
Possible solution provided here:
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/merge_requests/767