diff options
Diffstat (limited to 'src/audio_core/renderer')
| -rw-r--r-- | src/audio_core/renderer/command/effect/biquad_filter.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/audio_core/renderer/command/effect/biquad_filter.cpp b/src/audio_core/renderer/command/effect/biquad_filter.cpp index 52f775bfa..dea6423dc 100644 --- a/src/audio_core/renderer/command/effect/biquad_filter.cpp +++ b/src/audio_core/renderer/command/effect/biquad_filter.cpp | |||
| @@ -20,8 +20,8 @@ namespace AudioCore::AudioRenderer { | |||
| 20 | void ApplyBiquadFilterFloat(std::span<s32> output, std::span<const s32> input, | 20 | void ApplyBiquadFilterFloat(std::span<s32> output, std::span<const s32> input, |
| 21 | std::array<s16, 3>& b_, std::array<s16, 2>& a_, | 21 | std::array<s16, 3>& b_, std::array<s16, 2>& a_, |
| 22 | VoiceState::BiquadFilterState& state, const u32 sample_count) { | 22 | VoiceState::BiquadFilterState& state, const u32 sample_count) { |
| 23 | constexpr s64 min{std::numeric_limits<s32>::min()}; | 23 | constexpr f64 min{std::numeric_limits<s32>::min()}; |
| 24 | constexpr s64 max{std::numeric_limits<s32>::max()}; | 24 | constexpr f64 max{std::numeric_limits<s32>::max()}; |
| 25 | std::array<f64, 3> b{Common::FixedPoint<50, 14>::from_base(b_[0]).to_double(), | 25 | std::array<f64, 3> b{Common::FixedPoint<50, 14>::from_base(b_[0]).to_double(), |
| 26 | Common::FixedPoint<50, 14>::from_base(b_[1]).to_double(), | 26 | Common::FixedPoint<50, 14>::from_base(b_[1]).to_double(), |
| 27 | Common::FixedPoint<50, 14>::from_base(b_[2]).to_double()}; | 27 | Common::FixedPoint<50, 14>::from_base(b_[2]).to_double()}; |
| @@ -34,7 +34,7 @@ void ApplyBiquadFilterFloat(std::span<s32> output, std::span<const s32> input, | |||
| 34 | f64 in_sample{static_cast<f64>(input[i])}; | 34 | f64 in_sample{static_cast<f64>(input[i])}; |
| 35 | auto sample{in_sample * b[0] + s[0] * b[1] + s[1] * b[2] + s[2] * a[0] + s[3] * a[1]}; | 35 | auto sample{in_sample * b[0] + s[0] * b[1] + s[1] * b[2] + s[2] * a[0] + s[3] * a[1]}; |
| 36 | 36 | ||
| 37 | output[i] = static_cast<s32>(std::clamp(static_cast<s64>(sample), min, max)); | 37 | output[i] = static_cast<s32>(std::clamp(sample, min, max)); |
| 38 | 38 | ||
| 39 | s[1] = s[0]; | 39 | s[1] = s[0]; |
| 40 | s[0] = in_sample; | 40 | s[0] = in_sample; |