#895 closed defect (fixed)

Possible issue in syntax of transform_tree

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


In the syntax of transform_tree, when ISP and SBT are not used, but the block is too big (i.e. if( tbWidth > MaxTbSizeY | | tbHeight > MaxTbSizeY ) ), transform_tree is called recursively, followed by a call to transform_unit. This is strange, because it means that transform_unit is called only when the block is bigger than the transform size and not in the general case. In past draft versions, there used to be an "} else {" just before the call to transform_unit. I am not sure why it was removed. Could someone please check if this is correct?

Change history (4)

comment:1 Changed 19 months ago by hmjang

I seek history and it is observed an "} else{" is removed in JVET-Q2001_v2.
I think this is a mistake. the "} else {" should be need to call transform_unit() for TU which is smaller than or equal to maximum TB size.

comment:2 Changed 18 months ago by zhaoyin

Besides, the a pair of braces are missing in the following spec text (as marked in bold)

} else if( cu_sbt_flag ) {

if( !cu_sbt_horizontal_flag ) {

trafoWidth = tbWidth * SbtNumFourthsTb0 / 4
transform_unit( x0, y0, trafoWidth, tbHeight, treeType , 0, 0 )
transform_unit( x0 + trafoWidth, y0, tbWidth − trafoWidth, tbHeight, treeType, 1, 0 )

} else {

trafoHeight = tbHeight * SbtNumFourthsTb0 / 4
transform_unit( x0, y0, tbWidth, trafoHeight, treeType , 0, 0 )
transform_unit( x0, y0 + trafoHeight, tbWidth, tbHeight − trafoHeight, treeType, 1, 0 )


} else if( IntraSubPartitionsSplitType = = ISP_HOR_SPLIT ) {

comment:3 Changed 16 months ago by vdrugeon

Ticket #1086 has been marked as a duplicate of this ticket.

comment:4 Changed 15 months ago by bbross

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

Good catch, thanks!

Both will be fixed in the first version of D10.

Note: See TracTickets for help on using tickets.