 location relative to the upper-left chroma sample of the macroblock with address 0 is referred to as cScx[ X, y ] with CX being replaced by Cb or Cr. All elements of the arrays cScb and cScr are initially set equal to 0. G.8.1.2.2 Array restructuring process This process is only invoked when MinNoInterLayerPredFlag is equal to 0, SpatialResolutionChangeFlag is equal to 0, and any of the variables ScaledRefLayerLeftOffset, ScaledRefLayerRightOffset, ScaledRefLayerTopOffset, or ScaledRefLayerBottomOffset is not equal to 0. Input to this process is a set of arrays collectively referred to as current Vars. Output of this process is the set of arrays collectively referred to as currentVars with modifications related to the array sizes as well as the ordering of array elements. The variables that are assigned to the collective term currentVars are assigned to the collective term refLayerVars. The array assignment and initialisation process as specified in clause G.8.1.2.1 is invoked and the output is the set of arrays collectively referred to as currentVars. The variables xOffset, yOffset, xOffsetC, and yOffsetC are derived by xOffset = ScaledRefLayerLeftOffset (G-76) yOffset = ScaledRefLayerTopOffset 1 + field_pic_flag ) (G-77) xOffsetC = ( xOffset >>4) MbWidthC (G-78) yOffsetC = yOffset MbHeightC (G-79) For the macroblock address mbAddr proceeding over the values ..PicSizeInMbs - 1), the following ordered steps are specified: With eS set equal to (1 + MbaffFrameFlag), the variables refMbX and refMbY are derived by refMbX = mbAddr/eS)% PicWidthInMbs ) - xOffset (G-80) refMbY = (mbAddr / eS PicWidthInMbs ) * eS + ( mbAddr yOffset (G-81) The reference layer macroblock address refMbAddr is derived as follows: If any of the following conditions are true, refMbAddr is marked as not available: refMbX is less than 0 or refMbX is greater than or equal to RefLayerPicWidthInMbs, refMbY is less than 0 or refMbY is greater than or equal to RefLayerPicHeightInMbs. Otherwise, with bS set equal to (1 + RefLayerMbaffFrameFlag), refM