aboutsummaryrefslogtreecommitdiff
path: root/libvpx/vp9/common/vp9_tile_common.c
diff options
context:
space:
mode:
authorVignesh Venkatasubramanian <vigneshv@google.com>2015-08-25 11:05:01 -0700
committerVignesh Venkatasubramanian <vigneshv@google.com>2015-08-25 15:00:46 -0700
commitda49e34c1fb5e99681f4ad99c21d9cfd83eddb96 (patch)
treee3d2732c50ac27950841cef26da31b0dbf1fadf2 /libvpx/vp9/common/vp9_tile_common.c
parent4a3c6e360a394e1297eeaaecf7a8853de2c65761 (diff)
downloadlibvpx-da49e34c1fb5e99681f4ad99c21d9cfd83eddb96.tar.gz
libvpx: Pull from upstream
Current HEAD: 7105df53d7dc13d5e575bc8df714ec8d1da36b06 Includes security fixes and performance improvements. Also removed the VP10 related code from the upstream repository. BUG=23452792 Change-Id: I97452dff5b1f0756e19d621111797363cc533d46
Diffstat (limited to 'libvpx/vp9/common/vp9_tile_common.c')
-rw-r--r--libvpx/vp9/common/vp9_tile_common.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/libvpx/vp9/common/vp9_tile_common.c b/libvpx/vp9/common/vp9_tile_common.c
index 8c4a30353..7a20e0a9e 100644
--- a/libvpx/vp9/common/vp9_tile_common.c
+++ b/libvpx/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);
}