that should be 0x8000
This commit is contained in:
parent
faf3c0f2e0
commit
b117bb8f58
|
@ -659,13 +659,13 @@ s32 SPUChannel::Run()
|
||||||
|
|
||||||
case AudioInterpolation::SNESGaussian: {
|
case AudioInterpolation::SNESGaussian: {
|
||||||
// Avoid clipping (from fullsnes)
|
// Avoid clipping (from fullsnes)
|
||||||
#define CLAMP(s) (std::clamp((s) >> 1, -0x3FFA, 0x3FF8))
|
#define CLAMP(s) (std::clamp((s) >> 1, -0x3FFA, 0x3FF8))
|
||||||
s32 out = (InterpSNESGauss[0x0FF - samplepos] * CLAMP(PrevSample[2]) >> 10);
|
s32 out = (InterpSNESGauss[0x0FF - samplepos] * CLAMP(PrevSample[2]) >> 10);
|
||||||
out = out + ((InterpSNESGauss[0x1FF - samplepos] * CLAMP(PrevSample[1])) >> 10);
|
out = out + ((InterpSNESGauss[0x1FF - samplepos] * CLAMP(PrevSample[1])) >> 10);
|
||||||
out = out + ((InterpSNESGauss[0x100 + samplepos] * CLAMP(PrevSample[0])) >> 10);
|
out = out + ((InterpSNESGauss[0x100 + samplepos] * CLAMP(PrevSample[0])) >> 10);
|
||||||
out = out + ((InterpSNESGauss[0x000 + samplepos] * CLAMP(val)) >> 10);
|
out = out + ((InterpSNESGauss[0x000 + samplepos] * CLAMP(val)) >> 10);
|
||||||
val = std::clamp(out, -0x7FFF, 0x7FFF);
|
val = std::clamp(out, -0x8000, 0x7FFF);
|
||||||
#undef CLAMP
|
#undef CLAMP
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue