A method of processing video data, comprising: performing a conversion between a current block of a current region of a video and a bitstream of the video, wherein the conversion comprises using an adaptive loop filter for the current block, and wherein the bitstream is configured to indicate the adaptive loop filter using multiple syntax elements including: a first syntax element of the multiple syntax elements, the first syntax element being alf_use_aps_flag, and the first syntax element indicating whether a fixed filter set or a filter set from an adaptation parameter set (APS) is applied to the current block, a second syntax element of the multiple syntax elements, the second syntax element being alf_luma_prev_filter_idx, and the second syntax element indicative of an index of the filter set from the APS, and specifies the previous filter that is applied to the luma coding tree block CTB, and a third syntax element of the multiple syntax elements, the third syntax element being alf_luma_fixed_filter_idx, and the third syntax element indicative of an index of the fixed filter set, wherein the bitstream comprises a fourth syntax element in a slice header, the fourth syntax element being slice_ num_alf_aps_ids_luma, and the fourth syntax element indicating a number of adaptive loop filter APSs used for the current region, wherein the first syntax element is included in the bitstream when a value of the fourth syntax element in the slice header is greater than one and the first syntax element is included in the bitstream when the value of the fourth syntax element in the slice header is equal to one, wherein the second syntax element indicative of the index of the filter set from the APS is included in the bitstream when a value of the first syntax element is equal to one and the value of the fourth syntax element in the slice header is greater than one, and wherein the third syntax element is included in the bitstream when the value of the first syntax element is equal to zero. a first syntax element of the multiple syntax elements, the first syntax element being alf_use_aps_flag, and the first syntax element indicating whether a fixed filter set or a filter set from an adaptation parameter set (APS) is applied to the current block, a second syntax element of the multiple syntax elements, the second syntax element being alf_luma_prev_filter_idx, and the second syntax element indicative of an index of the filter set from the APS, and specifies the previous filter that is applied to the luma coding tree block CTB, and a third syntax element of the multiple syntax elements, the third syntax element being alf_luma_fixed_filter_idx, and the third syntax element indicative of an index of the fixed filter set, wherein the bitstream comprises a fourth syntax element in a slice header, the fourth syntax element being slice_ num_alf_aps_ids_luma, and the fourth syntax element indicating a number of adaptive loop filter APSs used for the current region, wherein the first syntax element is included in the bitstream when a value of the fourth syntax element in the slice header is greater than one and the first syntax element is included in the bitstream when the value of the fourth syntax element in the slice header is equal to one, wherein the second syntax element indicative of the index of the filter set from the APS is included in the bitstream when a value of the first syntax element is equal to one and the value of the fourth syntax element in the slice header is greater than one, and wherein the third syntax element is included in the bitstream when the value of the first syntax element is equal to zero. <EOS>