s specified by xN=x+xS+xD (6-29) yN=y+yS+yD (6-30) 6. The derivation process for neighbouring locations as specified in clause 6.4.12 is invoked for luma locations with (xN, yN as the input and the output is assigned to mbAddrN and ( xx, yW). 7. Depending on mbAddrN, the following applies: If mbAddrN is not available, the macroblock or sub-macroblock partition mbAddrN\mbPartIdxN\subMbPartIdxN is marked as not available. Otherwise (mbAddrN is available), the following ordered steps are specified: Let mbTypeN be the syntax element mb_type of the macroblock with macroblock address mbAddrN and, when mbTypeN is equal to P_8x8, P_8x8ref0, or B_8x8, let subMbTypeN be the syntax element list sub_mb_type of the macroblock with macroblock address mbAddrN. b. The derivation process for macroblock and sub-macroblock partition indices as specified in clause 6.4.13.4 is invoked with the luma location (xW, yW), the macroblock type mbTypeN, and, when mbTypeN is equal to P_8x8, P_8x8ref0, or B_8x8, the list of sub-macroblock types subMbTypeN as the inputs and the outputs are the macroblock partition index mbPartIdxN and the sub-macroblock partition index subMbPartIdxN. When the partition given by mbPartIdxN and subMbPartIdxN is not yet decoded, the macroblock partition mbPartIdxN and the sub-macroblock partition subMbPartIdxN are marked as not available. NOTE 2 - The latter condition is, for example, the case when mbPartIdx = 2, subMbPartIdx = 3, xD = 4, yD = -1, i.e., when neighbour C of the last 4x4 luma block of the third sub-macroblock is requested. 6.4.12 Derivation process for neighbouring locations Input to this process is a luma or chroma location (xN, yN ) expressed relative to the upper left corner of the current macroblock. Outputs of this process are: mbAddrN: either equal to CurrMbAddr or to the address of neighbouring macroblock that contains (xN, yN) and its availability status, ( xW, yW): the location (xN, yN) expressed relative to the upper-left corner of the macroblock mbAddrN (rather than relative to the upper-