 sub-macroblock partition index subMbPartIdx, the reference index of the current partition refIdxLX (with X being 0 or 1), the variable currSubMbType. Output of this process is the prediction mvpLX of the motion vector mvLX (with X being 0 or 1). The derivation process for the neighbouring blocks for motion data in clause 8.4.1.3.2 is invoked with mbPartIdx, subMbPartIdx, currSubMbType, and listSuffixFlag = X (with X being 0 or 1 for refldxLX being refIdxL0 or refIdxL1, respectively) as the input and with mbAddrN\mbPartIdxN\subMbPartIdxN reference indices refIdxLXN and the motion vectors mvLXN with N being replaced by A, B, or C as the output. The motion vector predictor mvpLX is derived as follows: If MbPartWidth( mb_type) is equal to 16,MbPartHeight(mb_type) is equal to 8, mbPartIdx is equal to 0, and refIdxLXB is equal to refIdxLX, the motion vector predictor mvpLX is derived by: mvpLX = mvLXB = (8-203) Otherwise, if MbPartWidth( mb_type) is equal to 16, MbPartHeight( mb_type is equal to 8, mbPartIdx is equal to 1, and refIdxLXA is equal to refIdxLX, the motion vector predictor mvpLX is derived by: mvpLX=mvLXA (8-204) Otherwise, if MbPartWidth( mb_type) ) is equal to 8, MbPartHeight( mb_type ) is equal to 16, mbPartIdx is equal to 0, and refIdxLXA is equal to refIdxLX, the motion vector predictor mvpLX is derived by: mvpLX = mvLXA (8-205) Otherwise, if MbPartWidth( mb_type) is equal to 8, MbPartHeight( mb_type ) is equal to 16, mbPartIdx is equal to 1, and refIdxLXC is equal to refIdxLX, the motion vector predictor mvpLX is derived by: mvpLX = mvLXC (8-206) Otherwise, the derivation process for median luma motion vector prediction in clause 8.4.1.3.1 is invoked with mbAddrN\mbPartIdxN\subMbPartIdxN, mvLXN, refIdxLXN with N being replaced by A, B, or C, and refIdxLX as the inputs and the output is assigned to the motion vector predictor mvpLX. Figure 8-3 illustrates the non-median prediction as specified in Equations 8-203 to 8-206. Rec. ITU-T H.264 (01/2012) H.264(09)_F8-3 Figure 8-3 - Directional segmentation