Fix Clang 18.0.0 -Wunreachable-code warnings
Clang 18.0.0 warns about the following code:
const int row_scale = mi_size_high[BLOCK_16X16] == 2 ? 1 : 2;
const int col_scale = mi_size_wide[BLOCK_16X16] == 2 ? 1 : 2;
because the conditional expressions are false.
This code was originally added in
https://aomedia-review.googlesource.com/c/aom/+/9721. At that time,
mi_size_high[BLOCK_16X16] and mi_size_wide[BLOCK_16X16] could be either
4 or 2 depending on whether CONFIG_CB4X4 was 1 or 0. Now
mi_size_high[BLOCK_16X16] and mi_size_wide[BLOCK_16X16] are equal to 4.
Change-Id: I5fddde54fb242dac3f9d7dadafd56b3c4c363494
(cherry picked from commit d629bf2c8cc1aefd14fe01a333cdca9588ec51ad)
diff --git a/av1/encoder/encoder.c b/av1/encoder/encoder.c
index 4999a39..e1cb49b 100644
--- a/av1/encoder/encoder.c
+++ b/av1/encoder/encoder.c
@@ -152,8 +152,8 @@
unsigned char *const active_map_4x4 = cpi->active_map.map;
const int mi_rows = mi_params->mi_rows;
const int mi_cols = mi_params->mi_cols;
- const int row_scale = mi_size_high[BLOCK_16X16] == 2 ? 1 : 2;
- const int col_scale = mi_size_wide[BLOCK_16X16] == 2 ? 1 : 2;
+ const int row_scale = mi_size_high_log2[BLOCK_16X16];
+ const int col_scale = mi_size_wide_log2[BLOCK_16X16];
cpi->active_map.update = 0;
assert(mi_rows % 2 == 0);
assert(mi_cols % 2 == 0);
@@ -185,8 +185,8 @@
unsigned char *const seg_map_8x8 = cpi->enc_seg.map;
const int mi_rows = mi_params->mi_rows;
const int mi_cols = mi_params->mi_cols;
- const int row_scale = mi_size_high[BLOCK_16X16] == 2 ? 1 : 2;
- const int col_scale = mi_size_wide[BLOCK_16X16] == 2 ? 1 : 2;
+ const int row_scale = mi_size_high_log2[BLOCK_16X16];
+ const int col_scale = mi_size_wide_log2[BLOCK_16X16];
assert(mi_rows % 2 == 0);
assert(mi_cols % 2 == 0);