diff --git a/vp9/common/vp9_tile_common.c b/vp9/common/vp9_tile_common.c index ea26289b76ec1dff6589244c683fcc1cc575c210..95296ad6f2a4b7a64a67ce7eda12045395f1ceb5 100644 --- a/vp9/common/vp9_tile_common.c +++ b/vp9/common/vp9_tile_common.c @@ -49,10 +49,15 @@ void vp9_get_tile_n_bits(VP9_COMMON *cm, int *min_log2_n_tiles_ptr, for (max_log2_n_tiles = 0; (sb_cols >> max_log2_n_tiles) >= MIN_TILE_WIDTH_SBS; max_log2_n_tiles++) {} + max_log2_n_tiles--; + if (max_log2_n_tiles < 0) + max_log2_n_tiles = 0; + for (min_log2_n_tiles = 0; (MAX_TILE_WIDTH_SBS << min_log2_n_tiles) < sb_cols; min_log2_n_tiles++) {} + assert(max_log2_n_tiles >= min_log2_n_tiles); *min_log2_n_tiles_ptr = min_log2_n_tiles; *delta_log2_n_tiles = max_log2_n_tiles - min_log2_n_tiles; }