CONFIG_CONTROL_LOOPFILTERS_ACROSS_TILES + CONFIG_DISABLE_LOOP_FILTERS_LOSSLESS: Missed code in CCSO

CONFIG_CONTROL_LOOPFILTERS_ACROSS_TILES optionally disables filters across tile edges.

CONFIG_DISABLE_LOOP_FILTERS_LOSSLESS disables filters for lossless blocks.

The CCSO code seems to have had a rebase problem when both of these experiments are on:

void ccso_apply_luma_mb_filter(AV1_COMMON *cm, MACROBLOCKD *xd, const int plane,
   ...
#if CONFIG_CONTROL_LOOPFILTERS_ACROSS_TILES
   if (cm->seq_params.disable_loopfilters_across_tiles) {
         ...
         ccso_filter_block_hbd_wo_buf_c(
         ...
        return;
  }
#endif  // CONFIG_CONTROL_LOOPFILTERS_ACROSS_TILES
  ...
#if CONFIG_DISABLE_LOOP_FILTERS_LOSSLESS
          if (cm->features.has_lossless_segment) {
            ccso_filter_block_hbd_wo_buf_4x4_c(
                cm, src_unit_y, dst_unit_yuv, x + unit_x, y + unit_y, pic_width,
                pic_height, src_cls, cm->ccso_info.filter_offset[plane],
                ccso_ext_stride, dst_stride, 0, 0, thr, neg_thr, src_loc,
                max_val, unit_size, unit_size, false, shift_bits, edge_clf,
                cm->ccso_info.ccso_bo_only[plane]);
          } else {
#endif  // CONFIG_DISABLE_LOOP_FILTERS_LOSSLESS

            if (cm->ccso_info.ccso_bo_only[plane]) {
              ccso_filter_block_hbd_wo_buf_c(

Note that the new code that uses cm->features.has_lossless_segment is only reached when disable_loopfilters_across_tiles is equal to 0.

In other words, if disable_loopfilters_across_tiles is equal to 1, then the filters are disabled across tile edges, but enabled for lossless blocks.

Suggested fix

Add the code to call ccso_filter_block_hbd_wo_buf_4x4_c into the disable_loopfilters_across_tiles path.