a total of up to 5 horizontal luma edges, 3 horizontal chroma edges for Cb, and 3 horizontal chroma edges for Cr filtered that are considered to be controlled by the frame macroblock. In all other cases, at most 4 horizontal luma, 2 horizontal chroma edges for Cb, and 2 horizontal chroma edges for Cr are filtered that are considered to be controlled by a particular macroblock. Depending on separate_colour_plane_flag the following applies: If separate_colour_plane_flag is equal to 0, the arrays S'L, S'Cb, S'cr are assigned to the arrays SL, SCb, Scr (which represent the decoded picture), respectively. Otherwise (separate_colour_plane_flag is equal to 1), the following applies: If colour_plane_id is equal to 0, the arrays S'L is assigned to the array SL (which represent the luma component of the decoded picture). Otherwise, if is equal to 1, the arrays S'L is assigned to the array Sb (which represents the Cb component of the decoded picture). Otherwise (colour_plane_id is equal to 2), the arrays S'L is assigned to the array Scr (which represents the Cr component of the decoded picture). 8.7.1 Filtering process for block edges Inputs to this process are chromaEdgeFlag, the chroma component index iCbCr (when chromaEdgeFlag is equal to 1), verticalEdgeFlag, fieldModeInFrameFilteringFlag, and a set of nE sample locations (xEk, yEk), with k = 0..nE - 1, expressed relative to the upper left corner of the macroblock CurrMbAddr. The set of sample locations (xEk, yEk) represent the sample locations immediately to the right of a vertical edge (when verticalEdgeFlag is equal to 1) or immediately below a horizontal edge (when verticalEdgeFlag is equal to 0). The variable nE is derived as follows: If chromaEdgeFlag is equal to 0, nE is set equal to 16. Otherwise (chromaEdgeFlag is equal to 1), nE is set equal to verticalEdgeFlag 1)? MbHeightC MbWidthC. Let s' be a variable specifying a luma or chroma sample array. s' is derived as follows: If chromaEdgeFlag is equal to 0, s' represents the luma sample array S'L of the current p