diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c index 5bbe3c443544e78e1b9e524338adbf8993c3f91d..0514b8eb02750245af00d8e0e4a93500511092ba 100644 --- a/av1/encoder/bitstream.c +++ b/av1/encoder/bitstream.c @@ -3674,6 +3674,9 @@ static void write_tile_info(const AV1_COMMON *const cm, aom_wb_write_literal(wb, tile_width - 1, 6); aom_wb_write_literal(wb, tile_height - 1, 6); } +#if CONFIG_DEPENDENT_HORZTILES + if (tile_height > 1) aom_wb_write_bit(wb, cm->dependent_horz_tiles); +#endif #else int min_log2_tile_cols, max_log2_tile_cols, ones; av1_get_tile_n_bits(cm->mi_cols, &min_log2_tile_cols, &max_log2_tile_cols); @@ -3687,11 +3690,10 @@ static void write_tile_info(const AV1_COMMON *const cm, // rows aom_wb_write_bit(wb, cm->log2_tile_rows != 0); if (cm->log2_tile_rows != 0) aom_wb_write_bit(wb, cm->log2_tile_rows != 1); -#endif // CONFIG_EXT_TILE - #if CONFIG_DEPENDENT_HORZTILES if (cm->log2_tile_rows != 0) aom_wb_write_bit(wb, cm->dependent_horz_tiles); #endif +#endif // CONFIG_EXT_TILE #if CONFIG_LOOPFILTERING_ACROSS_TILES aom_wb_write_bit(wb, cm->loop_filter_across_tiles_enabled); diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c index 021ca1cc03f81a10cdfcae88ee138e557036a87d..e2047e3ac716ec934286a8343d09b9404851472d 100644 --- a/av1/encoder/encoder.c +++ b/av1/encoder/encoder.c @@ -879,7 +879,11 @@ static void set_tile_info(AV1_COMP *cpi) { #if CONFIG_DEPENDENT_HORZTILES cm->dependent_horz_tiles = cpi->oxcf.dependent_horz_tiles; +#if CONFIG_EXT_TILE + if (cm->tile_rows <= 1) cm->dependent_horz_tiles = 0; +#else if (cm->log2_tile_rows == 0) cm->dependent_horz_tiles = 0; +#endif #if CONFIG_TILE_GROUPS if (cpi->oxcf.mtu == 0) { cm->num_tg = cpi->oxcf.num_tile_groups;