Fix Rd cost for skip overrides
I had done only a partial fix before. But updating the costs seems to
make an even bigger improvement to the baseline.
BUG=aomedia:1094
Change-Id: Id427819507143c05b4dc3d4c05e6b2a66d17899f
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 3ad9e39..5206bc6 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -4183,6 +4183,8 @@
this_rd = RDCOST(x->rdmult, rd_stats->rate, rd_stats->dist);
if (zero_rd < this_rd) {
this_rd = zero_rd;
+ rd_stats->rate = rd_stats->zero_rate;
+ rd_stats->dist = rd_stats->sse;
rd_stats->skip = 1;
}
if (this_rd > ref_best_rd) is_cost_valid = 0;
@@ -4452,6 +4454,8 @@
this_rd = RDCOST(x->rdmult, rd_stats->rate, rd_stats->dist);
if (zero_rd < this_rd) {
this_rd = zero_rd;
+ rd_stats->rate = rd_stats->zero_rate;
+ rd_stats->dist = rd_stats->sse;
rd_stats->skip = 1;
}
if (this_rd > ref_best_rd) is_cost_valid = 0;