Opened 6 years ago
Closed 5 years ago
#336 closed defect (wontfix)
Explicit RDPCM 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::residual_coding, the function CABACReader::explicit_rdpcm_mode is called and may result in the decoding of an RDPCM flag and RDPCM direction from the bitstream if CU::isRDPCMEnabled(cu) is True:
void CABACReader::explicit_rdpcm_mode( TransformUnit& tu, ComponentID compID )
{
const CodingUnit& cu = *tu.cu;
tu.rdpcm[compID] = RDPCM_OFF;
if( !CU::isIntra(cu) && CU::isRDPCMEnabled(cu) && ( tu.mtsIdx==MTS_SKIP cu.transQuantBypass ) ) {
RExtDECODER_DEBUG_BIT_STATISTICS_CREATE_SET_SIZE( STATSEXPLICIT_RDPCM_BITS, tu.blocks[tu.chType].lumaSize() );
ChannelType chType = toChannelType( compID );
if( m_BinDecoder.decodeBin( Ctx::RdpcmFlag( chType ) ) )
{
if( m_BinDecoder.decodeBin( Ctx::RdpcmDir( chType ) ) )
{
tu.rdpcm[compID] = RDPCM_VER;
}
else
{
tu.rdpcm[compID] = RDPCM_HOR;
}
}
}
}
This function is called directly after CABACReader::mts_coding, which decodes the transform_skip_flag and tu_mts_idx syntax elements. In the spec (section 7.3.7.10) there are no syntax elements for explicit RDPCM.
Change history (3)
comment:1 Changed 5 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 wontfix
- Status changed from new to closed
RDPCM not part of the VVC spec and the code parts in VTM are "left overs" from HEVC.