Opened 6 years ago

Closed 5 years ago

#335 closed defect (fixed)

Chroma qp offset syntax element missing

Reported by: jonathang Owned by:
Priority: minor Milestone:
Component: spec Version: VVC D5 v10
Keywords: Cc: ksuehring, bbross, XiangLi, fbossen, jvet@…

Description

In VTM 5.0 within CABACReader::transform_unit, the function CABACReader::cu_chroma_qp_offset may decode a chroma qp offset from the bitstream:

void CABACReader::cu_chroma_qp_offset( CodingUnit& cu )
{

RExtDECODER_DEBUG_BIT_STATISTICS_CREATE_SET_SIZE2( STATSCABAC_BITSCHROMA_QP_ADJUSTMENT, cu.blocks[cu.chType].lumaSize(), CHANNEL_TYPE_CHROMA );

cu_chroma_qp_offset_flag
int length = cu.cs->pps->getPpsRangeExtension().getChromaQpOffsetListLen();
unsigned qpAdj = m_BinDecoder.decodeBin( Ctx::ChromaQpAdjFlag() );
if( qpAdj && length > 1 )
{

cu_chroma_qp_offset_idx
qpAdj += unary_max_symbol( Ctx::ChromaQpAdjIdc(), Ctx::ChromaQpAdjIdc(), length-1 );

}
/* NB, symbol = 0 if outer flag is not set,

  • 1 if outer flag is set and there is no inner flag
  • 1+ otherwise */

cu.chromaQpAdj = cu.cs->chromaQpAdj = qpAdj;

}

This function follows directly after code that may decode the cu_qp_delta_abs and cu_qp_delta_sign_flag syntax elements. In the spec (section 7.3.7.10) there is no corresponding syntax element for chroma qp offset.

Change history (3)

comment:1 Changed 6 years ago by bbross

  • Version changed from VVC D5 v8 to VVC D5 v9

comment:2 Changed 5 years ago by bbross

  • Version changed from VVC D5 v9 to VVC D5 v10

comment:3 Changed 5 years ago by bbross

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

chroma QP offset was adopted and added to VVC D6

Note: See TracTickets for help on using tickets.