summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAℓex Converse <aconverse@google.com>2015-07-31 17:59:22 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-07-31 17:59:22 +0000
commit8abd0c2a12ffde6ddceba38c981b660ee28273f2 (patch)
tree3e5c7e91e526af5d02f08f156a8a54e8ff5dc14b
parent4ac5058afca24330d2bd5f438abec8574195f9ea (diff)
parent73422d3b2d7d9c2f08d491de708662740b6b3e6d (diff)
downloadlibvpx-8abd0c2a12ffde6ddceba38c981b660ee28273f2.tar
libvpx-8abd0c2a12ffde6ddceba38c981b660ee28273f2.tar.gz
libvpx-8abd0c2a12ffde6ddceba38c981b660ee28273f2.tar.bz2
libvpx-8abd0c2a12ffde6ddceba38c981b660ee28273f2.zip
Merge "Short circuit rate_block in block_rd_txfm."
-rw-r--r--vp9/encoder/vp9_rdopt.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c
index e5c7dba28..fc8985bab 100644
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -554,6 +554,12 @@ static void block_rd_txfm(int plane, int block, BLOCK_SIZE plane_bsize,
#endif // CONFIG_VP9_HIGHBITDEPTH
}
+ rd = RDCOST(x->rdmult, x->rddiv, 0, dist);
+ if (args->this_rd + rd > args->best_rd) {
+ args->exit_early = 1;
+ return;
+ }
+
rate = rate_block(plane, block, plane_bsize, tx_size, args);
rd1 = RDCOST(x->rdmult, x->rddiv, rate, dist);
rd2 = RDCOST(x->rdmult, x->rddiv, 0, sse);