neighbouring partitions, the reference indices refIdxLXN of the neighbouring partitions. Variable names that include the string "LX" are interpreted with the X being equal to listSuffixFlag. The partitions mbAddrN\mbPartIdxN\subMbPartIdxN with N being either A, B, or C are derived in the following ordered steps: 1. Let mbAddrD\mbPartIdxD\subMbPartIdxD be variables specifying an additional neighbouring partition. 2. The process in clause 6.4.11.7 is invoked with mbPartIdx, currSubMbType, and subMbPartIdx as input and the output is assigned to mbAddrN\mbPartIdxN\subMbPartIdxN with N being replaced by A, B, C, or D. When the partition mbAddrC\mbPartIdxC\subMbPartIdxC is not available, the following applies: mbAddrC = mbAddrD (8-214) mbPartIdxC = mbPartIdxD (8-215) subMbPartIdxC = subMbPartIdxD (8-216) The motion vectors mvLXN and reference indices refIdxLXN (with N being A, B, or C) are derived as follows: If the macroblock partition or sub-macroblock partition mbAddrN\mbPartIdxN\subMbPartIdxN is not available or mbAddrN is coded in an Intra macroblock prediction mode or predFlagLX of mbAddrN\mbPartIdxN\subMbPartIdxN is equal to 0, both components of mvLXN are set equal to 0 and refIdxLXN is set equal to -1. Otherwise, the following ordered steps are specified: The motion vector mvLXN and reference index refIdxLXN are set equal to MvLX[ mbPartIdxN ][ subMbPartIdxN ] and RefIdxLX| mbPartIdxN ], respectively, which are the motion vector mvLX and reference index refIdxLX that have been assigned to the (sub-)macroblock partition mbAddrN\mbPartIdxN\subMbPartIdxN. The variables mvLXN[ 1 ] and refIdxLXN are further processed as follows: If the current macroblock is a field macroblock and the macroblock mbAddrN is a frame macroblock mvLXN[1]=mvLXN[1]/2 (8-217) refIdxLXN = refIdxLXN (8-218) Otherwise, if the current macroblock is a frame macroblock and the macroblock mbAddrN is a field macroblock mvLXN[ 1]=mvLXN[1]*1 (8-219) refIdxLXN = refIdxLXN/2 (8-220) Otherwise, the vertical motion vector component mvLXN[ 1] and the ref