Commit efa9abd0 authored by Yaowu Xu's avatar Yaowu Xu
Browse files

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
parent 62a78f03
......@@ -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;
......
......@@ -120,7 +120,7 @@ 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])>>1;
op1[0]=(ip1[0] + ip1[1] + ip1[4] + ip1[8] + 1)>>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;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment