artIdx). The inverse 4x4 luma block scanning process as specified in clause 6.4.3 is invoked with luma4x4BlkIdx as the input and (x, y assigned to (xCol, yCol) as the output. Table 8-8 specifies the co-located macroblock address mbAddrCol, yM, and the variable vertMvScale in two steps: 1. Specification of a macroblock address mbAddrX depending on PicCodingStruct( CurrPic), PicCodingStruct( colPic). NOTE - It is not possible for CurrPic and colPic picture coding types to be either (FRM, AFRM) or (AFRM, FRM) because these picture coding types must be separated by an IDR picture. 2. Specification of mbAddrCol, yM, and vertMvScale depending on mb_field_decoding_flag and the variable fieldDecodingFlagX, which is derived as follows: If the macroblock mbAddrX in the picture colPic is a field macroblock, fieldDecodingFlagX is set equal to 1. Otherwise (the macroblock mbAddrX in the picture colPic is a frame macroblock), fieldDecodingFlagX is set equal to 0. Unspecified values in Table 8-8 indicate that the value of the corresponding variable is not relevant for the current table mbAddrCol is set equal to CurrMbAddr or to one of the following values. mbAddrColl PicWidthInMbs * ( (CurrMbAddr/PicWidthInMbs)+ CurrMbAddr% PicWidthInMbs ) + PicWidthInMbs yCol (8-177) Rec. ITU-T H.264 (01/2012) mbAddrCol2 =2* CurrMbAddr+(yCol/8) (8-178) mbAddrCol3 = 2 * CurrMbAddr + -bottom_field_flag (8-179) mbAddrCol4 = PicWidthInMbs * ( CurrMbAddr/(2* PicWidthInMbs ) ) + (CurrMbAddr % PicWidthInMbs ) (8-180) mbAddrCol5 = CurrMbAddr / 2 (8-181) mbAddrCol6 = 2* ( CurrMbAddr/2)+( (topAbsDiffPOC < bottomAbsDiffPOC ) ?0:1) (8-182) mbAddrCol7 = 2 * ( (CurrMbAddr/2)+(yCol/ (8-183) Table 8-8 - Specification of mbAddrCol, yM, and vertMvScale CurrMbAddr One To One mbAddrColl (2*yCol)% 16 Frm_To_Fld mbAddrCol2 (2*yCol)% 16 Frm_To_Fld 2*CurrMbAddr mbAddrCol3 One_To_One mbAddrCol4 8*((CurrMbAddr/PicWidthInMbs)% 2) Fld To Frm +4* yCol/8) CurrMbAddr One_To_One mbAddrCol5 8 CurrMbAddr % 2) +4* yCol/ Fld To Frm mbAddrCol5 One_To_One CurrMbAddr One To One Cur