summaryrefslogtreecommitdiff
path: root/vp9/common/vp9_tile_common.c
diff options
context:
space:
mode:
authorYaowu Xu <yaowu@google.com>2015-01-07 08:49:43 -0800
committerYaowu Xu <yaowu@google.com>2015-01-07 14:28:59 -0800
commite9cf9b7dfe1831c6fe8fdd8c6e8a85260fd156b4 (patch)
tree30ad6059604e382f94e7e0311c3d584bbaea6ec7 /vp9/common/vp9_tile_common.c
parent2fe1bfa5ade46b7f9f3505801071493a7afd4ad0 (diff)
downloadlibvpx-e9cf9b7dfe1831c6fe8fdd8c6e8a85260fd156b4.tar
libvpx-e9cf9b7dfe1831c6fe8fdd8c6e8a85260fd156b4.tar.gz
libvpx-e9cf9b7dfe1831c6fe8fdd8c6e8a85260fd156b4.tar.bz2
libvpx-e9cf9b7dfe1831c6fe8fdd8c6e8a85260fd156b4.zip
Refactor calculation of tile_cols
Change-Id: I2c38ea2bcf6d221a0b6b2fb9be4cebbee21006a3
Diffstat (limited to 'vp9/common/vp9_tile_common.c')
-rw-r--r--vp9/common/vp9_tile_common.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/vp9/common/vp9_tile_common.c b/vp9/common/vp9_tile_common.c
index 8c4a30353..7a20e0a9e 100644
--- a/vp9/common/vp9_tile_common.c
+++ b/vp9/common/vp9_tile_common.c
@@ -36,24 +36,24 @@ void vp9_tile_init(TileInfo *tile, const VP9_COMMON *cm, int row, int col) {
vp9_tile_set_col(tile, cm, col);
}
-void vp9_get_tile_n_bits(int mi_cols,
- int *min_log2_tile_cols, int *max_log2_tile_cols) {
- const int sb_cols = mi_cols_aligned_to_sb(mi_cols) >> MI_BLOCK_SIZE_LOG2;
- int min_log2 = 0, max_log2 = 0;
-
- // max
- while ((sb_cols >> max_log2) >= MIN_TILE_WIDTH_B64)
- ++max_log2;
- --max_log2;
- if (max_log2 < 0)
- max_log2 = 0;
-
- // min
- while ((MAX_TILE_WIDTH_B64 << min_log2) < sb_cols)
+static int get_min_log2_tile_cols(const int sb64_cols) {
+ int min_log2 = 0;
+ while ((MAX_TILE_WIDTH_B64 << min_log2) < sb64_cols)
++min_log2;
+ return min_log2;
+}
- assert(min_log2 <= max_log2);
+static int get_max_log2_tile_cols(const int sb64_cols) {
+ int max_log2 = 1;
+ while ((sb64_cols >> max_log2) >= MIN_TILE_WIDTH_B64)
+ ++max_log2;
+ return max_log2 - 1;
+}
- *min_log2_tile_cols = min_log2;
- *max_log2_tile_cols = max_log2;
+void vp9_get_tile_n_bits(int mi_cols,
+ int *min_log2_tile_cols, int *max_log2_tile_cols) {
+ const int sb64_cols = mi_cols_aligned_to_sb(mi_cols) >> MI_BLOCK_SIZE_LOG2;
+ *min_log2_tile_cols = get_min_log2_tile_cols(sb64_cols);
+ *max_log2_tile_cols = get_max_log2_tile_cols(sb64_cols);
+ assert(*min_log2_tile_cols <= *max_log2_tile_cols);
}