1extern float decwin[512+32]; 2 3int 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