ause 6.4.1, the current macroblock is treated as field macroblock when fieldMbFlag is equal to 1, and it is treated as frame macroblock when fieldMbFlag is equal to 0. The sample location (xP, yP is derived by: xP = (x0>>4)*mbW (G-201) P=((yO>>4)*mbH)+(yO % 2) (G-202) Depending on the variables MbaffFrameFlag and fieldMbFlag, the array picArray is modified as follows: If MbaffFrameFlag is equal to 1 and fieldMbFlag is equal to 1, picArray[ xP + X, yP+2*y ] = mbArray[ X, y ] with x=0..(mbW-1),y=0..(mbH-1) = - (G-203) Otherwise (MbaffFrameFlag is equal to 0 or fieldMbFlag is equal to 0), picArray[ xP+x,yP+y]=mbArray[x, = with x=0..(mbW-1),y=0..(mbH-1) = (G-204) G.8.5.4.4 Macroblock sample array extraction process for a colour component Inputs to this process are: a variable fieldMbFlag specifying whether the current macroblock is a field or a frame macroblock, a variable mbW specifying the width of a macroblock colour component in samples, a variable mbH specifying the height of a macroblock colour component in samples, an (mbW * PicWidthInMbs)x(mbH * PicHeightInMbs) array picArray containing sample values for a colour component of the current layer representation. Output of this process is an (mbW)x(mbH) array mbArray containing sample values for a colour component of the current macroblock. The inverse macroblock scanning process as specified in clause 6.4.1 is invoked with CurrMbAddr as the input and the output is assigned to (xO, yO ). During the process in clause 6.4.1, the current macroblock is treated as field macroblock when fieldMbFlag is equal to 1, and it is treated as frame macroblock when fieldMbFlag is equal to 0. The sample location (xP, yP) is derived by: xP = (x0>>4)*mbW (G-205) yP=((yO>>4)*mbH)+(yO% 2) (G-206) Depending on the variables MbaffFrameFlag and fieldMbFlag, the samples of the array mbArray are derived as follows: If MbaffFrameFlag is equal to 1 and fieldMbFlag is equal to 1, mbArray[ X, y ] = picArray[ xP + x, yP + 2 * y ] with X = 0..(mbW -1),y=0.(mbH - - 1) (G-207) Otherwise (MbaffFra