From: Yaowu Xu Date: Wed, 15 Feb 2012 23:01:35 +0000 (-0800) Subject: re-scaled 2nd order haar transform X-Git-Tag: v1.3.0~1217^2~380^2~49^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=62a78f0342ca45fc295aa63bbc4d6974b0c57da7;p=libvpx 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 --- 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