Opened 12 years ago

Closed 12 years ago

#422 closed defect (duplicate)

QP adaptation fails when max CU size is not 64x64

Reported by: bheng Owned by:
Priority: minor Milestone:
Component: HM Version: HM-6.0
Keywords: Cc: fbossen, ksuehring, davidf, jct-vc@…


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:

  • parseDeltaQP( )
  • getQpMinCuLeft( )
  • getQpMinCuAbove( )
  • getLastCodedQP( )
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 12 years ago by DefaultCC Plugin

  • Cc fbossen ksuehring davidf jct-vc@… added

comment:2 Changed 12 years ago by bheng

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

Closed as duplicate of #397.

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

  • Brian Heng(Reporter, Participant)
  • David Flynn(Subscriber)
  • Frank Bossen(Subscriber)
  • jct-vc@…(Subscriber)
  • karl.sharman@…(Always)
  • Karsten Suehring(Subscriber, Always)