]> granicus.if.org Git - libvpx/commitdiff
Fix a off-by-one bug
authorYaowu Xu <yaowu@google.com>
Fri, 31 May 2013 18:18:23 +0000 (11:18 -0700)
committerYaowu Xu <yaowu@google.com>
Mon, 3 Jun 2013 21:25:28 +0000 (14:25 -0700)
in the calculation of maximum number of tiles in log2 scale.

Change-Id: Id283d6e51a8b926015fd3fc631cdbfb4b8268d4a

vp9/common/vp9_tile_common.c

index ea26289b76ec1dff6589244c683fcc1cc575c210..95296ad6f2a4b7a64a67ce7eda12045395f1ceb5 100644 (file)
@@ -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;
 }