diff options
author | Jim Bankoski <jimbankoski@google.com> | 2014-01-28 13:51:06 -0800 |
---|---|---|
committer | Jim Bankoski <jimbankoski@google.com> | 2014-01-28 13:51:06 -0800 |
commit | 79af1858911bff4b151e177fc3f59c986d4e1572 (patch) | |
tree | 9bb2f315e7dbd48a94d4eff02b89d4707175508f /vp9/encoder/vp9_rdopt.c | |
parent | 00bfacb769d95c89b361aa57a9f0da10bc2810a3 (diff) | |
download | libvpx-79af1858911bff4b151e177fc3f59c986d4e1572.tar libvpx-79af1858911bff4b151e177fc3f59c986d4e1572.tar.gz libvpx-79af1858911bff4b151e177fc3f59c986d4e1572.tar.bz2 libvpx-79af1858911bff4b151e177fc3f59c986d4e1572.zip |
Reintroduce modelling for some speeds
Change-Id: Ia8fa3961eec34545465018281dc022bc6f73869a
Diffstat (limited to 'vp9/encoder/vp9_rdopt.c')
-rw-r--r-- | vp9/encoder/vp9_rdopt.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c index ebe5f80f2..8d1057cc2 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; |