Merge pull request #21 from xddxdd/fix-stereo3dsurround

Fix Stereo3DSurround remainder handling
This commit is contained in:
Iscle 2024-04-10 00:35:49 +02:00 committed by GitHub
commit 0aebad3049
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -28,14 +28,14 @@ void Stereo3DSurround::Process(float *samples, uint32_t size) {
}
if (remainder > 0) {
for (uint32_t i = pairs; i < pairs + remainder; i++) {
float a = samples[2 * i];
float b = samples[2 * i + 1];
for (uint32_t i = 4 * pairs; i < 2 * size; i += 2) {
float a = samples[i];
float b = samples[i + 1];
float c = this->coeffLeft * (a + b);
float d = this->coeffRight * (b - a);
samples[2 * i] = c - d;
samples[2 * i + 1] = c + d;
samples[i] = c - d;
samples[i + 1] = c + d;
}
}
}