MbPartIdx = 0, refIdxL0, and currSubMbType = "na" as inputs and the output is assigned to mvL0. NOTE - The output is directly assigned to mvL0, since the predictor is equal to the actual motion vector. 8.4.1.2 Derivation process for luma motion vectors for B_Skip,B_Direct_16x16, and B_Direct_8x8 This process is invoked when nb_type is equal to B_Skip or B_Direct_16x16, or sub_mb_type[ mbPartIdx ] is equal to B_Direct_8x8. Inputs to this process are mbPartIdx and subMbPartIdx. Outputs of this process are the reference indices refIdxL0, refIdxL1, the motion vectors mvL0 and mvL1, the motion vector count variable subMvCnt, and the prediction list utilization flags, predFlagL0 and predFlagL1. The derivation process depends on the value of direct_spatial_mv_pred_flag, which is present in the bitstream in the slice header syntax as specified in clause 7.3.3, and is specified as follows: If direct_spatial_mv_pred_flag is equal to 1, the mode in which the outputs of this process are derived is referred to as spatial direct prediction mode. Otherwise (direct_spatial_mv_pred_flag is equal to 0), mode in which the outputs of this process are derived is referred to as temporal direct prediction mode. Both spatial and temporal direct prediction mode use the co-located motion vectors and reference indices as specified in clause 8.4.1.2.1. The motion vectors and reference indices are derived as follows: If spatial direct prediction mode is used, the direct motion vector and reference index prediction mode specified in clause 8.4.1.2.2 is used, with subMvCnt being an output. Otherwise (temporal direct prediction mode is used), the direct motion vector and reference index prediction mode specified in clause 8.4.1.2.3 is used and the variable subMvCnt is derived as follows: If subMbPartIdx is equal to 0, subMvCnt is set equal to 2. Otherwise (subMbPartIdx is not equal to 0), subMvCnt is set equal to 0. 8.4.1.2.1 Derivation process for the co-located 4x4 sub-macroblock partitions Inputs to this process are mbPartIdx and subMbPartId