From 9d4c26531b600a98c236833269a4ca81e1cc0d39 Mon Sep 17 00:00:00 2001 From: Scott LaVarnway Date: Thu, 24 Jan 2013 17:09:56 -0800 Subject: [PATCH] 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 --- vp9/decoder/vp9_dequantize.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/vp9/decoder/vp9_dequantize.c b/vp9/decoder/vp9_dequantize.c index 354d2bd36..cb52271b3 100644 --- a/vp9/decoder/vp9_dequantize.c +++ b/vp9/decoder/vp9_dequantize.c @@ -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, -- 2.40.0