Opened 6 years ago
Closed 5 years ago
#847 closed defect (fixed)
Typo of signaling condition for chroma intra prediction mode (cclm_mode_{flag,idx}, intra_chroma_pred_mode) in WD
| Reported by: | tsukuba.takeshi | Owned by: | |
|---|---|---|---|
| Priority: | minor | Milestone: | |
| Component: | spec | Version: | VVC D8 vB |
| Keywords: | Cc: | ksuehring, bbross, XiangLi, fbossen, jvet@… |
Description
In SW(2b6a7e1a), intra_chroma_pred_mode or cclm_mode_{flag,idx} is signaled depending on value of intra_bdpcm_chroma_flag.
void CABACReader::cu_pred_data( CodingUnit &cu )
{
if( CU::isIntra( cu ) )
{
...#if JVET_Q0110_Q0785_CHROMA_BDPCM_420
if( !cu.Y().valid() || ( !cu.isSepTree() && cu.Y().valid() ) )
{
bdpcm_mode(cu, ComponentID(CHANNEL_TYPE_CHROMA));
}
#endif
intra_chroma_pred_modes( cu );
return;
}
...
}
void CABACReader::intra_chroma_pred_modes( CodingUnit& cu )
{
if( cu.chromaFormat == CHROMA_400 || ( cu.isSepTree() && cu.chType == CHANNEL_TYPE_LUMA ) )
{
return;
}
#if JVET_Q0110_Q0785_CHROMA_BDPCM_420
if( cu.bdpcmModeChroma )
{
cu.firstPU->intraDir[1] = cu.bdpcmModeChroma == 2 ? VER_IDX : HOR_IDX;
return;
}
#endif
PredictionUnit *pu = cu.firstPU;
{
CHECK( pu->cu != &cu, "Inkonsistent PU-CU mapping" );
intra_chroma_pred_mode( *pu );
}
}
In WD, those syntax cannot be signaled regardless of value of intra_bdpcm_chroma_flag as below:
if ( cbWidth / SubWidthC <= MaxTsSize && cbHeight / SubHeightC <= MaxTsSize
&& sps_bdpcm_enabled_flag ) {
intra_bdpcm_chroma_flag ae(v)
if( intra_bdpcm_chroma_flag )
intra_bdpcm_chroma_dir_flag ae(v)
} else {
if( CclmEnabled )
cclm_mode_flag ae(v)
if( cclm_mode_flag )
cclm_mode_idx ae(v)
else
intra_chroma_pred_mode ae(v)
}
Suggested fix is to align WD to SW:
if ( cbWidth / SubWidthC <= MaxTsSize && cbHeight / SubHeightC <= MaxTsSize
&& sps_bdpcm_enabled_flag )
intra_bdpcm_chroma_flag ae(v)
if( intra_bdpcm_chroma_flag )
intra_bdpcm_chroma_dir_flag ae(v)
else {
if( CclmEnabled )
cclm_mode_flag ae(v)
if( cclm_mode_flag )
cclm_mode_idx ae(v)
else
intra_chroma_pred_mode ae(v)
}
Change history (2)
comment:1 Changed 6 years ago by jlchen
comment:2 Changed 5 years ago by bbross
- Resolution set to fixed
- Status changed from new to closed
Note: See TracTickets for help on using tickets.
The fix is reasonable to me. This will be fixed in vE release if no concern is raised.