 is not equal to 0, Cb and Cr. Outputs of this process are inter prediction samples (pred); which are a (partWidth)x(partHeight) array predPartL of prediction luma samples and when ChromaArrayType is not equal to 0 two partWidthC)x(partHeightC) arrays predPartcr and predPartcb of prediction chroma samples, one for each of the chroma components Cb and Cr. For use in derivation processes of variables invoked later in the decoding process, the following assignments are made: MvL0[ mbPartIdx ][ subMbPartIdx ] = mvL0 (8-160) MvL mbPartIdx ][ subMbPartIdx ] = mvL1 (8-161) RefIdxL0[ mbPartIdx refldxL0 (8-162) RefIdxL1 mbPartIdx ] = refldxL1 (8-163) PredFlagL0[ mbPartIdx ] = predFlagL0 (8-164) PredFlagL1[ mbPartIdx ] = predFlagL1 (8-165) The location of the upper-left sample of the macroblock partition relative to the upper-left sample of the macroblock is derived by invoking the inverse macroblock partition scanning process as described in clause 6.4.2.1 with mbPartIdx as the input and (xP, yP) as the output. The location of the upper-left sample of the sub-macroblock partition relative to the upper-left sample of the macroblock partition is derived by invoking the inverse sub-macroblock partition scanning process as described in clause 6.4.2.2 with subMbPartIdx as the input and ( xS, yS ) as the output. The macroblock prediction is formed by placing the macroblock or sub-macroblock partition prediction samples in their correct relative positions in the macroblock, as follows. The variable predL[ xP + xS + X, yP + yS + y ] with X = 0..partWidth - 1, y = 0..partHeight - is derived by: xP+xS+x,yP+yS+y]=predPart[X, y ] (8-166) When ChromaArrayType is not equal to 0, the variable predc with X = 0..partWidthC - 1, y 0..partHeightC and C in predc and predPartc being replaced by Cb or Cr is derived by: predc[ xP / SubWidthC + xS / SubWidthC + X, yP / SubHeightC + yS / SubHeightC+y]=predPartc[x, = y ] (8-167) 8.4.1 Derivation process for motion vector components and reference indices Inputs to this process are: a macroblock par