Fix a bug in handle_inter_mode
The return value is incorrect if joint compound search is early terminated.
STATS_CHANGED
Change-Id: I5911057b098a137be7d67b63abd494341cd53039
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index a14f876..d0d6b1c 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -8842,12 +8842,12 @@
*rd_stats = best_rd_stats;
*rd_stats_y = best_rd_stats_y;
*rd_stats_uv = best_rd_stats_uv;
- ret_val = best_ret_val;
*mbmi = best_mbmi;
assert(IMPLIES(mbmi->comp_group_idx == 1,
mbmi->interinter_comp.type != COMPOUND_AVERAGE));
memcpy(x->blk_skip, best_blk_skip,
sizeof(best_blk_skip[0]) * xd->n8_h * xd->n8_w);
+ return RDCOST(x->rdmult, rd_stats->rate, rd_stats->dist);
}
if (early_terminate == INT64_MAX) return INT64_MAX;
if (ret_val != 0) return ret_val;