unpoison_partition_ctx: Move the fake context to the end
It's less invasive and helps make future changes easier.
Change-Id: I0f858462f14109ace4d76a31daeac4289c94bc6e
diff --git a/av1/encoder/rd.c b/av1/encoder/rd.c
index fff0176..417f15c 100644
--- a/av1/encoder/rd.c
+++ b/av1/encoder/rd.c
@@ -398,42 +398,40 @@
if (cpi->sf.partition_search_type != VAR_BASED_PARTITION ||
cm->frame_type == KEY_FRAME) {
-#if CONFIG_UNPOISON_PARTITION_CTX
- cpi->partition_cost[0][PARTITION_NONE] = INT_MAX;
- cpi->partition_cost[0][PARTITION_HORZ] = INT_MAX;
- cpi->partition_cost[0][PARTITION_VERT] = INT_MAX;
- cpi->partition_cost[0][PARTITION_SPLIT] = 0;
-#endif
#if CONFIG_EXT_PARTITION_TYPES
for (i = 0; i < PARTITION_PLOFFSET; ++i)
- av1_cost_tokens(cpi->partition_cost[CONFIG_UNPOISON_PARTITION_CTX + i],
- cm->fc->partition_prob[i], av1_partition_tree);
+ av1_cost_tokens(cpi->partition_cost[i], cm->fc->partition_prob[i],
+ av1_partition_tree);
for (; i < PARTITION_CONTEXTS_PRIMARY; ++i)
- av1_cost_tokens(cpi->partition_cost[CONFIG_UNPOISON_PARTITION_CTX + i],
- cm->fc->partition_prob[i], av1_ext_partition_tree);
+ av1_cost_tokens(cpi->partition_cost[i], cm->fc->partition_prob[i],
+ av1_ext_partition_tree);
#else
for (i = 0; i < PARTITION_CONTEXTS_PRIMARY; ++i)
- av1_cost_tokens(cpi->partition_cost[CONFIG_UNPOISON_PARTITION_CTX + i],
- cm->fc->partition_prob[i], av1_partition_tree);
+ av1_cost_tokens(cpi->partition_cost[i], cm->fc->partition_prob[i],
+ av1_partition_tree);
#endif // CONFIG_EXT_PARTITION_TYPES
#if CONFIG_UNPOISON_PARTITION_CTX
for (; i < PARTITION_CONTEXTS_PRIMARY + PARTITION_BLOCK_SIZES; ++i) {
aom_prob p = cm->fc->partition_prob[i][PARTITION_VERT];
assert(p > 0);
- cpi->partition_cost[1 + i][PARTITION_NONE] = INT_MAX;
- cpi->partition_cost[1 + i][PARTITION_HORZ] = INT_MAX;
- cpi->partition_cost[1 + i][PARTITION_VERT] = av1_cost_bit(p, 0);
- cpi->partition_cost[1 + i][PARTITION_SPLIT] = av1_cost_bit(p, 1);
+ cpi->partition_cost[i][PARTITION_NONE] = INT_MAX;
+ cpi->partition_cost[i][PARTITION_HORZ] = INT_MAX;
+ cpi->partition_cost[i][PARTITION_VERT] = av1_cost_bit(p, 0);
+ cpi->partition_cost[i][PARTITION_SPLIT] = av1_cost_bit(p, 1);
}
for (; i < PARTITION_CONTEXTS_PRIMARY + 2 * PARTITION_BLOCK_SIZES; ++i) {
aom_prob p = cm->fc->partition_prob[i][PARTITION_HORZ];
assert(p > 0);
- cpi->partition_cost[1 + i][PARTITION_NONE] = INT_MAX;
- cpi->partition_cost[1 + i][PARTITION_HORZ] = av1_cost_bit(p, 0);
- cpi->partition_cost[1 + i][PARTITION_VERT] = INT_MAX;
- cpi->partition_cost[1 + i][PARTITION_SPLIT] = av1_cost_bit(p, 1);
+ cpi->partition_cost[i][PARTITION_NONE] = INT_MAX;
+ cpi->partition_cost[i][PARTITION_HORZ] = av1_cost_bit(p, 0);
+ cpi->partition_cost[i][PARTITION_VERT] = INT_MAX;
+ cpi->partition_cost[i][PARTITION_SPLIT] = av1_cost_bit(p, 1);
}
-#endif
+ cpi->partition_cost[PARTITION_CONTEXTS][PARTITION_NONE] = INT_MAX;
+ cpi->partition_cost[PARTITION_CONTEXTS][PARTITION_HORZ] = INT_MAX;
+ cpi->partition_cost[PARTITION_CONTEXTS][PARTITION_VERT] = INT_MAX;
+ cpi->partition_cost[PARTITION_CONTEXTS][PARTITION_SPLIT] = 0;
+#endif // CONFIG_UNPOISON_PARTITION_CTX
}
fill_mode_costs(cpi);