d by: dij = sTCoeff[ cO + 16 * c4x4BlkIdx + 4*i+j] with i, j = 0..3 (G-180) The transformation process for residual 4x4 blocks as specified in clause 8.5.12.2 is invoked with bitDepth and the 4x4 array d as the inputs and the outputs are residual sample value as a 4x4 array r with elements Iij. The inverse 4x4 luma block scanning process as specified in clause 6.4.3 is invoked with c4x4BlkIdx as the input and the output is assigned to ( xP, yP). 4. The elements mbRes[ X, y ] of the 16x16 array mbRes with X = xP. (xP + 3) and y = yP..(yP + 3) are derived by mbRes[xP+j,yP+i]=ri with i, j 0..3 (G-181) G.8.5.3.1.3 Construction process for residual 8x8 blocks Inputs to this process are: a variable bitDepth specifying the bit depth, a variable cO specifying the first coefficient index in the list of scaled transform coefficient values sTCoeff, a list of scaled transform coefficient values sTCoeff with (256 + 2 * MbWidthC * MbHeightC) elements. Outputs of this process are residual sample values as a 16x16 array mbRes with elements mbRes[ X, y ]. For each residual 8x8 block indexed by c8x8BlkIdx = 0..3, the following ordered steps are specified: 1. The 8x8 array d with elements dij is derived by: = TT Coeff[ cO + 64 * c8x8BlkIdx + 8*i+j] with i, j = 0..7 (G-182) 2. The transformation process for residual 8x8 blocks as specified in clause 8.5.13.2 is invoked with bitDepth and the 8x8 array d as the inputs and the outputs are residual sample values as an 8x8 array r with elements rij. 3. The inverse 8x8 luma block scanning process as specified in clause 6.4.5 is invoked with c8x8BlkIdx as the input and the output is assigned to (xP, yP). 4. The elements mbRes| X, y ] of the 16x16 array mbRes with X = xP. (xP + 7) and = yP..(yP + 7) are derived by @Res[xP+j,yP+i]=r; with i, j = 0..7 (G-183) G.8.5.3.1.4 Construction process for residuals of Intra_16x16 macroblocks Inputs to this process are: a variable bitDepth specifying the bit depth, a variable cO specifying the first coefficient index in the list of scaled transform coef