ref: 02509024750ea8f637d6334308620a6cd32e405a
parent: 6849cde89328b70ed2fd0ffd9cd225ead6025fd9
author: Jingning Han <[email protected]>
date: Fri Mar 7 05:34:34 EST 2014
Clearn up model_rd in non-RD coding mode The rate-distortion model in non-RD coding mode is only applied to luma component. This commit removed a few redundant addition steps. Change-Id: Id8edc0a47c2dbef8deba43debe2c95db39454de3
--- a/vp9/encoder/vp9_pickmode.c
+++ b/vp9/encoder/vp9_pickmode.c
@@ -193,9 +193,9 @@
// Note our transform coeffs are 8 times an orthogonal transform.
// Hence quantizer step is also 8 times. To get effective quantizer
// we need to divide by 8 before sending to modeling function.
- int64_t rate_sum = 0;
- int64_t dist_sum = 0;
unsigned int sse;
+ int rate;
+ int64_t dist;
struct macroblock_plane *const p = &x->plane[0];
@@ -205,18 +205,11 @@
(void) cpi->fn_ptr[bs].vf(p->src.buf, p->src.stride,
pd->dst.buf, pd->dst.stride, &sse);
- {
- int rate;
- int64_t dist;
- vp9_model_rd_from_var_lapndz(sse, 1 << num_pels_log2_lookup[bs],
- pd->dequant[1] >> 3, &rate, &dist);
- rate_sum += rate;
- dist_sum += dist;
- }
+ vp9_model_rd_from_var_lapndz(sse, 1 << num_pels_log2_lookup[bs],
+ pd->dequant[1] >> 3, &rate, &dist);
-
- *out_rate_sum = (int)rate_sum;
- *out_dist_sum = dist_sum << 4;
+ *out_rate_sum = rate;
+ *out_dist_sum = dist << 4;
}
// TODO(jingning) placeholder for inter-frame non-RD mode decision.
@@ -357,5 +350,6 @@
}
}
}
+
return INT64_MAX;
}