summaryrefslogtreecommitdiff
path: root/vp8/common
diff options
context:
space:
mode:
authorYaowu Xu <yaowu@google.com>2012-02-15 17:35:48 -0800
committerYaowu Xu <yaowu@google.com>2012-02-16 07:03:57 -0800
commitefa9abd02891855afc40670cc874922a5c1fcb1b (patch)
treeaab39e4d8e5d4faaad9febf21cd7fca7cbcf62c2 /vp8/common
parent62a78f0342ca45fc295aa63bbc4d6974b0c57da7 (diff)
downloadlibvpx-efa9abd02891855afc40670cc874922a5c1fcb1b.tar
libvpx-efa9abd02891855afc40670cc874922a5c1fcb1b.tar.gz
libvpx-efa9abd02891855afc40670cc874922a5c1fcb1b.tar.bz2
libvpx-efa9abd02891855afc40670cc874922a5c1fcb1b.zip
optmized rounding for transforms
the changes are still temporary, the final transforms, especially inverse ones should take in account both accuracy, complexity, and sign-bias, which should be decided at a later time. Change-Id: I116b0c70b25f5ee324ae5713d4564f5d0aa27151
Diffstat (limited to 'vp8/common')
-rw-r--r--vp8/common/idctllm.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/vp8/common/idctllm.c b/vp8/common/idctllm.c
index e21af6871..8097c4fb1 100644
--- a/vp8/common/idctllm.c
+++ b/vp8/common/idctllm.c
@@ -396,7 +396,8 @@ void vp8_short_idct8x8_c(short *coefs, short *block, int pitch)
{
for (j = 0; j < TX_DIM; j++)
{
- X[i * TX_DIM + j] = (int)(coefs[i * TX_DIM + j]+2)>>2;
+ X[i * TX_DIM + j] = (int)(coefs[i * TX_DIM + j]+1
+ + (coefs[i * TX_DIM + j]<0))>>2;
}
}
for (i = 0; i < 8; i++)
@@ -487,7 +488,7 @@ void vp8_short_ihaar2x2_c(short *input, short *output, int pitch)
op[i] = 0;
}
- op[0] = (ip[0] + ip[1] + ip[4] + ip[8])>>1;
+ op[0] = (ip[0] + ip[1] + ip[4] + ip[8] + 1)>>1;
op[1] = (ip[0] - ip[1] + ip[4] - ip[8])>>1;
op[4] = (ip[0] + ip[1] - ip[4] - ip[8])>>1;
op[8] = (ip[0] - ip[1] - ip[4] + ip[8])>>1;