need coeffs computed for the input, not output array ..

This commit is contained in:
Ahmet Inan 2020-05-19 16:14:56 +02:00
commit e2eefcb98b

View file

@ -35,13 +35,13 @@ public:
void operator ()(IO *output, const IO *input, TYPE diff, int samples, int stride = 1)
{
TYPE ratio = rate / (rate + diff);
TYPE recip = TYPE(1) / ratio;
for (int i = 0; i < samples - TAPS; ++i) {
IO sum = 0;
int s0 = nearbyint(i * ratio);
TYPE x = i * ratio;
int s0 = nearbyint(x);
int s1 = s0 + TAPS;
for (int s = s0; s < s1; ++s) {
TYPE k = s * recip - i;
TYPE k = s - x;
sum += lpf(k) * input[s * stride];
}
output[(i + (TAPS - 1) / 2) * stride] = sum;