ng process for 4x4 transform coefficients and scaling lists as specified in clause 8.5.6 is invoked with coeffDCLevel as the input and the outputs are DC transform coefficient level values for all residual 4x4 blocks as a 4x4 array C with elements Cij. For this invocation of the process in clause 8.5.6, the current macroblock is treated as field macroblock when fieldMbFlag is equal to 1, and it is treated as frame macroblock when fieldMbFlag is equal to 0. Otherwise (base_mode_flag is equal to 1), the 4x4 array C with elements Cij containing DC transform coefficient level values is derived by Cij i=coeffLevel4x4[8*(i/2)+4*(j/2)+2*(i%2)+(j%2)[0] = i,j=0..3 (G-138) The list tCoeffLevel and the 4x4 array C are modified by tCoeffLevel[ cO+128*(i/2)+64(j/2)+32*(i%2)+16*(j%2)]+=cj (G-139) CijtCoeffLevel[cO+128(i/2)+64(j/2)+32(i%2)+16*(j%2)] with i,j=0..3 (G-140) 3. The scaling and transformation process for DC transform coefficients for Intra 16x16 macroblock type as specified in clause 8.5.10 is invoked with bitDepth, qP, and C as the inputs and the output is the 4x4 array d with elements dij representing scaled DC transform coefficient values for all residual 4x4 blocks. 4. The list sTCoeff is modified by sTCoeff| cO + 128*(i/2)+64*(j/2)+32*(i%2)+16*(j%2)]=dii = with i,j=0..3 (G-141) For each residual 4x4 block indexed by c4x4BlkIdx = 0..15, the following ordered steps are specified: 1. Depending on base_mode_flag, the variable c4x4List, which is a list of 16 entries, is derived as follows: If base_mode_flag is equal to 0, the following applies: 4x4List[k]=((k==0)0: == coeffACLevel[ c4x4BlkIdx ][ k - 1]) with k = 0..15 (G-142) Otherwise (base_mode_flag is equal to 1), the following applies: ((k = = 0) ? 0 : coeffLevel4x4[ c4x4BlkIdx ][ with k =0..15 (G-143) 2. The inverse scanning process for 4x4 transform coefficients and scaling lists as specified in clause 8.5.6 is invoked with c4x4List as the input and the outputs are transform coefficient level values as a 4x4 array e with elements eij. For this invocation of th