 derived as follows: If the chroma component is the Cb component, qPOffset is specified as: qPOffset = chroma_qp_index_offset (8-309) Otherwise (the chroma component is the Cr component), qPOffset is specified as: qPoffset = second_chroma_qp_index_offset (8-310) The value of qP1 for each chroma component is derived as: qP1 = Clip3(-QpBdOffsetc 51, QPy + qPOffset ) (8-311) Rec. ITU-T H.264 (01/2012) The value of QP'c for the chroma components is derived as: c=QPc+QpBdOffsetc (8-312) Table 8-15 - Specification of QPc as a function of qP1 = qP1 When the current slice is an SP or SI slice, QSc is derived using the above process, substituting QPy with QSy and QPc with QSc. 8.5.9 Derivation process for scaling functions Outputs of this process are: LevelScale4x4: the scaling factor for 4x4 block transform luma or chroma coefficient levels, LevelScale8x8: the scaling factor for 8x8 block transform luma or chroma coefficient levels. The variable mbIsInterFlag is derived as follows: If the current macroblock is coded using Inter macroblock prediction modes, mbIsInterFlag is set equal to 1. Otherwise (the current macroblock is coded using Intra macroblock prediction modes), mbIsInterFlag is set equal to 0. The variable iYCbCr derived as follows: If separate_colour_plane_flag is equal to 1, iYCbCr is set equal to colour_plane_id. Otherwise (separate_colour_plane_flag is equal to 0), the following applies: If the scaling function LevelScale4x4 or LevelScale8x8 is derived for a luma residual block, iYCbCr is set equal to 0. Otherwise, if the scaling function LevelScale4x4 or LevelScale8x8 is derived for a chroma residual block and the chroma component is equal to Cb, iYCbCr is set equal to 1. Otherwise (the scaling function LevelScale4x4 or LevelScale8x8 is derived for a chroma residual block and the chroma component is equal to Cr), iYCbCr is set equal to 2. The inverse scanning process for 4x4 transform coefficients and scaling lists as specified in clause 8.5.6 is invoked with ScalingList4x4[ iYCbCr + (mbIsInterFlag == 1) 