Opened 4 years ago

Closed 4 years ago

# Bad definition of range notation (5.7)

Reported by: Owned by: fbossen minor spec VVC D10 vD 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.

### comment:1 Changed 4 years ago by fbossen

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

### 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.

Note: See TracTickets for help on using tickets.