#1218 closed defect (fixed)
Bad definition of range notation (5.7)
Reported by: | fbossen | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | spec | Version: | VVC D10 vD |
Keywords: | Cc: | ksuehring, bbross, XiangLi, fbossen, jvet@… |
Description
The range notation x = y..z is defined as:
x takes on integer values starting from y to z, inclusive, with x, y, and z being integer numbers and z being greater than y.
There are cases in the spec where z will be equal to y, in particular when y and/or z are derived from other variables. For example numQpTables can be equal to 1 in i = 0..numQpTables − 1.
The definition should probably be updated to say:
x takes on integer values starting from y to z, inclusive, with x, y, and z being integer numbers and z being greater than or equal to y.
Change history (4)
comment:1 Changed 4 years ago by fbossen
comment:2 Changed 4 years ago by jlchen
- Resolution set to fixed
- Status changed from new to closed
Good catch. I think all the suggestions are reasonable. Will be fixed in JVET-S2001-vE release.
In addition, more places need to be changed,
y = −1..−2 in 8.4.5.2.14
y = refH − 2..−1 − refIdx in 8.4.5.2.9
comment:3 Changed 4 years ago by fbossen
Need to be careful with 8.4.5.2.9: just changing y = a..b to y = b..a won't work. Consider changing to y = −a..−b and then change y to −y where you use it.
comment:4 Changed 4 years ago by jlchen
Thanks for pointing it out, Frank. Your suggestion is good to me. Will fix it as suggested.
There also seem to be a few places in the spec where z is smaller than y. For such cases, the range notation definition should either be further updated or the ranges fixed:
For example replace x = -1..-3 with x = -3..-1 in 8.4.5.2.14
Replace
For each RPL LY with Y = X..( 1 − X ),
with something like
For each RPL LY with Y equal to X and ( 1 − X ),
in 8.5.2.9