eference index predictors for the current macroblock, two 4x4x2 arrays mvILPredL0 and mvILPredL1 specifying inter-layer motion vector predictors for the current macroblock, when DQId is equal to 0 and (slice_type % 5) is equal to 1, the reference list refPicList1. Outputs of this process are: modified versions of the arrays predFlagL0 and predFlagL1, modified versions of the arrays refIdxL0 and refIdxL1, modified versions of the arrays mvL0 and mvL1, a modified version of the array mvCnt. Depending on mbType[ CurrMbAddr ], the following applies: If mbType[ CurrMbAddr ] is equal to I PCM, I 16x16, I 8x8, I_4x4, or I_BL, the arrays predFlagL0, predFlagL1, refIdxL0, refIdxL1, mvL0, mvL1, and myCnt are modified by: predFlagLX[ CurrMbAddr [[]]]]] =0 with = 0..1, m = 0..3 (G-91) refIdxLX[ CurrMbAddr m] with X=0..1,m=0..3 (G-92) mvLX[ CurrMbAddr [[]]]]]]s][c]=0 with X=0..1, m=0..3, S = 0..3, = 0..1 (G-93) mvCnt[ CurrMbAddr (G-94) Otherwise (mbType[ CurrMbAddr ] is not equaltoI_PCM,I_16x16,I_8x8,I_4x4,orI_BL), the arrays predFlagL0, predFlagL1, refIdxL0, refIdxL1, mvL0, mvL1, and myCnt are modified as specified by the following text. The variable numMbPart is derived as follows: Rec. ITU-T H.264 (01/2012) If mbType[ CurrMbAddr ] is equal to B_Skip or B_Direct_16x16 and DQId is equal to 0 (nal_unit_type is not equal to 20), numMbPart is set equal to 4. Otherwise, if mbType[ CurrMbAddr ] is equal to B_Skip or B_Direct_16x16 (and DQId is greater than 0 and nal_unit_type is equal to 20), numMbPart is set equal to 1. Otherwise (mbType[ CurrMbAddr ] is not equal to B_Skip or B_Direct_16x16), numMbPart is set equal to NumMbPart( mbType[ CurrMbAddr ]). The macroblock partition index mbPartIdx proceeds over the values ..((numMbPart - 1), and for each value of mbPartIdx the following ordered steps are specified: 1. The variable isDirectFlag is derived as follows: If any of the following conditions are true, isDirectFlag is set equal to 1: mbType[ CurrMbAddr ] is equal to B_Skip or B_Direct_16x16, mbType[ CurrMbAddr ] is equal to B