 Intra 16x16 prediction process as specified in clause 8.3.3 is invoked with S' as the input and the outputs are luma prediction samples of the macroblock predL. When ChromaArrayType is not equal to 0, the Intra prediction process for chroma samples as specified in clause 8.3.4 is invoked with S'Cb, and S'cr as the inputs and the outputs are chroma prediction samples of the macroblock predcb and predcr- Samples used in the Intra prediction process are the sample values prior to alteration by any deblocking filter operation. 8.3.1 Intra 4x4 prediction process for luma samples This process is invoked when the macroblock prediction mode is equal to Intra_4x4. Inputs to this process are the values of Intra4x4PredMode (if available) or Intra8x8PredMode (if available) from neighbouring macroblocks or macroblock pairs. The luma component of a macroblock consists of 16 blocks of 4x4 luma samples. These blocks are inverse scanned using the 4x4 luma block inverse scanning process as specified in clause 6.4.3. For all 4x4 luma blocks of the luma component of a macroblock with luma4x4BlkIdx = 0..15, the derivation process for the Intra4x4PredMode as specified in clause 8.3.1.1 is invoked with luma4x4BlkIdx as well as Intra4x4PredMode and Intra8x8PredMode that are previously (in decoding order) derived for adjacent macroblocks as the input and the variable Intra4x4PredMode| luma4x4BlkIdx ] as the output. For each luma block of 4x4 samples indexed using luma4x4BlkIdx = 0..15, the following ordered steps are specified: The Intra_4x4 sample prediction process in clause 8.3.1.2 is invoked with luma4x4BlkIdx and the array S' containing constructed luma samples prior to the deblocking filter process from adjacent luma blocks as the inputs and the outputs are the Intra_4x4 luma prediction samples pred4x4L X, y ] with X, y = 0..3. The position of the upper-left sample of a 4x4 luma block with index luma4x4BlkIdx inside the current macroblock is derived by invoking the inverse 4x4 luma block scanning process in clause 6.4.3 with luma4