summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYaowu Xu <yaowu@google.com>2012-02-15 15:01:35 -0800
committerYaowu Xu <yaowu@google.com>2012-02-16 07:03:56 -0800
commit62a78f0342ca45fc295aa63bbc4d6974b0c57da7 (patch)
tree21a1d7c80091bf3316fd4260bd91cfda1dd33c5e
parent454c7abc1ae56134019f2a26fac6db9bcb1627d4 (diff)
downloadlibvpx-62a78f0342ca45fc295aa63bbc4d6974b0c57da7.tar
libvpx-62a78f0342ca45fc295aa63bbc4d6974b0c57da7.tar.gz
libvpx-62a78f0342ca45fc295aa63bbc4d6974b0c57da7.tar.bz2
libvpx-62a78f0342ca45fc295aa63bbc4d6974b0c57da7.zip
re-scaled 2nd order haar transform
During the work of extend_qrange, we have rolled a factor of 2 from quantization/dequatnization into 2nd order walsh-hadamard transform. This commit does the same for the 2nd order haar transform. so they can share the same quantizaiton process as the 2nd order WHT. Change-Id: I734af4a20ea8149a01b5b1971a065092977dfe33
-rw-r--r--vp8/common/idctllm.c8
-rw-r--r--vp8/encoder/dct.c8
2 files changed, 8 insertions, 8 deletions
diff --git a/vp8/common/idctllm.c b/vp8/common/idctllm.c
index 22c9baa46..e21af6871 100644
--- a/vp8/common/idctllm.c
+++ b/vp8/common/idctllm.c
@@ -487,10 +487,10 @@ void vp8_short_ihaar2x2_c(short *input, short *output, int pitch)
op[i] = 0;
}
- op[0] = (ip[0] + ip[1] + ip[4] + ip[8])>>2;
- op[1] = (ip[0] - ip[1] + ip[4] - ip[8])>>2;
- op[4] = (ip[0] + ip[1] - ip[4] - ip[8])>>2;
- op[8] = (ip[0] - ip[1] - ip[4] + ip[8])>>2;
+ op[0] = (ip[0] + ip[1] + ip[4] + ip[8])>>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;
}
void vp8_short_ihaar2x2_1_c(short *input, short *output, int pitch)
diff --git a/vp8/encoder/dct.c b/vp8/encoder/dct.c
index d6b3e77c5..b537835da 100644
--- a/vp8/encoder/dct.c
+++ b/vp8/encoder/dct.c
@@ -120,10 +120,10 @@ void vp8_short_fhaar2x2_c(short *input, short *output, int pitch) //pitch = 8
op1[i] = 0;
}
- op1[0]=ip1[0] + ip1[1] + ip1[4] + ip1[8];
- op1[1]=ip1[0] - ip1[1] + ip1[4] - ip1[8];
- op1[4]=ip1[0] + ip1[1] - ip1[4] - ip1[8];
- op1[8]=ip1[0] - ip1[1] - ip1[4] + ip1[8];
+ op1[0]=(ip1[0] + ip1[1] + ip1[4] + ip1[8])>>1;
+ op1[1]=(ip1[0] - ip1[1] + ip1[4] - ip1[8])>>1;
+ op1[4]=(ip1[0] + ip1[1] - ip1[4] - ip1[8])>>1;
+ op1[8]=(ip1[0] - ip1[1] - ip1[4] + ip1[8])>>1;
}
#endif