- *samples = ((prev1[ch]*factor1
- + prev2[ch]*factor2) >> 11) + (sampledat << exp);
- prev2[ch] = prev1[ch];
- prev1[ch] = *samples++;
+ sampledat = ((prev[ch][0]*factor1
+ + prev[ch][1]*factor2) >> 11) + (sampledat>>exp);
+ CLAMP_TO_SHORT(sampledat);
+ *samples = sampledat;
+ prev[ch][1] = prev[ch][0];
+ prev[ch][0] = *samples++;