ents, a (PicWidthInSamplesL)x(PicHeightInSamples) array picSamples containing constructed luma sample values for the current layer representation. when ChromaArrayType is not equal to 0, two (PicWidthInSamplesc)x(PicHeightInSamplesc) arrays picSamplescb and picSamplescr containing constructed chroma sample values for the current layer representation. Outputs of this process are: a modified version of the array picSamples, when ChromaArrayType is not equal to 0, modified versions of the arrays picSamplesch and picSamplescr- For all processes specified in clauses 6 or 8 that are invoked from the process specified in this clause or a child process of the process specified in this clause, the following modifications apply. a) In clause 6.4.12.2, a macroblock with address mbAddr is treated as field macroblock when fieldMbFlag[ mbAddr ] is equal to 1, and it is treated as frame macroblock when fieldMbFlag[ mbAddr ] is equal to 0. In particular, the current macroblock is treated as field macroblock when fieldMbFlag[ CurrMbAddr is equal to 1, and it is treated as frame macroblock when fieldMbFlag[ CurrMbAddr ] is equal to 0. In clause 6.4.8, a macroblock with address mbAddr is treated to belong to a different slice than the current macroblock CurrMbAddr, when MbToSliceGroupMap[ mbAddr ] is not equal MbToSliceGroupMap[ CurrMbAddr or mbAddr is less than ( sliceIde[ CurrMbAddr * ( + MbaffFrameFlag where MbToSliceGroupMap represents the variable that is derived as specified in clause 8.2.2 for the layer representation with DQId equal to (sliceIdc[ CurrMbAddr ] & 127). NOTE 1 - When MaxTCoeffLevelPredFlag is equal to 0 or when all macroblocks of the current layer picture are covered by slices with the same value of DQId, the above condition can be simplified. In this case, two macroblocks mbAddrA and mbAddrB can be treated to belong to different slices, when sliceIdc[ mbAddrA ] is not equal to sliceIdc| mbAddrB ]. c) In clause 6.4.12.2, a macroblock mbAddr is treated as top macroblock when (mbAddr % 2) is equal to 0, and it i