Opened 6 years ago

Closed 6 years ago

# Incorrect calculation of adjacent modes in MPM list formation

Reported by: Owned by: andrew.dorrell minor VTM VTM-3.0 MPM Intra ksuehring, XiangLi, fbossen, jvet@…

### Description

In UnitTools.cpp the adjacent angles are being incorrectly calculated for extreme angular modes due to incorrect offset values in the code. Specifically:

const int offset = (int)NUM_LUMA_MODE - 6; incorrect
const int offset = (int)NUM_LUMA_MODE - 5;
correct

and in inactive code:

const int offset = 61; incorrect
const int mod = 64;
incorrect

const int offset = 62; correct
const int mod = 65;
correct

### comment:1 Changed 6 years ago by XiangLi

It was decided to use mod 64 instead of mod 65. Please refer to https://jvet.hhi.fraunhofer.de/trac/vvc/ticket/79.

### comment:2 Changed 6 years ago by andrew.dorrell

But the code generates incorrect values. I am looking at the spec also to try and work out if there is an error in translation.

### comment:3 Changed 6 years ago by andrew.dorrell

I should clarify what I mean by "incorrect values". Perhaps more accurately it generates inconsistent results. For example, for a mode 'm', the code

((m + offset) % mod) + 2

generates an adjacent mode (m-1) for [2 < m <= 66] but generates a non adjacent mode (65) for m==2 where a "correct" modulo result would be 66. Further, the output for m==2 is the same as m==66 - which seems illogical at least to me.

Similarly, the code

((m - 1) % mod) + 2)

generates an adjacent mode (m+1) for [2 <= m < 66] but a non-adjacent mode (3) for m==66 where a "correct" modulo result would be 2. Again, the output for m==2 is the same as m==66.

### comment:4 Changed 6 years ago by ksuehring

• Version changed from VTM-3.0rc1 to VTM-3.0

### comment:5 Changed 6 years ago by andrew.dorrell

I have flagged this in #128 as a bug in the spec.

### comment:6 Changed 6 years ago by bbross

• Resolution set to wontfix
• Status changed from new to closed

mod 64 was a design choice and thus VTM and draft text reflect the intended design.

Note: See TracTickets for help on using tickets.