aboutsummaryrefslogtreecommitdiff
path: root/src/audio_core/algorithm/interpolate.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2020-02-28 16:07:10 -0500
committerGitHub <noreply@github.com>2020-02-28 16:07:10 -0500
commitca7618684ce4be87673653e31631cafd487d7176 (patch)
tree9bdfe64cea8daf6debcbaee53425e3f07e26502b /src/audio_core/algorithm/interpolate.h
parentc7db1ef5653b783980ebea8e65b175e36cc5f870 (diff)
parent1989e1b9acab221718e10e1d4aecc6e9cd2acae1 (diff)
Merge pull request #3448 from bunnei/fix-audio-interp-2
audio_core: interpolate: Improvements to fix audio crackling.
Diffstat (limited to 'src/audio_core/algorithm/interpolate.h')
-rw-r--r--src/audio_core/algorithm/interpolate.h7
1 files changed, 6 insertions, 1 deletions
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 <array>
#include <vector>
+
#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<std::array<s16, 2>, history_size> history{};
+ double position{};
+ s32 fraction{};
};
/// Interpolates input signal to produce output signal.