Opened 13 years ago Closed 13 years ago #422 closed defect (duplicate)QP adaptation fails when max CU size is not 64x64
Description
The current implementation of QP adaptation makes the assumption that there are always 256 partitions in each LCU and that each partition is size 4x4. However, these assumptions are only true when the maximum CU size is 64x64 and the minimum TU size is 4x4.
The code currently fails to work correctly when the max/min CU sizes or TU sizes are set to some other values.
For example, the following functions contain such issues:
UInt uiAbsQpCUPartIdx = (uiAbsPartIdx>>(8-(pcCU->getSlice()->getPPS()->getMaxCuDQPDepth()<<1)))<<(8-(pcCU->getSlice()->getPPS()->getMaxCuDQPDepth()<<1)) ; UInt uiAbsRorderQpMinCUIdx = g_auiZscanToRaster[(uiCurrAbsIdxInLCU>>(8-(getSlice()->getPPS()->getMaxCuDQPDepth()<<1)))<<(8-(getSlice()->getPPS()->getMaxCuDQPDepth()<<1))]; UInt uiAbsZorderQpMinCUIdx = (uiCurrAbsIdxInLCU>>(8-(getSlice()->getPPS()->getMaxCuDQPDepth()<<1)))<<(8-(getSlice()->getPPS()->getMaxCuDQPDepth()<<1)); UInt uiNumPartInQpMinCUWidth = getSlice()->getPPS()->getMinCuDQPSize()>>2; UInt uiQUPartIdxMask = ~((1<<(8-(getSlice()->getPPS()->getMaxCuDQPDepth()<<1)))-1); Change History (2)comment:1 Changed 13 years ago by DefaultCC Plugin
comment:2 Changed 13 years ago by bheng
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
|
Closed as duplicate of #397.