any invocation of clause 8.4.1 for the macroblock. The Inter prediction process for a macroblock partition mbPartIdx and a sub-macroblock partition subMbPartIdx consists of the following ordered steps: The derivation process for motion vector components and reference indices as specified in clause 8.4.1 is invoked. Inputs to this process are: a macroblock partition mbPartIdx, a sub-macroblock partition subMbPartIdx. Outputs of this process are: luma motion vectors mvL0 and mvL1 and when ChromaArrayType is not equal to 0, the chroma motion vectors mvCL0 and mvCL1 reference indices refIdxL0 and refldxL1 prediction list utilization flags predFlagL0 and predFlagL1 the sub-macroblock partition motion vector count subMvCnt. The variable MvCnt is incremented by subMvCnt. When (weighted_pred_i flag is equal to 1 and (slice_type % : 5) is equal to 0 or 3) or (weighted_bipred_idc is greater than 0 and (slice_type % 5) is equal to 1), the derivation process for prediction weights as specified in clause 8.4.3 is invoked. Inputs to this process are: reference indices refIdxL0 and refldxL1 prediction list utilization flags predFlagL0 and predFlagL1 Outputs of this process are variables for weighted prediction logWDc, Woc, W1C, Ooc, 01C with C being replaced by L and, when ChromaArrayType is not equal to 0, Cb and Cr. The decoding process for Inter prediction samples as specified in clause 8.4.2 is invoked. Inputs to this process are: a macroblock partition mbPartIdx, a sub-macroblock partition subMbPartIdx, Rec. ITU-T H.264 (01/2012) variables specifying partition width and height for luma and chroma (if available), partWidth, partHeight, partWidthC (if available), and partHeightC (if available), luma motion vectors mvL0 and mvL1 and when ChromaArrayType is not equal to 0, the chroma motion vectors mvCL0 and mvCL1, reference indices refIdxL0 and refIdxL1, prediction list utilization flags predFlagL0 and predFlagL1, variables for weighted prediction logWDc, Woc, W1C, Ooc, O1C with C being replaced by L and, when ChromaArrayType