diff options
author | Jim Bankoski <jimbankoski@google.com> | 2014-02-14 09:08:52 -0800 |
---|---|---|
committer | Gerrit Code Review <gerrit@gerrit.golo.chromium.org> | 2014-02-14 09:08:52 -0800 |
commit | 5750f78d6107f924ca4c808c95d7a6d31f59892d (patch) | |
tree | 00678bc1231c8589467e22b1a65fca25e8f7705f /vp9/encoder/vp9_rdopt.c | |
parent | e727bcf7ceaa96c96bacd4a36b2a4ee684fb07b7 (diff) | |
parent | 9e190dfbfe5a5d4662370f6580ff08de3c0a8d01 (diff) | |
download | libvpx-5750f78d6107f924ca4c808c95d7a6d31f59892d.tar libvpx-5750f78d6107f924ca4c808c95d7a6d31f59892d.tar.gz libvpx-5750f78d6107f924ca4c808c95d7a6d31f59892d.tar.bz2 libvpx-5750f78d6107f924ca4c808c95d7a6d31f59892d.zip |
Merge "fast approximate model_rd_from_var_lapndz"
Diffstat (limited to 'vp9/encoder/vp9_rdopt.c')
-rw-r--r-- | vp9/encoder/vp9_rdopt.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c index f0a861d60..d617f783d 100644 --- a/vp9/encoder/vp9_rdopt.c +++ b/vp9/encoder/vp9_rdopt.c @@ -444,8 +444,21 @@ static void model_rd_for_sb(VP9_COMP *cpi, BLOCK_SIZE bsize, if (i == 0) x->pred_sse[ref] = sse; - if (cpi->sf.use_pick_mode) { - dist_sum += (int)sse; + + // Fast approximate the modelling function. + if (cpi->oxcf.cpu_used < -4) { + int rate; + int64_t dist; + int64_t square_error = sse; + int quantizer = (pd->dequant[1] >> 3); + + if ( quantizer < 120) + rate = (square_error * (280-quantizer) )>> 8; + else + rate = 0; + dist = (square_error * quantizer) >> 8; + rate_sum += rate; + dist_sum += dist; } else { int rate; int64_t dist; |