 G.8.5.3 Residual construction and accumulation process Inputs to this process are: a variable accumulationFlag specifying whether the constructed residual sample values for the current macroblock are combined with the existent residual sample value for the macroblock, a variable fieldMbFlag specifying whether the current macroblock is a field or a frame macroblock, a variable cTrafo specifying the transform type, a list of scaled transform coefficient values sTCoeff with (256 + 2 * MbWidthC * MbHeightC) elements, a (PicWidthInSamples)x(PicHeightInSamples) array picResL containing residual luma sample values for the current layer representation, when ChromaArrayType is not equal to 0, two (PicWidthInSamplesc)x(PicHeightInSamplesc) arrays picRescb and picRescr containing residual chroma sample values for the current layer representation. Outputs of this process are: a modified version of the array picResL, when ChromaArrayType is not equal to 0, modified versions of the arrays picRescb and picRescr. The construction process for luma residuals as specified in clause G.8.5.3.1 is invoked with cTrafo and sTCoeff as the inputs and the outputs are residual luma sample values as a 16x16 array mbResL. When ChromaArrayType is not equal to 0, the construction process for chroma residuals as specified in clause G.8.5.3.2 is invoked with cTrafo and sTCoeff as the inputs and the outputs are residual chroma sample values as two (MbWidthC)x(MbHeightC) arrays mbRescb and mbRescr- When accumulationFlag is equal to 1, the following ordered steps are specified: The macroblock sample array extraction process as specified in clause G.8.5.4.2 is invoked with fieldMbFlag, picResL, and, when ChromaArrayType is equal to 0, picRescb and picRescr as the inputs and the outputs are a 16x16 array refLayerMbRes and, when ChromaArrayType is not equal to 0, two (MbWidthC)x(MbHeightC) arrays refLayerMbRescb and refLayerMbRescr- All elements mbResL[ X, y ] of the 16x16 array mbResL with X, y = 0..15 are modified by mbResL[x, y ] = Clip3( yMin, yMa