Opened 22 months ago
Closed 4 weeks ago
#1634 closed defect (fixed)
Matrices QStateTransTable,levelScale,AlfFixFiltCoeff,AlfClassToFiltMap are incorrectly transposed
| Reported by: | peterderivaz | Owned by: | |
|---|---|---|---|
| Priority: | minor | Milestone: | H.266/VVC v4 |
| Component: | spec | Version: | H.266/VVC v3 |
| Keywords: | Cc: | ksuehring, bbross, XiangLi, fbossen, jvet@… |
Description
The spec defines the ordering of indices in a matrix and initialization syntax in 5.10.
However, the matrices QStateTransTable (7.4.12.11), levelScale (in 8.7.3), AlfFixFiltCoeff (7.4.3.18), AlfClassToFiltMap (7.4.3.18) do not follow this ordering, but instead use C based ordering (i.e. they are transposed).
For example,
The array QStateTransTable[ ][ ] is specified as follows:
QStateTransTable[ ][ ] = { { 0, 2 }, { 2, 0 }, { 1, 3 }, { 3, 1 } }
This could be fixed either by transposing the matrices in the spec, i.e.
QStateTransTable = { {0, 2, 1, 3}, {2, 0, 3, 1} }
or by swapping the indices when it is accessed, i.e. changing things like
QState = QStateTransTable[ QState ][ AbsLevel[ xC ][ yC ] & 1 ]
to
QState = QStateTransTable[ AbsLevel[ xC ][ yC ] & 1 ][ QState ]
Change history (2)
comment:1 Changed 19 months ago by bbross
- Milestone set to H.266/VVC v4
- Version set to H.266/VVC v3
comment:2 Changed 4 weeks ago by yk
- Resolution set to fixed
- Status changed from new to closed
Fixed in JVET-AN2001-v1.
Good catch, thanks! Will be fixed in v4 and I prefer transposing the matrices when defined.