Remove CONFIG_LOOPFILTERING_ACROSS_TILES The tool is not noving forward. Change-Id: Id5f8b5c4645df3873b1c4ea0bbe8abf010298e8c
diff --git a/aomenc.c b/aomenc.c index 7276bc5..e15b2d1 100644 --- a/aomenc.c +++ b/aomenc.c
@@ -434,19 +434,6 @@ static const arg_def_t tile_height = ARG_DEF(NULL, "tile-height", 1, "Tile heights (command separated)"); #endif -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -static const arg_def_t tile_loopfilter_v = - ARG_DEF(NULL, "tile-loopfilter-v", 1, - "Enable loop filter across vertical tile boundary"); -static const arg_def_t tile_loopfilter_h = - ARG_DEF(NULL, "tile-loopfilter-h", 1, - "Enable loop filter across horizontal tile boundary"); -#else -static const arg_def_t tile_loopfilter = ARG_DEF( - NULL, "tile-loopfilter", 1, "Enable loop filter across tile boundary"); -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES static const arg_def_t lossless = ARG_DEF(NULL, "lossless", 1, "Lossless mode (0: false (default), 1: true)"); static const arg_def_t enable_cdef = @@ -639,14 +626,6 @@ &single_tile_decoding, &tile_cols, &tile_rows, -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - &tile_loopfilter_v, - &tile_loopfilter_h, -#else - &tile_loopfilter, -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES &arnr_maxframes, &arnr_strength, &tune_metric, @@ -701,14 +680,6 @@ AV1E_SET_SINGLE_TILE_DECODING, AV1E_SET_TILE_COLUMNS, AV1E_SET_TILE_ROWS, -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - AV1E_SET_TILE_LOOPFILTER_V, - AV1E_SET_TILE_LOOPFILTER_H, -#else - AV1E_SET_TILE_LOOPFILTER, -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES AOME_SET_ARNR_MAXFRAMES, AOME_SET_ARNR_STRENGTH, AOME_SET_TUNING,
diff --git a/av1/av1_cx_iface.c b/av1/av1_cx_iface.c index 354464d..4cf359e 100644 --- a/av1/av1_cx_iface.c +++ b/av1/av1_cx_iface.c
@@ -41,14 +41,6 @@ unsigned int static_thresh; unsigned int tile_columns; // log2 number of tile columns unsigned int tile_rows; // log2 number of tile rows -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - unsigned int loop_filter_across_tiles_v_enabled; - unsigned int loop_filter_across_tiles_h_enabled; -#else - unsigned int loop_filter_across_tiles_enabled; -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES unsigned int arnr_max_frames; unsigned int arnr_strength; unsigned int min_gf_interval; @@ -107,23 +99,15 @@ }; static struct av1_extracfg default_extra_cfg = { - 0, // cpu_used - 0, // dev_sf - 1, // enable_auto_alt_ref - 0, // enable_auto_bwd_ref - 0, // noise_sensitivity - 0, // sharpness - 0, // static_thresh - 0, // tile_columns - 0, // tile_rows -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - 1, // loop_filter_across_tiles_v_enabled - 1, // loop_filter_across_tiles_h_enabled -#else - 1, // loop_filter_across_tiles_enabled -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES + 0, // cpu_used + 0, // dev_sf + 1, // enable_auto_alt_ref + 0, // enable_auto_bwd_ref + 0, // noise_sensitivity + 0, // sharpness + 0, // static_thresh + 0, // tile_columns + 0, // tile_rows 7, // arnr_max_frames 5, // arnr_strength 0, // min_gf_interval; 0 -> default decision @@ -345,14 +329,6 @@ "Adaptive quantization are not supported in large scale tile " "coding."); -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - RANGE_CHECK_HI(extra_cfg, loop_filter_across_tiles_v_enabled, 1); - RANGE_CHECK_HI(extra_cfg, loop_filter_across_tiles_h_enabled, 1); -#else - RANGE_CHECK_HI(extra_cfg, loop_filter_across_tiles_enabled, 1); -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES RANGE_CHECK_HI(extra_cfg, sharpness, 7); RANGE_CHECK_HI(extra_cfg, arnr_max_frames, 15); RANGE_CHECK_HI(extra_cfg, arnr_strength, 6); @@ -680,17 +656,6 @@ oxcf->tile_heights[i] = AOMMAX(cfg->tile_heights[i], 1); } #endif -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - oxcf->loop_filter_across_tiles_v_enabled = - extra_cfg->loop_filter_across_tiles_v_enabled; - oxcf->loop_filter_across_tiles_h_enabled = - extra_cfg->loop_filter_across_tiles_h_enabled; -#else - oxcf->loop_filter_across_tiles_enabled = - extra_cfg->loop_filter_across_tiles_enabled; -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES oxcf->error_resilient_mode = cfg->g_error_resilient; oxcf->frame_parallel_decoding_mode = extra_cfg->frame_parallel_decoding_mode; @@ -829,33 +794,6 @@ return update_extra_cfg(ctx, &extra_cfg); } -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -static aom_codec_err_t ctrl_set_tile_loopfilter_v(aom_codec_alg_priv_t *ctx, - va_list args) { - struct av1_extracfg extra_cfg = ctx->extra_cfg; - extra_cfg.loop_filter_across_tiles_v_enabled = - CAST(AV1E_SET_TILE_LOOPFILTER_V, args); - return update_extra_cfg(ctx, &extra_cfg); -} -static aom_codec_err_t ctrl_set_tile_loopfilter_h(aom_codec_alg_priv_t *ctx, - va_list args) { - struct av1_extracfg extra_cfg = ctx->extra_cfg; - extra_cfg.loop_filter_across_tiles_h_enabled = - CAST(AV1E_SET_TILE_LOOPFILTER_H, args); - return update_extra_cfg(ctx, &extra_cfg); -} -#else -static aom_codec_err_t ctrl_set_tile_loopfilter(aom_codec_alg_priv_t *ctx, - va_list args) { - struct av1_extracfg extra_cfg = ctx->extra_cfg; - extra_cfg.loop_filter_across_tiles_enabled = - CAST(AV1E_SET_TILE_LOOPFILTER, args); - return update_extra_cfg(ctx, &extra_cfg); -} -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES - static aom_codec_err_t ctrl_set_arnr_max_frames(aom_codec_alg_priv_t *ctx, va_list args) { struct av1_extracfg extra_cfg = ctx->extra_cfg; @@ -1636,14 +1574,6 @@ { AOME_SET_STATIC_THRESHOLD, ctrl_set_static_thresh }, { AV1E_SET_TILE_COLUMNS, ctrl_set_tile_columns }, { AV1E_SET_TILE_ROWS, ctrl_set_tile_rows }, -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - { AV1E_SET_TILE_LOOPFILTER_V, ctrl_set_tile_loopfilter_v }, - { AV1E_SET_TILE_LOOPFILTER_H, ctrl_set_tile_loopfilter_h }, -#else - { AV1E_SET_TILE_LOOPFILTER, ctrl_set_tile_loopfilter }, -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES { AOME_SET_ARNR_MAXFRAMES, ctrl_set_arnr_max_frames }, { AOME_SET_ARNR_STRENGTH, ctrl_set_arnr_strength }, { AOME_SET_TUNING, ctrl_set_tuning },
diff --git a/av1/common/av1_loopfilter.c b/av1/common/av1_loopfilter.c index 937dc5b..a9c3734 100644 --- a/av1/common/av1_loopfilter.c +++ b/av1/common/av1_loopfilter.c
@@ -1653,35 +1653,6 @@ *int_4x4_y |= (size_mask[block_size] & 0xffffffffffffffffULL) << shift_y; } -#if CONFIG_LOOPFILTERING_ACROSS_TILES || CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -// This function update the bit masks for the entire 64x64 region represented -// by mi_row, mi_col. In case one of the edge is a tile boundary, loop filtering -// for that edge is disabled. This function only check the tile boundary info -// for the top left corner mi to determine the boundary information for the -// top and left edge of the whole super block -static void update_tile_boundary_filter_mask(AV1_COMMON *const cm, - const int mi_row, const int mi_col, - LOOP_FILTER_MASK *lfm) { - int i; - const BOUNDARY_TYPE *const bi = - cm->boundary_info + mi_row * cm->mi_stride + mi_col; - - if (*bi & TILE_LEFT_BOUNDARY) { - for (i = 0; i <= TX_32X32; i++) { - lfm->left_y[i] &= 0xfefefefefefefefeULL; - lfm->left_uv[i] &= 0xeeee; - } - } - - if (*bi & TILE_ABOVE_BOUNDARY) { - for (i = 0; i <= TX_32X32; i++) { - lfm->above_y[i] &= 0xffffffffffffff00ULL; - lfm->above_uv[i] &= 0xfff0; - } - } -} -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES - // This function sets up the bit masks for the entire 64x64 region represented // by mi_row, mi_col. // TODO(JBB): This function only works for yv12. @@ -1915,12 +1886,6 @@ } } -#if CONFIG_LOOPFILTERING_ACROSS_TILES || CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - if (av1_disable_loopfilter_on_tile_boundary(cm)) { - update_tile_boundary_filter_mask(cm, mi_row, mi_col, lfm); - } -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES - // Assert if we try to apply 2 different loop filters at the same position. assert(!(lfm->left_y[TX_16X16] & lfm->left_y[TX_8X8])); assert(!(lfm->left_y[TX_16X16] & lfm->left_y[TX_4X4])); @@ -2331,22 +2296,6 @@ const int curr_skipped = mbmi->skip && is_inter_block(mbmi); uint32_t level = curr_level; if (coord) { -#if CONFIG_LOOPFILTERING_ACROSS_TILES || CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - // Note: For sub8x8 blocks, we need to look at the top-left mi unit in - // order - // to extract the correct boundary information. - const int mi_row_bound = ((y << scale_vert) >> MI_SIZE_LOG2); - const int mi_col_bound = ((x << scale_horz) >> MI_SIZE_LOG2); - BOUNDARY_TYPE *const bi = - cm->boundary_info + mi_row_bound * cm->mi_stride + mi_col_bound; - // here, assuming bounfary_info is set correctly based on the - // loop_filter_across_tiles_enabled flag, i.e, tile boundary should - // only be set to true when this flag is set to 0. - int left_boundary = (*bi & TILE_LEFT_BOUNDARY); - int top_boundary = (*bi & TILE_ABOVE_BOUNDARY); - if (((VERT_EDGE == edge_dir) && (0 == left_boundary)) || - ((HORZ_EDGE == edge_dir) && (0 == top_boundary))) -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES { const MODE_INFO *const mi_prev = *(mi - mode_step); const int pv_row =
diff --git a/av1/common/onyxc_int.h b/av1/common/onyxc_int.h index 067bfd1..6ccfedb 100644 --- a/av1/common/onyxc_int.h +++ b/av1/common/onyxc_int.h
@@ -473,15 +473,6 @@ unsigned int large_scale_tile; unsigned int single_tile_decoding; -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - int loop_filter_across_tiles_v_enabled; - int loop_filter_across_tiles_h_enabled; -#else - int loop_filter_across_tiles_enabled; -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES - int byte_alignment; int skip_loop_filter;
diff --git a/av1/common/resize.c b/av1/common/resize.c index 7dfd033..761e5a8 100644 --- a/av1/common/resize.c +++ b/av1/common/resize.c
@@ -1132,18 +1132,8 @@ uint8_t *const dst_ptr = dst + upscaled_x0; const int dst_width = upscaled_x1 - upscaled_x0; -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - const int pad_left = (!cm->loop_filter_across_tiles_v_enabled || j == 0); - const int pad_right = - (!cm->loop_filter_across_tiles_v_enabled || j == cm->tile_cols - 1); -#elif CONFIG_LOOPFILTERING_ACROSS_TILES - const int pad_left = (!cm->loop_filter_across_tiles_enabled || j == 0); - const int pad_right = - (!cm->loop_filter_across_tiles_enabled || j == cm->tile_cols - 1); -#else const int pad_left = (j == 0); const int pad_right = (j == cm->tile_cols - 1); -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES(_EXT) if (cm->use_highbitdepth) highbd_upscale_normative_rect(
diff --git a/av1/common/restoration.c b/av1/common/restoration.c index 6c7db44..46211a7 100644 --- a/av1/common/restoration.c +++ b/av1/common/restoration.c
@@ -205,45 +205,6 @@ #define REAL_PTR(hbd, d) ((hbd) ? (uint8_t *)CONVERT_TO_SHORTPTR(d) : (d)) -// Helper function: Save one column of left/right context to the appropriate -// column buffers, then extend the edge of the current tile into that column. -// -// Note: The height passed in should be the height of this processing unit, -// but we actually save/restore an extra RESTORATION_BORDER pixels above and -// below the stripe. -#if CONFIG_LOOPFILTERING_ACROSS_TILES || CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -static void setup_boundary_column(const uint8_t *src8, int src_stride, - uint8_t *dst8, int dst_stride, uint16_t *buf, - int h, int use_highbd) { - if (use_highbd) { - const uint16_t *src16 = CONVERT_TO_SHORTPTR(src8); - uint16_t *dst16 = CONVERT_TO_SHORTPTR(dst8); - for (int i = -RESTORATION_BORDER; i < h + RESTORATION_BORDER; i++) { - buf[i + RESTORATION_BORDER] = dst16[i * dst_stride]; - dst16[i * dst_stride] = src16[i * src_stride]; - } - } else { - for (int i = -RESTORATION_BORDER; i < h + RESTORATION_BORDER; i++) { - buf[i + RESTORATION_BORDER] = dst8[i * dst_stride]; - dst8[i * dst_stride] = src8[i * src_stride]; - } - } -} - -static void restore_boundary_column(uint8_t *dst8, int dst_stride, - const uint16_t *buf, int h, - int use_highbd) { - if (use_highbd) { - uint16_t *dst16 = CONVERT_TO_SHORTPTR(dst8); - for (int i = -RESTORATION_BORDER; i < h + RESTORATION_BORDER; i++) - dst16[i * dst_stride] = buf[i + RESTORATION_BORDER]; - } else { - for (int i = -RESTORATION_BORDER; i < h + RESTORATION_BORDER; i++) - dst8[i * dst_stride] = (uint8_t)(buf[i + RESTORATION_BORDER]); - } -} -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES - // With striped loop restoration, the filtering for each 64-pixel stripe gets // most of its input from the output of CDEF (stored in data8), but we need to // fill out a border of 3 pixels above/below the stripe according to the @@ -280,38 +241,21 @@ // to decide if we're overwriting the above/below boundary pixels or not. static void get_stripe_boundary_info(const RestorationTileLimits *limits, const AV1PixelRect *tile_rect, int ss_y, -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - int loop_filter_across_tiles_h_enabled, -#else - int loop_filter_across_tiles_enabled, -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES int *copy_above, int *copy_below) { *copy_above = 1; *copy_below = 1; -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - if (loop_filter_across_tiles_h_enabled) { -#else - if (loop_filter_across_tiles_enabled) { -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES - const int full_stripe_height = RESTORATION_PROC_UNIT_SIZE >> ss_y; - const int runit_offset = RESTORATION_UNIT_OFFSET >> ss_y; + const int full_stripe_height = RESTORATION_PROC_UNIT_SIZE >> ss_y; + const int runit_offset = RESTORATION_UNIT_OFFSET >> ss_y; - const int first_stripe_in_tile = (limits->v_start == tile_rect->top); - const int this_stripe_height = - full_stripe_height - (first_stripe_in_tile ? runit_offset : 0); - const int last_stripe_in_tile = - (limits->v_start + this_stripe_height >= tile_rect->bottom); + const int first_stripe_in_tile = (limits->v_start == tile_rect->top); + const int this_stripe_height = + full_stripe_height - (first_stripe_in_tile ? runit_offset : 0); + const int last_stripe_in_tile = + (limits->v_start + this_stripe_height >= tile_rect->bottom); - if (first_stripe_in_tile) *copy_above = 0; - if (last_stripe_in_tile) *copy_below = 0; -#if CONFIG_LOOPFILTERING_ACROSS_TILES || CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - } -#endif + if (first_stripe_in_tile) *copy_above = 0; + if (last_stripe_in_tile) *copy_below = 0; } // Overwrite the border pixels around a processing stripe so that the conditions @@ -329,16 +273,8 @@ // index we get from limits into something we can look up in rsb). static void setup_processing_stripe_boundary( const RestorationTileLimits *limits, const RestorationStripeBoundaries *rsb, - int rsb_row, int use_highbd, int h, -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - const AV1PixelRect *tile_rect, int loop_filter_across_tiles_v_enabled, -#else - const AV1PixelRect *tile_rect, int loop_filter_across_tiles_enabled, -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES - uint8_t *data8, int data_stride, RestorationLineBuffers *rlbs, - int copy_above, int copy_below) { + int rsb_row, int use_highbd, int h, uint8_t *data8, int data_stride, + RestorationLineBuffers *rlbs, int copy_above, int copy_below) { // Offsets within the line buffers. The buffer logically starts at column // -RESTORATION_EXTRA_HORZ so the 1st column (at x0 - RESTORATION_EXTRA_HORZ) // has column x0 in the buffer. @@ -394,59 +330,6 @@ memcpy(REAL_PTR(use_highbd, dst8), src, line_size); } } - -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - if (!loop_filter_across_tiles_v_enabled) { - // If loopfiltering across tiles is disabled, we need to check if we're at - // the edge of the current tile column. If we are, we need to extend the - // leftmost/rightmost column within the tile by 3 pixels, so that the output - // doesn't depend on pixels from the next column over. - // This applies to the top and bottom borders too, since those may have - // been filled out with data from the tile to the top-left (etc.) of us. - const int at_tile_left_border = (limits->h_start == tile_rect->left); - const int at_tile_right_border = (limits->h_end == tile_rect->right); - - if (at_tile_left_border) { - uint8_t *dst8 = data8 + limits->h_start + limits->v_start * data_stride; - for (int j = -RESTORATION_BORDER; j < 0; j++) - setup_boundary_column(dst8, data_stride, dst8 + j, data_stride, - rlbs->tmp_save_left[j + RESTORATION_BORDER], h, - use_highbd); - } - - if (at_tile_right_border) { - uint8_t *dst8 = data8 + limits->h_end + limits->v_start * data_stride; - for (int j = 0; j < RESTORATION_BORDER; j++) - setup_boundary_column(dst8 - 1, data_stride, dst8 + j, data_stride, - rlbs->tmp_save_right[j], h, use_highbd); - } - } -#else - if (!loop_filter_across_tiles_enabled) { - // If loopfiltering across tiles is disabled, we need to extend tile edges - // by 3 pixels, to ensure that we don't sample from the tiles to our left - // or right. - const int at_tile_left_border = (limits->h_start == tile_rect->left); - const int at_tile_right_border = (limits->h_end == tile_rect->right); - - if (at_tile_left_border) { - uint8_t *dst8 = data8 + limits->h_start + limits->v_start * data_stride; - for (int j = -RESTORATION_BORDER; j < 0; j++) - setup_boundary_column(dst8, data_stride, dst8 + j, data_stride, - rlbs->tmp_save_left[j + RESTORATION_BORDER], h, - use_highbd); - } - - if (at_tile_right_border) { - uint8_t *dst8 = data8 + limits->h_end + limits->v_start * data_stride; - for (int j = 0; j < RESTORATION_BORDER; j++) - setup_boundary_column(dst8 - 1, data_stride, dst8 + j, data_stride, - rlbs->tmp_save_right[j], h, use_highbd); - } - } -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES } // This function restores the boundary lines modified by @@ -464,69 +347,14 @@ // by the top/bottom borders. static void restore_processing_stripe_boundary( const RestorationTileLimits *limits, const RestorationLineBuffers *rlbs, - int use_highbd, int h, -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - const AV1PixelRect *tile_rect, int loop_filter_across_tiles_v_enabled, -#else - const AV1PixelRect *tile_rect, int loop_filter_across_tiles_enabled, -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES - uint8_t *data8, int data_stride, int copy_above, int copy_below) { + int use_highbd, int h, uint8_t *data8, int data_stride, int copy_above, + int copy_below) { const int line_width = (limits->h_end - limits->h_start) + 2 * RESTORATION_EXTRA_HORZ; const int line_size = line_width << use_highbd; const int data_x0 = limits->h_start - RESTORATION_EXTRA_HORZ; -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - if (!loop_filter_across_tiles_v_enabled) { - // Restore any pixels we overwrote at the left/right edge of this - // processing unit. - const int at_tile_left_border = (limits->h_start == tile_rect->left); - const int at_tile_right_border = (limits->h_end == tile_rect->right); - - if (at_tile_left_border) { - uint8_t *dst8 = data8 + limits->h_start + limits->v_start * data_stride; - for (int j = -RESTORATION_BORDER; j < 0; j++) - restore_boundary_column(dst8 + j, data_stride, - rlbs->tmp_save_left[j + RESTORATION_BORDER], h, - use_highbd); - } - - if (at_tile_right_border) { - uint8_t *dst8 = data8 + limits->h_end + limits->v_start * data_stride; - for (int j = 0; j < RESTORATION_BORDER; j++) - restore_boundary_column(dst8 + j, data_stride, rlbs->tmp_save_right[j], - h, use_highbd); - } - } -#else - if (!loop_filter_across_tiles_enabled) { - // Restore any pixels we overwrote at the left/right edge of this - // processing unit. - const int at_tile_left_border = (limits->h_start == tile_rect->left); - const int at_tile_right_border = (limits->h_end == tile_rect->right); - - if (at_tile_left_border) { - uint8_t *dst8 = data8 + limits->h_start + limits->v_start * data_stride; - for (int j = -RESTORATION_BORDER; j < 0; j++) - restore_boundary_column(dst8 + j, data_stride, - rlbs->tmp_save_left[j + RESTORATION_BORDER], h, - use_highbd); - } - - if (at_tile_right_border) { - uint8_t *dst8 = data8 + limits->h_end + limits->v_start * data_stride; - for (int j = 0; j < RESTORATION_BORDER; j++) - restore_boundary_column(dst8 + j, data_stride, rlbs->tmp_save_right[j], - h, use_highbd); - } - } -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES - if (copy_above) { uint8_t *data8_tl = data8 + data_x0 + limits->v_start * data_stride; for (int i = -RESTORATION_BORDER; i < 0; ++i) { @@ -1214,17 +1042,9 @@ void av1_loop_restoration_filter_unit( const RestorationTileLimits *limits, const RestorationUnitInfo *rui, const RestorationStripeBoundaries *rsb, RestorationLineBuffers *rlbs, - const AV1PixelRect *tile_rect, int tile_stripe0, -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - int loop_filter_across_tiles_v_enabled, - int loop_filter_across_tiles_h_enabled, -#else - int loop_filter_across_tiles_enabled, -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES - int ss_x, int ss_y, int highbd, int bit_depth, uint8_t *data8, int stride, - uint8_t *dst8, int dst_stride, int32_t *tmpbuf) { + const AV1PixelRect *tile_rect, int tile_stripe0, int ss_x, int ss_y, + int highbd, int bit_depth, uint8_t *data8, int stride, uint8_t *dst8, + int dst_stride, int32_t *tmpbuf) { RestorationType unit_rtype = rui->restoration_type; int unit_h = limits->v_end - limits->v_start; @@ -1250,15 +1070,8 @@ int copy_above, copy_below; remaining_stripes.v_start = limits->v_start + i; - get_stripe_boundary_info(&remaining_stripes, tile_rect, ss_y, -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - loop_filter_across_tiles_h_enabled, -#else - loop_filter_across_tiles_enabled, -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES - ©_above, ©_below); + get_stripe_boundary_info(&remaining_stripes, tile_rect, ss_y, ©_above, + ©_below); const int full_stripe_height = RESTORATION_PROC_UNIT_SIZE >> ss_y; const int runit_offset = RESTORATION_UNIT_OFFSET >> ss_y; @@ -1279,30 +1092,14 @@ const int h = AOMMIN(nominal_stripe_height, remaining_stripes.v_end - remaining_stripes.v_start); - setup_processing_stripe_boundary( - &remaining_stripes, rsb, rsb_row, highbd, h, -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - tile_rect, loop_filter_across_tiles_v_enabled, -#else - tile_rect, loop_filter_across_tiles_enabled, -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES - data8, stride, rlbs, copy_above, copy_below); + setup_processing_stripe_boundary(&remaining_stripes, rsb, rsb_row, highbd, + h, data8, stride, rlbs, copy_above, + copy_below); stripe_filter(rui, unit_w, h, procunit_width, data8_tl + i * stride, stride, dst8_tl + i * dst_stride, dst_stride, tmpbuf, bit_depth); restore_processing_stripe_boundary(&remaining_stripes, rlbs, highbd, h, -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - tile_rect, - loop_filter_across_tiles_v_enabled, -#else - tile_rect, - loop_filter_across_tiles_enabled, -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES data8, stride, copy_above, copy_below); i += h; @@ -1336,17 +1133,9 @@ av1_loop_restoration_filter_unit( limits, &rsi->unit_info[rest_unit_idx], &rsi->boundaries, ctxt->rlbs, - tile_rect, ctxt->tile_stripe0, -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - ctxt->cm->loop_filter_across_tiles_v_enabled, - ctxt->cm->loop_filter_across_tiles_h_enabled, -#else - ctxt->cm->loop_filter_across_tiles_enabled, -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES - ctxt->ss_x, ctxt->ss_y, ctxt->highbd, ctxt->bit_depth, ctxt->data8, - ctxt->data_stride, ctxt->dst8, ctxt->dst_stride, ctxt->tmpbuf); + tile_rect, ctxt->tile_stripe0, ctxt->ss_x, ctxt->ss_y, ctxt->highbd, + ctxt->bit_depth, ctxt->data8, ctxt->data_stride, ctxt->dst8, + ctxt->dst_stride, ctxt->tmpbuf); } void av1_loop_restoration_filter_frame(YV12_BUFFER_CONFIG *frame, @@ -1739,34 +1528,11 @@ const int frame_stripe = stripe0 + tile_stripe; int use_deblock_above, use_deblock_below; -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - if (!cm->loop_filter_across_tiles_h_enabled) { - // In this case, we should use CDEF pixels for the above context - // of the topmost stripe in each region, and for the below context - // of the bottommost stripe in each tile. Dependent horizontal tile - // flag is ignored for this extension - use_deblock_above = (tile_stripe > 0); - use_deblock_below = (y1 < tile_rect.bottom); - } else { -#else - if (!cm->loop_filter_across_tiles_enabled) { - // In this case, we should use CDEF pixels for the above context - // of the topmost stripe in each region, and for the below context - // of the bottommost stripe in each tile. - use_deblock_above = (tile_stripe > 0); - use_deblock_below = (y1 < tile_rect.bottom); - } else { -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES - // In this case, we should only use CDEF pixels at the top - // and bottom of the frame as a whole; internal tile boundaries - // can use deblocked pixels from adjacent tiles for context. - use_deblock_above = (frame_stripe > 0); - use_deblock_below = (y1 < plane_height); -#if CONFIG_LOOPFILTERING_ACROSS_TILES || CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - } -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES + // In this case, we should only use CDEF pixels at the top + // and bottom of the frame as a whole; internal tile boundaries + // can use deblocked pixels from adjacent tiles for context. + use_deblock_above = (frame_stripe > 0); + use_deblock_below = (y1 < plane_height); if (!after_cdef) { // Save deblocked context where needed.
diff --git a/av1/common/restoration.h b/av1/common/restoration.h index ccfd3ea..932115d 100644 --- a/av1/common/restoration.h +++ b/av1/common/restoration.h
@@ -201,16 +201,6 @@ // stripe. uint16_t tmp_save_above[RESTORATION_BORDER][RESTORATION_LINEBUFFER_WIDTH]; uint16_t tmp_save_below[RESTORATION_BORDER][RESTORATION_LINEBUFFER_WIDTH]; -#if CONFIG_LOOPFILTERING_ACROSS_TILES || CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - // Column buffers, for storing 3 pixels at the left/right of each tile - // when loopfiltering across tiles is disabled. - // - // Note: These arrays only need to store the pixels immediately left/right - // of each processing unit; the corner pixels (top-left, etc.) are always - // stored into the above/below arrays. - uint16_t tmp_save_left[RESTORATION_BORDER][RESTORATION_COLBUFFER_HEIGHT]; - uint16_t tmp_save_right[RESTORATION_BORDER][RESTORATION_COLBUFFER_HEIGHT]; -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES } RestorationLineBuffers; typedef struct { @@ -298,17 +288,9 @@ void av1_loop_restoration_filter_unit( const RestorationTileLimits *limits, const RestorationUnitInfo *rui, const RestorationStripeBoundaries *rsb, RestorationLineBuffers *rlbs, - const AV1PixelRect *tile_rect, int tile_stripe0, -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - int loop_filter_across_tiles_v_enabled, - int loop_filter_across_tiles_h_enabled, -#else - int loop_filter_across_tiles_enabled, -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES - int ss_x, int ss_y, int highbd, int bit_depth, uint8_t *data8, int stride, - uint8_t *dst8, int dst_stride, int32_t *tmpbuf); + const AV1PixelRect *tile_rect, int tile_stripe0, int ss_x, int ss_y, + int highbd, int bit_depth, uint8_t *data8, int stride, uint8_t *dst8, + int dst_stride, int32_t *tmpbuf); void av1_loop_restoration_filter_frame(YV12_BUFFER_CONFIG *frame, struct AV1Common *cm);
diff --git a/av1/common/tile_common.c b/av1/common/tile_common.c index 8835336..95b739e 100644 --- a/av1/common/tile_common.c +++ b/av1/common/tile_common.c
@@ -250,81 +250,3 @@ return r; } - -#if CONFIG_LOOPFILTERING_ACROSS_TILES || CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -// this function should only be called when loop_filter_across_tile flag is -// set to 0 -void av1_setup_across_tile_boundary_info(const AV1_COMMON *const cm, - const TileInfo *const tile_info) { - if (cm->tile_cols * cm->tile_rows > 1) { - const int mi_row = tile_info->mi_row_start; - const int mi_col = tile_info->mi_col_start; - BOUNDARY_TYPE *const bi_start = - cm->boundary_info + mi_row * cm->mi_stride + mi_col; - // assert(mi_start < cm->mip + cm->mi_alloc_size); - BOUNDARY_TYPE *bi = 0; - const int row_diff = tile_info->mi_row_end - tile_info->mi_row_start; - const int col_diff = tile_info->mi_col_end - tile_info->mi_col_start; - int row, col; - -// when CONFIG_LOOPFILTERING_ACROSS_TILES_EXT is enabled, whether tile -// is dependent horizontal tile or not is ignored. tile boundary is always -// initialized based on the actual tile boundary. -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - if (cm->loop_filter_across_tiles_h_enabled == 0) -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - { - bi = bi_start; - for (col = 0; col < col_diff; ++col) { - *bi |= TILE_ABOVE_BOUNDARY; - bi += 1; - } - } - -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - if (cm->loop_filter_across_tiles_v_enabled == 0) -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - { - bi = bi_start; - for (row = 0; row < row_diff; ++row) { - *bi |= TILE_LEFT_BOUNDARY; - bi += cm->mi_stride; - } - } - -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - if (cm->loop_filter_across_tiles_h_enabled == 0) -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - { - bi = bi_start + (row_diff - 1) * cm->mi_stride; - // explicit bounds checking - // assert(mi + col_diff <= cm->mip + cm->mi_alloc_size); - for (col = 0; col < col_diff; ++col) { - *bi |= TILE_BOTTOM_BOUNDARY; - bi += 1; - } - } - -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - if (cm->loop_filter_across_tiles_v_enabled == 0) -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - { - bi = bi_start + col_diff - 1; - for (row = 0; row < row_diff; ++row) { - *bi |= TILE_RIGHT_BOUNDARY; - bi += cm->mi_stride; - } - } - } // end of cm->tile_cols * cm->tile_rows > 1 -} - -int av1_disable_loopfilter_on_tile_boundary(const struct AV1Common *cm) { -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - return ((!cm->loop_filter_across_tiles_v_enabled || - !cm->loop_filter_across_tiles_h_enabled) && -#else - return (!cm->loop_filter_across_tiles_enabled && -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - (cm->tile_cols * cm->tile_rows > 1)); -} -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES
diff --git a/av1/common/tile_common.h b/av1/common/tile_common.h index 67105c5..5ffdafe 100644 --- a/av1/common/tile_common.h +++ b/av1/common/tile_common.h
@@ -52,12 +52,6 @@ AV1PixelRect av1_get_tile_rect(const TileInfo *tile_info, const struct AV1Common *cm, int is_uv); -#if CONFIG_LOOPFILTERING_ACROSS_TILES || CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -void av1_setup_across_tile_boundary_info(const struct AV1Common *const cm, - const TileInfo *const tile_info); -int av1_disable_loopfilter_on_tile_boundary(const struct AV1Common *cm); -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES - #if CONFIG_MAX_TILE // Define tile maximum width and area
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c index 9da3676..89ae7ed 100644 --- a/av1/decoder/decodeframe.c +++ b/av1/decoder/decodeframe.c
@@ -1573,26 +1573,6 @@ cm->tile_rows = 1; while (cm->tile_rows * cm->tile_height < cm->mi_rows) ++cm->tile_rows; -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - if (cm->tile_cols > 1) { - cm->loop_filter_across_tiles_v_enabled = aom_rb_read_bit(rb); - } else { - cm->loop_filter_across_tiles_v_enabled = 1; - } - if (cm->tile_rows > 1) { - cm->loop_filter_across_tiles_h_enabled = aom_rb_read_bit(rb); - } else { - cm->loop_filter_across_tiles_h_enabled = 1; - } -#else - if (cm->tile_cols * cm->tile_rows > 1) - cm->loop_filter_across_tiles_enabled = aom_rb_read_bit(rb); - else - cm->loop_filter_across_tiles_enabled = 1; -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES - if (cm->tile_cols * cm->tile_rows > 1) { // Read the number of bytes used to store tile size pbi->tile_col_size_bytes = aom_rb_read_literal(rb, 2) + 1; @@ -1636,25 +1616,6 @@ get_tile_size(cm->mi_rows, cm->log2_tile_rows, &cm->tile_rows); #endif // CONFIG_MAX_TILE -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - if (cm->tile_cols > 1) { - cm->loop_filter_across_tiles_v_enabled = aom_rb_read_bit(rb); - } else { - cm->loop_filter_across_tiles_v_enabled = 1; - } - if (cm->tile_rows > 1) { - cm->loop_filter_across_tiles_h_enabled = aom_rb_read_bit(rb); - } else { - cm->loop_filter_across_tiles_h_enabled = 1; - } -#else - if (cm->tile_cols * cm->tile_rows > 1) - cm->loop_filter_across_tiles_enabled = aom_rb_read_bit(rb); - else - cm->loop_filter_across_tiles_enabled = 1; -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES if (cm->tile_rows * cm->tile_cols > 1) { // tile size magnitude @@ -1875,23 +1836,6 @@ } } -#if CONFIG_LOOPFILTERING_ACROSS_TILES || CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -static void dec_setup_across_tile_boundary_info( - const AV1_COMMON *const cm, const TileInfo *const tile_info) { - if (tile_info->mi_row_start >= tile_info->mi_row_end || - tile_info->mi_col_start >= tile_info->mi_col_end) - return; -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - if (!cm->loop_filter_across_tiles_v_enabled || - !cm->loop_filter_across_tiles_h_enabled) { -#else - if (!cm->loop_filter_across_tiles_enabled) { -#endif - av1_setup_across_tile_boundary_info(cm, tile_info); - } -} -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES - static const uint8_t *decode_tiles(AV1Decoder *pbi, const uint8_t *data, const uint8_t *data_end, int startTile, int endTile) { @@ -2021,10 +1965,6 @@ av1_zero_above_context(cm, tile_info.mi_col_start, tile_info.mi_col_end); av1_reset_loop_restoration(&td->xd, num_planes); -#if CONFIG_LOOPFILTERING_ACROSS_TILES || CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - dec_setup_across_tile_boundary_info(cm, &tile_info); -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES - for (mi_row = tile_info.mi_row_start; mi_row < tile_info.mi_row_end; mi_row += cm->seq_params.mib_size) { av1_zero_left_context(&td->xd); @@ -3290,14 +3230,6 @@ } static void dec_setup_frame_boundary_info(AV1_COMMON *const cm) { -// Note: When LOOPFILTERING_ACROSS_TILES is enabled, we need to clear the -// boundary information every frame, since the tile boundaries may -// change every frame (particularly when dependent-horztiles is also -// enabled); when it is disabled, the only information stored is the frame -// boundaries, which only depend on the frame size. -#if !CONFIG_LOOPFILTERING_ACROSS_TILES && !CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - if (cm->width != cm->last_width || cm->height != cm->last_height) -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES { int row, col; for (row = 0; row < cm->mi_rows; ++row) {
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c index 20d8b4b..da68477 100644 --- a/av1/encoder/bitstream.c +++ b/av1/encoder/bitstream.c
@@ -2310,20 +2310,6 @@ #endif } -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - if (cm->tile_cols > 1) { - aom_wb_write_bit(wb, cm->loop_filter_across_tiles_v_enabled); - } - if (cm->tile_rows > 1) { - aom_wb_write_bit(wb, cm->loop_filter_across_tiles_h_enabled); - } -#else - if (cm->tile_cols * cm->tile_rows > 1) - aom_wb_write_bit(wb, cm->loop_filter_across_tiles_enabled); -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES - *saved_wb = *wb; if (cm->large_scale_tile) { if (cm->tile_rows * cm->tile_cols > 1) {
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c index f139898..cfe6984 100644 --- a/av1/encoder/encodeframe.c +++ b/av1/encoder/encodeframe.c
@@ -3754,17 +3754,6 @@ cfl_init(&td->mb.e_mbd.cfl, cm); -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - if (!cm->loop_filter_across_tiles_v_enabled || - !cm->loop_filter_across_tiles_h_enabled) - av1_setup_across_tile_boundary_info(cm, tile_info); -#else - if (!cm->loop_filter_across_tiles_enabled) - av1_setup_across_tile_boundary_info(cm, tile_info); -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES - av1_crc_calculator_init(&td->mb.mb_rd_record.crc_calculator, 24, 0x5D6DCB); td->intrabc_used_this_tile = 0;
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c index ec164bf..0f86b6b 100644 --- a/av1/encoder/encoder.c +++ b/av1/encoder/encoder.c
@@ -919,18 +919,6 @@ get_tile_size(cm->mi_rows, cm->log2_tile_rows, &cm->tile_rows); #endif // CONFIG_MAX_TILE } - -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - cm->loop_filter_across_tiles_v_enabled = - cpi->oxcf.loop_filter_across_tiles_v_enabled; - cm->loop_filter_across_tiles_h_enabled = - cpi->oxcf.loop_filter_across_tiles_h_enabled; -#else - cm->loop_filter_across_tiles_enabled = - cpi->oxcf.loop_filter_across_tiles_enabled; -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES } static void update_frame_size(AV1_COMP *cpi) {
diff --git a/av1/encoder/encoder.h b/av1/encoder/encoder.h index 7a32c77..7f4887d 100644 --- a/av1/encoder/encoder.h +++ b/av1/encoder/encoder.h
@@ -261,14 +261,6 @@ int tile_widths[MAX_TILE_COLS]; int tile_heights[MAX_TILE_ROWS]; #endif -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - int loop_filter_across_tiles_v_enabled; - int loop_filter_across_tiles_h_enabled; -#else - int loop_filter_across_tiles_enabled; -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES int max_threads;
diff --git a/av1/encoder/pickrst.c b/av1/encoder/pickrst.c index c5754af..70e0d70 100644 --- a/av1/encoder/pickrst.c +++ b/av1/encoder/pickrst.c
@@ -160,14 +160,6 @@ av1_loop_restoration_filter_unit( limits, rui, &rsi->boundaries, &rlbs, tile_rect, rsc->tile_stripe0, -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - cm->loop_filter_across_tiles_v_enabled, - cm->loop_filter_across_tiles_h_enabled, -#else - cm->loop_filter_across_tiles_enabled, -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES is_uv && cm->subsampling_x, is_uv && cm->subsampling_y, highbd, bit_depth, fts->buffers[plane], fts->strides[is_uv], rsc->dst->buffers[plane], rsc->dst->strides[is_uv], cm->rst_tmpbuf);
diff --git a/build/cmake/aom_config_defaults.cmake b/build/cmake/aom_config_defaults.cmake index ac657c8..361e742 100644 --- a/build/cmake/aom_config_defaults.cmake +++ b/build/cmake/aom_config_defaults.cmake
@@ -102,8 +102,6 @@ set(CONFIG_FWD_KF 1 CACHE NUMBER "AV1 experiment flag.") set(CONFIG_HASH_ME 0 CACHE NUMBER "AV1 experiment flag.") set(CONFIG_INTER_STATS_ONLY 0 CACHE NUMBER "AV1 experiment flag.") -set(CONFIG_LOOPFILTERING_ACROSS_TILES 1 CACHE NUMBER "AV1 experiment flag.") -set(CONFIG_LOOPFILTERING_ACROSS_TILES_EXT 1 CACHE NUMBER "AV1 experiment flag.") set(CONFIG_LOWPRECISION_BLEND 1 CACHE NUMBER "AV1 experiment flag.") set(CONFIG_MAX_TILE 1 CACHE NUMBER "AV1 experiment flag.") set(CONFIG_MONO_VIDEO 1 CACHE NUMBER "AV1 experiment flag.")
diff --git a/test/av1_ext_tile_test.cc b/test/av1_ext_tile_test.cc index 8459c3c..6148cea 100644 --- a/test/av1_ext_tile_test.cc +++ b/test/av1_ext_tile_test.cc
@@ -89,14 +89,6 @@ encoder->Control(AV1E_SET_SINGLE_TILE_DECODING, 1); // Always use 64x64 max partition. encoder->Control(AV1E_SET_SUPERBLOCK_SIZE, AOM_SUPERBLOCK_SIZE_64X64); -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - encoder->Control(AV1E_SET_TILE_LOOPFILTER_V, 0); - encoder->Control(AV1E_SET_TILE_LOOPFILTER_H, 0); -#else - encoder->Control(AV1E_SET_TILE_LOOPFILTER, 0); -#endif -#endif } if (video->frame() == 1) {
diff --git a/test/ethread_test.cc b/test/ethread_test.cc index 6c6fc01..d93967f 100644 --- a/test/ethread_test.cc +++ b/test/ethread_test.cc
@@ -71,14 +71,6 @@ ::libaom_test::Encoder *encoder) { if (!encoder_initialized_) { SetTileSize(encoder); -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - encoder->Control(AV1E_SET_TILE_LOOPFILTER_V, 0); - encoder->Control(AV1E_SET_TILE_LOOPFILTER_H, 0); -#else - encoder->Control(AV1E_SET_TILE_LOOPFILTER, 0); -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES encoder->Control(AOME_SET_CPUUSED, set_cpu_used_); if (encoding_mode_ != ::libaom_test::kRealTime) { encoder->Control(AOME_SET_ENABLEAUTOALTREF, 1);
diff --git a/test/superframe_test.cc b/test/superframe_test.cc index 6a7bc39..8a3378d 100644 --- a/test/superframe_test.cc +++ b/test/superframe_test.cc
@@ -50,14 +50,6 @@ encoder->Control(AOME_SET_CPUUSED, 2); encoder->Control(AV1E_SET_TILE_COLUMNS, n_tile_cols_); encoder->Control(AV1E_SET_TILE_ROWS, n_tile_rows_); -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - encoder->Control(AV1E_SET_TILE_LOOPFILTER_V, 0); - encoder->Control(AV1E_SET_TILE_LOOPFILTER_H, 0); -#else - encoder->Control(AV1E_SET_TILE_LOOPFILTER, 0); -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES } }
diff --git a/test/tile_independence_test.cc b/test/tile_independence_test.cc index 014ef97..a798262 100644 --- a/test/tile_independence_test.cc +++ b/test/tile_independence_test.cc
@@ -63,14 +63,6 @@ if (video->frame() == 1) { encoder->Control(AV1E_SET_TILE_COLUMNS, n_tile_cols_); encoder->Control(AV1E_SET_TILE_ROWS, n_tile_rows_); -#if CONFIG_LOOPFILTERING_ACROSS_TILES -#if CONFIG_LOOPFILTERING_ACROSS_TILES_EXT - encoder->Control(AV1E_SET_TILE_LOOPFILTER_V, 0); - encoder->Control(AV1E_SET_TILE_LOOPFILTER_H, 0); -#else - encoder->Control(AV1E_SET_TILE_LOOPFILTER, 0); -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES_EXT -#endif // CONFIG_LOOPFILTERING_ACROSS_TILES SetCpuUsed(encoder); } }