Opened 4 years ago
Closed 4 years ago
#1312 closed defect (invalid)
Mismatch of equations between spec (JVET-S2001-vG) & VTM10.0 in BDOF
Reported by: | ksthey | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | spec | Version: | |
Keywords: | Cc: | ksuehring, bbross, XiangLi, fbossen, jvet@… |
Description
In 8.5.6.5 Bi-directional optical flow prediction process, equations 964 & 965:
sGxdI = ij( −Sign( tempH[ xSb + i ][ ySb + j ] ) * diff[ xSb + i ][ ySb + j ] ) with i, j = −1..4
sGydI = ij( −Sign( tempV[ xSb + i ][ ySb + j ] ) * diff[ xSb + i ][ ySb + j ] ) with i, j = −1..4
The corresponding source code in VTM10.0, calcBIOSumsCore():
*sumDIX += (tmpGX < 0 ? -tmpDI : (tmpGX == 0 ? 0 : tmpDI));
*sumDIY += (tmpGY < 0 ? -tmpDI : (tmpGY == 0 ? 0 : tmpDI));
The "−"s before the "Sign"s in spec seem like not reflected in VTM.
Change history (2)
comment:1 Changed 4 years ago by iperroux
comment:2 Changed 4 years ago by ksthey
- Resolution set to invalid
- Status changed from new to closed
Thanks for pointing out.
Yes, my understanding was incorrect.
Note: See TracTickets for help on using tickets.
In the VTM, the sign is borne by the tmpDI variable, which is initialized inversely compared to the diff variable in the Spec:
=> tmpDI = -diff[x][y], so there’s no mismatch at the end.