IdxCol: inside the picture colPic. Otherwise (predFlagL0Col is equal to 0 and predFlagL1Col is equal to 1), the motion vector mvCol and the reference index refIdxCol are set equal to MvL1[ mbPartIdxCol ][ subMbPartIdxCol ] RefIdxL1[ mbPartIdxCol respectively, which are the motion vector mvL1 and the reference index refldxL1 that have been assigned to the (sub-)macroblock partition mbAddrCol\mbPartIdxCol\subMbPartIdxCo inside the picture colPic. 8.4.1.2.2 Derivation process for spatial direct luma motion vector and reference index prediction mode This process is invoked when direct_spatial_mv_pred_flag is equal to 1 and any of the following conditions are true: mb_type is equal to B_Skip, mb_type is equal to B_Direct_16x16, sub_mb_type[mbPartIdx]isequal to B_Direct_8x8. Inputs to this process are mbPartIdx, 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 reference indices refIdxL0 and refldxL1 and the variable directZeroPredictionFlag are derived by applying the following ordered steps. 1. Let the variable currSubMbType be set equal to sub_mb_type[ mbPartIdx ]. 2. The process specified in clause 8.4.1.3.2 is invoked with mbPartIdx = 0, subMbPartIdx = 0, currSubMbType, and listSuffixFlag = 0 as inputs and the output is assigned to the motion vectors mvL0N and the reference indices refIdxLON with N being replaced by A, B, or C. The process specified in clause 8.4.1.3.2 is invoked with mbPartIdx = 0, subMbPartIdx = 0, currSubMbType, and listSuffixFlag = 1 as inputs and the output is assigned to the motion vectors mvL1N and the reference indices refIdxL1N with N being replaced by A, B, or C. NOTE 1 - The motion vectors mvL0N, mvL1N and the reference indices refIdxLON, refIdxL1N are identical for all 4x4 sub-macroblock partitions of a macroblock. 4. The reference indices refIdxL0, refIdxL1, and directZeroPredictionFlag are derived by: 