Opened 9 years ago Closed 9 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 9 years ago by DefaultCC Plugin
comment:2 Changed 9 years ago by chungcomment:3 Changed 9 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 9 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