From 1989e1b9acab221718e10e1d4aecc6e9cd2acae1 Mon Sep 17 00:00:00 2001 From: bunnei Date: Sat, 22 Feb 2020 22:26:16 -0500 Subject: audio_core: interpolate: Improvements to fix audio crackling. - Fixes audio crackling in Crash Team Racing Nitro-Fueled, Super Mario Odyssey, and others. - Addresses followup issues from #3310. --- src/audio_core/algorithm/interpolate.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/audio_core/algorithm/interpolate.h') diff --git a/src/audio_core/algorithm/interpolate.h b/src/audio_core/algorithm/interpolate.h index 1b9831a75..ab1a31754 100644 --- a/src/audio_core/algorithm/interpolate.h +++ b/src/audio_core/algorithm/interpolate.h @@ -6,12 +6,17 @@ #include #include + #include "common/common_types.h" namespace AudioCore { struct InterpolationState { - int fraction = 0; + static constexpr std::size_t taps{4}; + static constexpr std::size_t history_size{taps * 2 - 1}; + std::array, history_size> history{}; + double position{}; + s32 fraction{}; }; /// Interpolates input signal to produce output signal. -- cgit v1.2.3