Make EXT_TILE compatible with TILE_GROUPS
Added a 1-bit flag 'large_scale_tile'. If it is 0 that is the default value,
use normal tile coding in TILE_GROUPS. If it is 1, use large-scale tile
coding in EXT_TILE.
At large_scale_tile=1 case, if single-tile-decoding is required, then the
loopfilter is disabled.
Related API and unit tests were modified.
Change-Id: I3ba12dc3d80ccf1ab21543ab3b16c02282c34e3b
diff --git a/av1/common/enums.h b/av1/common/enums.h
index 7b5eeb3..e643a0f 100644
--- a/av1/common/enums.h
+++ b/av1/common/enums.h
@@ -54,9 +54,6 @@
// Maximum number of tile rows and tile columns
#if CONFIG_EXT_TILE
-#define TILE_NORMAL 0
-#define TILE_VR 1
-
#define MAX_TILE_ROWS 1024
#define MAX_TILE_COLS 1024
#else
diff --git a/av1/common/onyxc_int.h b/av1/common/onyxc_int.h
index 4ab93ad..86ac512 100644
--- a/av1/common/onyxc_int.h
+++ b/av1/common/onyxc_int.h
@@ -355,13 +355,12 @@
int error_resilient_mode;
-#if !CONFIG_EXT_TILE
- int log2_tile_cols, log2_tile_rows;
-#endif // !CONFIG_EXT_TILE
+ int log2_tile_cols, log2_tile_rows; // Used in non-large_scale_tile_coding.
int tile_cols, tile_rows;
int tile_width, tile_height; // In MI units
#if CONFIG_EXT_TILE
- unsigned int tile_encoding_mode;
+ unsigned int large_scale_tile;
+ unsigned int single_tile_decoding;
#endif // CONFIG_EXT_TILE
#if CONFIG_DEPENDENT_HORZTILES
diff --git a/av1/common/tile_common.c b/av1/common/tile_common.c
index 9eaea47..cae4ce3 100644
--- a/av1/common/tile_common.c
+++ b/av1/common/tile_common.c
@@ -46,8 +46,6 @@
#endif
}
-#if !CONFIG_EXT_TILE
-
#if CONFIG_EXT_PARTITION
#define MIN_TILE_WIDTH_MAX_SB 2
#define MAX_TILE_WIDTH_MAX_SB 32
@@ -76,7 +74,6 @@
*max_log2_tile_cols = get_max_log2_tile_cols(max_sb_cols);
assert(*min_log2_tile_cols <= *max_log2_tile_cols);
}
-#endif // !CONFIG_EXT_TILE
void av1_update_boundary_info(const struct AV1Common *cm,
const TileInfo *const tile_info, int mi_row,