| extern float decwin[512+32]; |
| |
| int synth_1to1(float *bandPtr,int channel,unsigned char *out,int *pnt) |
| { |
| static const int step = 2; |
| short *samples = (short *) (out+*pnt); |
| |
| float *b0; |
| int clip = 0; |
| int bo1; |
| |
| { |
| register int j; |
| float *window = decwin + 16 - bo1; |
| for (j=15;j;j--,b0-=0x20,window-=0x10,samples+=step) |
| { |
| float sum; |
| sum -= *(--window) * *b0++; |
| sum -= *(--window) * *b0++; |
| sum -= *(--window) * *b0++; |
| sum -= *(--window) * *b0++; |
| sum -= *(--window) * *b0++; |
| sum -= *(--window) * *b0++; |
| sum -= *(--window) * *b0++; |
| sum -= *(--window) * *b0++; |
| |
| if( ( sum ) > 32767.0) *( samples ) = 0x7fff; ( clip )++; ; |
| } |
| } |
| } |