summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_encodemb.c
diff options
context:
space:
mode:
authorJingning Han <jingning@google.com>2013-07-15 11:28:46 -0700
committerJingning Han <jingning@google.com>2013-07-15 11:32:14 -0700
commit043e0f9dad1106b60ba3e58dfc4075ed261080dc (patch)
tree5bb1d2116ecb54645b280064e462b4acb0378c3f /vp9/encoder/vp9_encodemb.c
parentfaff6ed0fbb01ece1331021b749ec2f9114332ff (diff)
downloadlibvpx-043e0f9dad1106b60ba3e58dfc4075ed261080dc.tar
libvpx-043e0f9dad1106b60ba3e58dfc4075ed261080dc.tar.gz
libvpx-043e0f9dad1106b60ba3e58dfc4075ed261080dc.tar.bz2
libvpx-043e0f9dad1106b60ba3e58dfc4075ed261080dc.zip
Skip inter-coded block reconstruction in rd loop
Skip the inverse transform and reconstruction of inter-mode coded blocks in the rate-distortion optimization loop, when skip_encode_sb feature is turned on. This provides about 1% speed-up at speed 0, and 1.5% speed-up at speed 1. No performance change in both settings. Change-Id: I2932718bf4d007163702b61b16b6ff100cf9d007
Diffstat (limited to 'vp9/encoder/vp9_encodemb.c')
-rw-r--r--vp9/encoder/vp9_encodemb.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_encodemb.c b/vp9/encoder/vp9_encodemb.c
index 6ca8e6eb2..24f1f42ec 100644
--- a/vp9/encoder/vp9_encodemb.c
+++ b/vp9/encoder/vp9_encodemb.c
@@ -493,6 +493,9 @@ static void encode_block(int plane, int block, BLOCK_SIZE_TYPE bsize,
if (x->optimize)
vp9_optimize_b(plane, block, bsize, ss_txfrm_size, args->cm, x, args->ctx);
+ if (x->skip_encode)
+ return;
+
switch (ss_txfrm_size / 2) {
case TX_32X32:
vp9_short_idct32x32_add(dqcoeff, dst, pd->dst.stride);