﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
1270	Chroma QP adjustment parameters are not set over the correct area	jackh		"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."	defect	closed	minor	HM+RExt-4.2	HM RExt	RExt-4.1 (HM-12.0)	fixed		davidf karlsharman jct-vc@…
