 two motion vectors mvL0 and mvL1 for each 4x4 sub-macroblock partition of the current macroblock are derived as follows: NOTE 3 - It is often the case that many of the 4x4 sub-macroblock partitions share the same motion vectors and reference pictures. In these cases, temporal direct mode motion compensation can calculate the inter prediction sample values in larger units than 4x4 luma sample blocks. For example, when direct_8x8_inference_fla is equal to 1, at least each 8x8 luma sample quadrant of the macroblock shares the same motion vectors and reference pictures. If the reference index refldxL0 refers to a long-term reference picture, or DiffPicOrderCnt( picl, pic0 ) is equal to 0, the motion vectors mvL0, mvL1 for the direct mode partition are derived by: mvL0 = mvCol (8-195) mvL1 = 0 (8-196) Otherwise, the motion vectors mvL0, mvL1 are derived as scaled versions of the motion vector mvCol of the co-located sub-macroblock partition as specified below (see Figure 8-2). tx = ((16 384+Abs(td/2)) /to (8-197) DistScaleFactor=Clip3(-1024,1023,(tb = + (8-198) mvL0 = (DistScaleFactor*mvCol+128)>>8 (8-199) mvL1 = mvL0-mvCol (8-200) where tb and td are derived as: tb = Clip3(-128,127, DiffPicOrderCnt( currPicOrField, pic0) ) (8-201) td = Clip3( -128, 127, DiffPicOrderCnt( picl, pic0 ) ) (8-202) NOTE 4 - mvL0 and mvL1 cannot exceed the ranges specified in Annex A. The prediction utilization flags predFlagL0 and predFlagL1 are both set equal to 1. Figure 8-2 illustrates the temporal direct-mode motion vector inference when the current picture is temporally between the reference picture from reference picture list 0 and the reference picture from reference picture list 1. Rec. ITU-T H.264 (01/2012) List 0 reference Current B List 1 reference mvCol Co-located partition Direct-mode B partition H.264(09)_F8-2 Figure 8-2 - Example for temporal direct-mode motion vector inference (informative) 8.4.1.3 Derivation process for luma motion vector prediction Inputs to this process are: the macroblock partition index mbPartIdx, the