nt macroblock is a field macroblock, xO + ] = with i, j = 0..nE - 1 (8-407) Otherwise (MbaffFrameFlag is equal to 0 or the current macroblock is a frame macroblock), xP+xO+j,yP+yO+i]=ujwith i, = 0..nE 1 (8-408) When u is a chroma block, for each sample Uij of the chroma block, the following ordered steps are specified: The subscript C in the variable S'c is replaced with Cb for the Cb chroma component and with Cr for the Cr chroma component. 2. Depending on the size of the block u, the following applies: If u is an (MbWidthC)x(MbHeightC) Cb or Cr block, the variable nW is set equal to MbWidthC, the variable nH is set equal to MbHeightC, and the position ( xO, yO of the upper-left sample of the (nW)x(nH) Cb or Cr block inside the macroblock is set equal to 0, 0). Otherwise, if u is a 4x4 Cb or Cr block, the variables nW and nH are set equal to 4 and, depending on the variable ChromaArrayType the position of the upper-left sample of a 4x4 Cb or Cr block with index chroma4x4BlkIdx inside the macroblock is derived as follows: If ChromaArrayType is equal to 1 or 2, the position of the upper-left sample of the 4x4 chroma block with index chroma4x4BlkIdx inside the macroblock is derived by invoking the inverse 4x4 chroma block scanning process in clause 6.4.7 with chroma4x4BlkIdx as the input and the output being assigned to (xO,yo). Otherwise (ChromaArrayType is equal to 3), the position of the upper-left sample of the 4x4 Cb block with index cb4x4BlkIdx or the 4x4 Cr block with index cr4x4BlkIdx inside the macroblock is derived by invoking the inverse 4x4 Cb or Cr block scanning process in clause 6.4.4 with cb4x4BlkIdx or cr4x4BlkIdx as the input and the output being assigned to ( xO, yO). Rec. ITU-T H.264 (01/2012) Otherwise (u is an 8x8 Cb or Cr block when ChromaArrayType is equal to 3), the variables nW and nH are set equal to 8 and the position of the upper-left sample of the 8x8 Cb block with index cb8x8BlkIdx or the Cr block with index cr8x8BlkIdx inside the macroblock is derived by invoking the inverse 8x8 Cb o