summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_rdopt.c
diff options
context:
space:
mode:
authorJim Bankoski <jimbankoski@google.com>2014-01-28 15:12:03 -0800
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2014-01-28 15:12:03 -0800
commitd9201cb10915574e7e93e943318818ec6d86b65e (patch)
tree51489d4db71d57da8e65b1433ce9ca47a0e1aeef /vp9/encoder/vp9_rdopt.c
parent4aaf4841f2ddfee3860087dabebf7173dc4f0708 (diff)
parent79af1858911bff4b151e177fc3f59c986d4e1572 (diff)
downloadlibvpx-d9201cb10915574e7e93e943318818ec6d86b65e.tar
libvpx-d9201cb10915574e7e93e943318818ec6d86b65e.tar.gz
libvpx-d9201cb10915574e7e93e943318818ec6d86b65e.tar.bz2
libvpx-d9201cb10915574e7e93e943318818ec6d86b65e.zip
Merge "Reintroduce modelling for some speeds"
Diffstat (limited to 'vp9/encoder/vp9_rdopt.c')
-rw-r--r--vp9/encoder/vp9_rdopt.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c
index da4cd3ad4..0c80687f8 100644
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -419,12 +419,22 @@ static void model_rd_for_sb(VP9_COMP *cpi, BLOCK_SIZE bsize,
struct macroblock_plane *const p = &x->plane[i];
struct macroblockd_plane *const pd = &xd->plane[i];
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);
+
if (i == 0)
x->pred_sse[ref] = sse;
-
- dist_sum += (int)sse;
+ if (cpi->compressor_speed > 2) {
+ dist_sum += (int)sse;
+ } else {
+ int rate;
+ int64_t dist;
+ model_rd_from_var_lapndz(sse, 1 << num_pels_log2_lookup[bs],
+ pd->dequant[1] >> 3, &rate, &dist);
+ rate_sum += rate;
+ dist_sum += (int)dist;
+ }
}
*out_rate_sum = rate_sum;