1 int fir4_c[] = {1129,60034,64720,5595,494,59867,65370,5724,5724,65370,59867,494,5595,64720,60034,1129};
\r
2 int fir4_in[] = {0, 0, 16384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7986, 8993, 1808, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096};
\r
4 int fir4(int fir4_in[], int fir4_c[], int fir4_out[], int size) {
\r
5 int i,j, tmp1, tmp2, tmp3, tmp4;
\r
10 for(i = 0; i < 16; i = i+1){
\r
14 for (j = 0; j < size; j = j+1) {
\r
15 x[adx] = fir4_in[j];
\r
18 for(i = 0; i < 16; i = i+4){
\r
19 tmp1 = (x[adx]*fir4_c[i]);
\r
20 tmp2 = (x[(adx+1)%16]*fir4_c[i+1]);
\r
21 tmp3 = (x[(adx+2)%16]*fir4_c[i+2]);
\r
22 tmp4 = (x[(adx+3)%16]*fir4_c[i+3]);
\r
23 res = res + tmp1 + tmp2 + tmp3 + tmp4;
\r
27 fir4_out[j] = res >> 16;
\r
34 return fir4(fir4_in,fir4_c,fir4_out,16);
\r