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,