Opened 10 years ago Closed 10 years ago #493 closed defect (fixed)Derivation process error for luma intra prediction mode
Description
candModeList[0] = candIntraPredModeA (8 24)
In Intra_Angular (33) mode, candModeList[0] is 33, candModeList[1] = 32, and candModeList[2] = 2 (instead of 34).
Mod 32 operator is correct for those cases? Change History (4)comment:1 Changed 10 years ago by DefaultCC Plugin
comment:2 Changed 10 years ago by chungcomment:3 Changed 10 years ago by tyamamoto
According to the definition of mod operation in spec, it actually does not support negative values. So (825) could be fixed as HM implementation.
candModeList[1] = 2 + ( ( candIntraPredModeA － 2 － 1 + 32 ) % 32) (825)
On 'Mod 32' correctness, it seems, by using 'Mod 32' instead of 'Mod 33', (825) and (826) are handling the fact that Intra_Angular(2) and Intra_Angular(34) are the 'same' direction (directions of 180 degrees opposite). So current equation seems fine unless it is not what original proposal intended. comment:4 Changed 10 years ago by bbross
Fixed in JCTVCI1003_d9. Note: See
TracTickets for help on using
tickets.  This list contains all users that will be notified about changes made to this ticket. These roles will be notified: Reporter, Owner, Subscriber, Participant

Another issue concerning (8 25) formula :
it does not work for candIntraPredModeA=2, since in this case we get
1 % 32
This is not supported in the modulus definition