Opened 7 years ago

Closed 7 years ago

#1270 closed defect (fixed)

Chroma QP adjustment parameters are not set over the correct area

Reported by: jackh Owned by:
Priority: minor Milestone: HM+RExt-4.2
Component: HM RExt Version: RExt-4.1 (HM-12.0)
Keywords: Cc: davidf, karlsharman, jct-vc@…

Description

We are currently adding range extensions support to Argon Streams. We are working from the head of the HM-range-extensions branch.

In TDecSbac::parseChromaQpAdjustment() (TDecSbac.cpp), cu_chroma_qp_adjustment_idc is read and set over the area of the current TU. This is incorrect, as it should be set over the area of the entire current chroma QP adjustment unit, analogous to what is done for delta QP.

To fix this, replace the following line:

  cu->setChromaQpAdjSubParts( symbol, absPartIdx, depth );

with:

  UInt uiAbsChromaQpAdjCUPartIdx = (absPartIdx>>((g_uiMaxCUDepth - cu->getSlice()->getPPS()->getMaxCuChromaQpAdjDepth())<<1))<<((g_uiMaxCUDepth - cu->getSlice()->getPPS()->getMaxCuChromaQpAdjDepth())<<1) ;
  UInt uiChromaQpAdjCUDepth =   min(depth,cu->getSlice()->getPPS()->getMaxCuChromaQpAdjDepth()) ;
  
  cu->setChromaQpAdjSubParts( symbol, uiAbsChromaQpAdjCUPartIdx, uiChromaQpAdjCUDepth );

This fixes this issue in the decoder - I guess a similar fix may be needed for the encoder.

Attachments (1)

bug1270.patch (2.5 KB) - added by jackh 7 years ago.

Download all attachments as: .zip

Change History (4)

comment:1 Changed 7 years ago by DefaultCC Plugin

  • Cc davidf karlsharman jct-vc@… added

Changed 7 years ago by jackh

comment:2 Changed 7 years ago by jackh

Clarification: the propagation of delta QP is in fact done in TDecCu::xFinishDecodeCU(). The fix given in the ticket above will work fine, but for consistency with delta QP, the attached patch might be better.

comment:3 Changed 7 years ago by karlsharman

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

Fixed in r3907

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

  • David Flynn(Subscriber)
  • Jack Haughton(Reporter, Participant)
  • jct-vc@…(Subscriber)
  • Karl Sharman(Subscriber, Participant)
  • karl.sharman@…(Always)
  • Karsten Suehring(Always)