]> granicus.if.org Git - libvpx/commitdiff
Added eob == 0 check to vp9_dequant_idct_add_32x32_c
authorScott LaVarnway <slavarnway@google.com>
Fri, 25 Jan 2013 01:09:56 +0000 (17:09 -0800)
committerScott LaVarnway <slavarnway@google.com>
Fri, 25 Jan 2013 01:09:56 +0000 (17:09 -0800)
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

vp9/decoder/vp9_dequantize.c

index 354d2bd3657a3aa084c6371f19c9d18f1986e010..cb52271b37496152d45829e0fe3294dcbaa01b59 100644 (file)
@@ -354,13 +354,15 @@ void vp9_dequant_idct_add_32x32_c(int16_t *input, const int16_t *dq,
   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);
-
-  add_residual(output, pred, pitch, dest, stride, 32, 32);
+  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);
+  }
 }
 
 void vp9_dequant_idct_add_uv_block_16x16_c(int16_t *q, const int16_t *dq,