shithub: libvpx

Download patch

ref: 9d4c26531b600a98c236833269a4ca81e1cc0d39
parent: 425316bcef054ac00d52f68137e75262fb1df52c
author: Scott LaVarnway <slavarnway@google.com>
date: Thu Jan 24 12:09:56 EST 2013

Added eob == 0 check to vp9_dequant_idct_add_32x32_c

Added a quick eob == 0 check.  Once the integer version of the dct32x32 is
complete, we can check for other eob cases.

For the 1080p clip used, the decoder performance improved by 4%.

Change-Id: I9390b6ed3c8be0c0c0a0c44c578d9a031d6e026e

--- a/vp9/decoder/vp9_dequantize.c
+++ b/vp9/decoder/vp9_dequantize.c
@@ -354,13 +354,15 @@
   int16_t output[1024];
   int i;
 
-  input[0]= input[0] * dq[0] / 2;
-  for (i = 1; i < 1024; i++)
-    input[i] = input[i] * dq[1] / 2;
-  vp9_short_idct32x32_c(input, output, 64);
-  vpx_memset(input, 0, 2048);
+  if (eob) {
+    input[0]= input[0] * dq[0] / 2;
+    for (i = 1; i < 1024; i++)
+      input[i] = input[i] * dq[1] / 2;
+    vp9_short_idct32x32_c(input, output, 64);
+    vpx_memset(input, 0, 2048);
 
-  add_residual(output, pred, pitch, dest, stride, 32, 32);
+    add_residual(output, pred, pitch, dest, stride, 32, 32);
+  }
 }
 
 void vp9_dequant_idct_add_uv_block_16x16_c(int16_t *q, const int16_t *dq,