with cO and sTCoeff as the inputs and the output is the 16x16 array mbRes of residual sample values. Otherwise, if cTrafo is equal to T_4x4, the construction process for residual 4x4 blocks as specified in clause G.8.5.3.1.2 is invoked with bitDepth, cO, and sTCoeff as the inputs and the output is the 16x16 array mbRes of residual sample values. Otherwise, if cTrafo is equal to T_8x8, the construction process for residual 8x8 blocks as specified in clause G.8.5.3.1.3 is invoked with bitDepth, cO, and sTCoeff as the inputs and the output is the 16x16 array mbRes of residual sample values. Otherwise (cTrafo is equal to T_16x16), the construction process for residuals of Intra 16x16 macroblocks as specified in clause G.8.5.3.1.4 is invoked with bitDepth, cO, and sTCoeff as the inputs and the output is the 16x16 array mbRes of residual sample values. G.8.5.3.1.1 Construction process for luma residuals or chroma residuals with ChromaArrayType equal to 3 of I IPCM macroblocks Inputs to this process are: 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 ]. The 16x16 array mbRes is derived by: mbRes[ [x,y]=sTCoeff[cO+y*16+x with X, y = 0..15 (G-179) G.8.5.3.1.2 Construction process for residual 4x4 blocks Inputs to this process are: Rec. ITU-T H.264 (01/2012) 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 4x4 block indexed by c4x4BlkIdx = 0..15, the following ordered steps are specified: 1. The 4x4 array d with elements dij is derive