aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Audio/Renderer/Dsp/Effect/ExponentialMovingAverage.cs
diff options
context:
space:
mode:
authorMary-nyan <mary@mary.zone>2022-12-06 15:04:25 +0100
committerGitHub <noreply@github.com>2022-12-06 15:04:25 +0100
commit40311310d1a6d2fde2ee9f04bfa1f21ced7cbee2 (patch)
treebeec52c0a73006552aae3b1d9538240ddc89e6ae /Ryujinx.Audio/Renderer/Dsp/Effect/ExponentialMovingAverage.cs
parentdde9bb5c69d2e1a70df82af8accd3d01fb94b78d (diff)
amadeus: Add missing compressor effect from REV11 (#4010)
* amadeus: Add missing compressor effect from REV11 This was in my reversing notes but seems I completely forgot to implement it Also took the opportunity to simplify the Limiter effect a bit. * Remove some outdated comment * Address gdkchan's comments
Diffstat (limited to 'Ryujinx.Audio/Renderer/Dsp/Effect/ExponentialMovingAverage.cs')
-rw-r--r--Ryujinx.Audio/Renderer/Dsp/Effect/ExponentialMovingAverage.cs26
1 files changed, 26 insertions, 0 deletions
diff --git a/Ryujinx.Audio/Renderer/Dsp/Effect/ExponentialMovingAverage.cs b/Ryujinx.Audio/Renderer/Dsp/Effect/ExponentialMovingAverage.cs
new file mode 100644
index 00000000..78e46bf9
--- /dev/null
+++ b/Ryujinx.Audio/Renderer/Dsp/Effect/ExponentialMovingAverage.cs
@@ -0,0 +1,26 @@
+using System.Runtime.CompilerServices;
+
+namespace Ryujinx.Audio.Renderer.Dsp.Effect
+{
+ public struct ExponentialMovingAverage
+ {
+ private float _mean;
+
+ public ExponentialMovingAverage(float mean)
+ {
+ _mean = mean;
+ }
+
+ public float Read()
+ {
+ return _mean;
+ }
+
+ public float Update(float value, float alpha)
+ {
+ _mean += alpha * (value - _mean);
+
+ return _mean;
+ }
+ }
+}