, the solid bold and dashed bold horizontal chroma edges are filtered. Otherwise, if ChromaArrayType is equal to 3 (4:4:4 format), the following applies: If transform_size_8x8_flag is equal to 0, both types, the solid bold and dashed bold chroma edges are filtered. Otherwise (transform_size_8x8_flag is equal to 1), only the solid bold chroma edges are filtered. Otherwise (ChromaArrayType is equal to 0), no chroma edges are filtered. Rec. ITU-T H.264 (01/2012) H.264(09)_F8-10 Vertical edges Figure 8-10 - Boundaries in a macroblock to be filtered For the current macroblock address CurrMbAddr proceeding over values 0..PicSizeInMbs - 1, the following ordered steps are specified: 1. The derivation process for neighbouring macroblocks specified in clause 6.4.11.1 is invoked and the output is assigned to mbAddrA and mbAddrB. 2. The variables fieldMbInFrameFlag filterInternalEdgesFlag, filterLeftMbEdgeFlag and filterTopMbEdgeFlag are derived as specified by the following ordered steps: a. The variable fieldMbInFrameFlag is derived as follows: If MbaffFrameFlag is equal to 1 and mb_field_decoding_flag is equal to 1, fieldMbInFrameFlag is set equal to 1. Otherwise (MbaffFrameFlag is equal to 0 or mb_field_decoding_flag is equal to 0), fieldMbInFrameFlag is set equal to 0. The variable filterInternalEdgesFlag is derived as follows: If disable_deblocking_filter_ido for the slice that contains the macroblock CurrMbAddr is equal to 1, the variable filterInternalEdgesFlag is set equal to 0. Otherwise (disable_deblocking_filter_ido for the slice that contains the macroblock CurrMbAddr is not equal to 1), the variable filterInternalEdgesFlag is set equal to 1. The variable filterLeftMbEdgeFlag is derived as follows: If any of the following conditions are true, the variable filterLeftMbEdgeFlag is set equal to 0: MbaffFrameFlag is equal to 0 and CurrMbAddr% PicWidthInMbs is equal to 0, MbaffFrameFlag is equal to 1 and ( CurrMbAddr >>1)% PicWidthInMbs is equal to 0, disable_deblocking_filter_idc for the slice that contains the macr