﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
1235	transform_unit() reads incorrect chroma cbf for 4:2:2 subsamples	jackh		"The following code from transform_unit():

{{{
  } else if( blkIdx = = 3 ) {
    for( tIdx = 0; tIdx < ( ChromaArrayType = = 2 ? 2 : 1 ); tIdx++ )
      if( cbf_cb[ xBase ][ yBase ][ trafoDepth ] )
        residual_coding( xBase, yBase + ( tIdx << log2TrafoSize ), log2TrafoSize, 1 )
    for( tIdx = 0; tIdx < ( ChromaArrayType = = 2 ? 2 : 1 ); tIdx++ )
      if( cbf_cr[ xBase ][ yBase ][ trafoDepth ] )
        residual_coding( xBase, yBase + ( tIdx << log2TrafoSize ), log2TrafoSize, 2 )
  }
}}}

appears to disregard the second cbf in the 4:2:2 case. I think this code should read:

{{{
  } else if( blkIdx = = 3 ) {
    for( tIdx = 0; tIdx < ( ChromaArrayType = = 2 ? 2 : 1 ); tIdx++ )
      if( cbf_cb[ xBase ][ yBase + ( tIdx << log2TrafoSize ) ][ trafoDepth ] )
        residual_coding( xBase, yBase + ( tIdx << log2TrafoSize ), log2TrafoSize, 1 )
    for( tIdx = 0; tIdx < ( ChromaArrayType = = 2 ? 2 : 1 ); tIdx++ )
      if( cbf_cr[ xBase ][ yBase + ( tIdx << log2TrafoSize ) ][ trafoDepth ] )
        residual_coding( xBase, yBase + ( tIdx << log2TrafoSize ), log2TrafoSize, 2 )
  }
}}}"	defect	closed	minor	RExt D6	RExt text	RExt D5 (O1005) v3	fixed		davidf joel teruhiko jct-vc@…
