Documentation for CommonTileParams members.
BUG=aomedia:2610
Change-Id: I0cb01355f7a7c55ef069e20e2c27a6d22f2862cc
diff --git a/av1/common/av1_common_int.h b/av1/common/av1_common_int.h
index a078149..07b0720 100644
--- a/av1/common/av1_common_int.h
+++ b/av1/common/av1_common_int.h
@@ -340,24 +340,46 @@
// Struct containing params related to tiles.
typedef struct CommonTileParams {
- int cols;
- int rows;
- int max_width_sb;
- int max_height_sb;
- int min_log2_cols;
- int max_log2_cols;
- int max_log2_rows;
- int min_log2_rows;
- int min_log2;
+ int cols; // number of tile columns that frame is divided into
+ int rows; // number of tile rows that frame is divided into
+ int max_width_sb; // maximum tile width in superblock units.
+ int max_height_sb; // maximum tile height in superblock units.
+ // Min width of non-rightmost tile in MI units. Only valid if cols > 1.
+ int min_inner_width;
+
+ // If true, tiles are uniformly spaced with power-of-two number of rows and
+ // columns.
+ // If false, tiles have explicitly configured widths and heights.
int uniform_spacing;
- int log2_cols; // only valid for uniform tiles
- int log2_rows; // only valid for uniform tiles
- int col_start_sb[MAX_TILE_COLS + 1]; // valid for 0 <= i <= tile_cols
- int row_start_sb[MAX_TILE_ROWS + 1]; // valid for 0 <= i <= tile_rows
- int width; // Width in MI units
- int height; // Height in MI units
- int min_inner_width; // min width of non-rightmost tile
+
+ // Following members are only valid when uniform_spacing == 1
+ int log2_cols; // log2 of 'cols'.
+ int log2_rows; // log2 of 'rows'.
+ int width; // tile width in MI units
+ int height; // tile height in MI units
+ // End of members that are only valid when uniform_spacing == 1
+
+ // Min num of tile columns possible based on 'max_width_sb' and frame width.
+ int min_log2_cols;
+ // Min num of tile rows possible based on 'max_height_sb' and frame height.
+ int min_log2_rows;
+ // Min num of tile columns possible based on frame width.
+ int max_log2_cols;
+ // Max num of tile columns possible based on frame width.
+ int max_log2_rows;
+ // log2 of min number of tiles (same as min_log2_cols + min_log2_rows).
+ int min_log2;
+ // col_start_sb[i] is the start position of tile column i in superblock units.
+ // valid for 0 <= i <= cols
+ int col_start_sb[MAX_TILE_COLS + 1];
+ // row_start_sb[i] is the start position of tile row i in superblock units.
+ // valid for 0 <= i <= rows
+ int row_start_sb[MAX_TILE_ROWS + 1];
+ // If true, we are using large scale tile mode.
unsigned int large_scale;
+ // Only relevant when large_scale == 1.
+ // If true, the independent decoding of a single tile or a section of a frame
+ // is allowed.
unsigned int single_tile_decoding;
} CommonTileParams;
diff --git a/av1/decoder/decodeframe.c b/av1/decoder/decodeframe.c
index 84fda91..b31ce93 100644
--- a/av1/decoder/decodeframe.c
+++ b/av1/decoder/decodeframe.c
@@ -5349,8 +5349,6 @@
if (trailing_bits_present) av1_check_trailing_bits(pbi, rb);
- // If cm->tiles.single_tile_decoding = 0, the independent decoding of a single
- // tile or a section of a frame is not allowed.
if (!cm->tiles.single_tile_decoding &&
(pbi->dec_tile_row >= 0 || pbi->dec_tile_col >= 0)) {
pbi->dec_tile_row = -1;
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index 24d42e7..edf6693 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -2135,8 +2135,6 @@
aom_wb_write_bit(wb, tiles->uniform_spacing);
if (tiles->uniform_spacing) {
- // Uniform spaced tiles with power-of-two number of rows and columns
- // tile columns
int ones = tiles->log2_cols - tiles->min_log2_cols;
while (ones--) {
aom_wb_write_bit(wb, 1);