diff options
| author | merry <git@mary.rs> | 2023-01-15 04:20:49 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-15 05:20:49 +0100 |
| commit | 41bba5310a5324f54fa5c0200aff2bf697ced000 (patch) | |
| tree | a1db4c44f1e5f1b090c8ddabd8ebc07fb275966d /Ryujinx.Audio/Renderer/Server | |
| parent | 8071c8c8c044ee56bc7578a4ba3178d2d03733db (diff) | |
Audren: Implement polyphase upsampler (#4256)
* Audren: Implement polyphase upsampler
* prefer shifting to modulo
* prefer MathF
* fix nits
* rm ResampleForUpsampler
* oop
* Array20
* nits
Diffstat (limited to 'Ryujinx.Audio/Renderer/Server')
| -rw-r--r-- | Ryujinx.Audio/Renderer/Server/Upsampler/UpsamplerBufferState.cs | 14 | ||||
| -rw-r--r-- | Ryujinx.Audio/Renderer/Server/Upsampler/UpsamplerState.cs | 5 |
2 files changed, 19 insertions, 0 deletions
diff --git a/Ryujinx.Audio/Renderer/Server/Upsampler/UpsamplerBufferState.cs b/Ryujinx.Audio/Renderer/Server/Upsampler/UpsamplerBufferState.cs new file mode 100644 index 00000000..a45fa8e5 --- /dev/null +++ b/Ryujinx.Audio/Renderer/Server/Upsampler/UpsamplerBufferState.cs @@ -0,0 +1,14 @@ +using Ryujinx.Common.Memory; + +namespace Ryujinx.Audio.Renderer.Server.Upsampler +{ + public struct UpsamplerBufferState + { + public const int HistoryLength = 20; + + public float Scale; + public Array20<float> History; + public bool Initialized; + public int Phase; + } +}
\ No newline at end of file diff --git a/Ryujinx.Audio/Renderer/Server/Upsampler/UpsamplerState.cs b/Ryujinx.Audio/Renderer/Server/Upsampler/UpsamplerState.cs index 065e4838..e508f35b 100644 --- a/Ryujinx.Audio/Renderer/Server/Upsampler/UpsamplerState.cs +++ b/Ryujinx.Audio/Renderer/Server/Upsampler/UpsamplerState.cs @@ -38,6 +38,11 @@ namespace Ryujinx.Audio.Renderer.Server.Upsampler public ushort[] InputBufferIndices; /// <summary> + /// State of each input buffer index kept across invocations of the upsampler. + /// </summary> + public UpsamplerBufferState[] BufferStates; + + /// <summary> /// Create a new <see cref="UpsamplerState"/>. /// </summary> /// <param name="manager">The upsampler manager.</param> |
