1 extern float  decwin[512+32];
2 
synth_1to1(float * bandPtr,int channel,unsigned char * out,int * pnt)3 int synth_1to1(float  *bandPtr,int channel,unsigned char *out,int *pnt)
4 {
5   static const int step = 2;
6   short *samples = (short *) (out+*pnt);
7 
8   float  *b0;
9   int clip = 0;
10   int bo1;
11 
12   {
13     register int j;
14     float  *window = decwin + 16 - bo1;
15     for (j=15;j;j--,b0-=0x20,window-=0x10,samples+=step)
16     {
17       float  sum;
18       sum -= *(--window) * *b0++;
19       sum -= *(--window) * *b0++;
20       sum -= *(--window) * *b0++;
21       sum -= *(--window) * *b0++;
22       sum -= *(--window) * *b0++;
23       sum -= *(--window) * *b0++;
24       sum -= *(--window) * *b0++;
25       sum -= *(--window) * *b0++;
26 
27       if( ( sum ) > 32767.0) *( samples ) = 0x7fff; ( clip )++;  ;
28     }
29   }
30 }
31