ref: 1ff4a5b3a255515e61ef0be19ece7307c9e9354b
parent: b25e4061e8597312f012c98db932cd32329c23cc
parent: 7686c950b563b63bd39f3699558bb22ba965274b
author: Jingning Han <[email protected]>
date: Thu Mar 13 05:14:13 EDT 2014
Merge "Tune rate-distortion modeling for non-RD mode decision"
--- a/vp9/encoder/vp9_pickmode.c
+++ b/vp9/encoder/vp9_pickmode.c
@@ -207,14 +207,14 @@
struct macroblockd_plane *const pd = &xd->plane[0];
const BLOCK_SIZE bs = get_plane_block_size(bsize, pd);
- (void) cpi->fn_ptr[bs].vf(p->src.buf, p->src.stride,
- pd->dst.buf, pd->dst.stride, &sse);
+ int var = cpi->fn_ptr[bs].vf(p->src.buf, p->src.stride,
+ pd->dst.buf, pd->dst.stride, &sse);
- vp9_model_rd_from_var_lapndz(sse, 1 << num_pels_log2_lookup[bs],
+ vp9_model_rd_from_var_lapndz(var + sse, 1 << num_pels_log2_lookup[bs],
pd->dequant[1] >> 3, &rate, &dist);
*out_rate_sum = rate;
- *out_dist_sum = dist << 4;
+ *out_dist_sum = dist << 3;
}
// TODO(jingning) placeholder for inter-frame non-RD mode decision.