Opened 12 years ago Closed 12 years ago #686 closed defect (fixed)Difference between uiQtRootCbf and no_residual_syntax_flag
Description
uiQtRootCbf in HM-8.0 is used as opposite meaning of no_residual_syntax_flag in the WD.
Subclause 7.3.9.1 in the WD, the following appears: if(PredMode[x0][y0]!=MODE_INTRA && !(PartMode==PART_2Nx2N && merge_flag[x0][y0])) no_residual_syntax_flag if(!no_residual_syntax_flag) { MaxTrafoDepth=(PredMode[x0][y0]==MODE_INTRA ? max_transform_hierarchy_depth_intra + IntraSplitFlag : max_transform_hierarchy_depth_inter) transform_tree( x0, y0 x0, y0, log2CbSize, 0, 0 ) }
In HM-8.0 TDecEntropy::decodeCoeff(), line 573: UInt uiQtRootCbf = 1; if( !( pcCU->getPartitionSize(uiAbsPartIdx)==SIZE_2Nx2N && pcCU->getMergeFlag( uiAbsPartIdx ) ) ) { m_pcEntropyDecoderIf->parseQtRootCbf(pcCU,uiAbsPartIdx,uiDepth,uiQtRootCbf ); } if(!uiQtRootCbf) { pcCU->setCbfSubParts(0,0,0,uiAbsPartIdx,uiDepth); pcCU->setTrIdxSubParts(0,uiAbsPartIdx,uiDepth); #if !REMOVE_NSQT pcCU->setNSQTIdxSubParts(uiAbsPartIdx,uiDepth); #endif return; } } xDecodeTransform(pcCU,uiLumaOffset,uiChromaOffset,uiAbsPartIdx, uiAbsPartIdx,uiDepth,uiWidth,uiHeight,0,0,bCodeDQP); Change History (8)comment:1 Changed 12 years ago by DefaultCC Plugin
comment:2 Changed 12 years ago by Parabola
Version 0, edited 12 years ago
by Parabola
(next)
comment:3 Changed 12 years ago by ksuehring
In an offline discussion with a text editor we agreed that it would be preferable to align the text with the software because all similar flags have positive meaning and there would be no change in the context initializations need. comment:4 Changed 12 years ago by bbross
comment:5 Changed 12 years ago by bbross
comment:6 Changed 12 years ago by bbross
comment:7 Changed 12 years ago by bbross
comment:8 Changed 12 years ago by bbross
Fixed in JCTVC-K1003_v13 by changing semantics according to HM and renaming no_residual_syntax_flag to rqt_root_cbf. 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
|
I can confirm this report having discovered it independently.
In my opinion, this flag needs to be renamed in the specification to "residual_syntax_flag" -- boolean variables with negative semantics are not good style. If not present, residual_syntax_flag should be set to 1.
The condition in coding_unit() should then read: if (residual_syntax_flag) { .... transform_tree() .... }
I will log this as an issue against the text.