diff options
author | Mary-nyan <mary@mary.zone> | 2022-12-06 15:04:25 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-06 15:04:25 +0100 |
commit | 40311310d1a6d2fde2ee9f04bfa1f21ced7cbee2 (patch) | |
tree | beec52c0a73006552aae3b1d9538240ddc89e6ae /Ryujinx.Audio/Renderer/Server/CommandProcessingTimeEstimatorVersion5.cs | |
parent | dde9bb5c69d2e1a70df82af8accd3d01fb94b78d (diff) |
amadeus: Add missing compressor effect from REV11 (#4010)1.1.435
* 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/Server/CommandProcessingTimeEstimatorVersion5.cs')
-rw-r--r-- | Ryujinx.Audio/Renderer/Server/CommandProcessingTimeEstimatorVersion5.cs | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/Ryujinx.Audio/Renderer/Server/CommandProcessingTimeEstimatorVersion5.cs b/Ryujinx.Audio/Renderer/Server/CommandProcessingTimeEstimatorVersion5.cs index 961d92aa..2ed7e6a5 100644 --- a/Ryujinx.Audio/Renderer/Server/CommandProcessingTimeEstimatorVersion5.cs +++ b/Ryujinx.Audio/Renderer/Server/CommandProcessingTimeEstimatorVersion5.cs @@ -232,5 +232,79 @@ namespace Ryujinx.Audio.Renderer.Server } } } + + public override uint Estimate(CompressorCommand command) + { + Debug.Assert(_sampleCount == 160 || _sampleCount == 240); + + if (_sampleCount == 160) + { + if (command.Enabled) + { + switch (command.Parameter.ChannelCount) + { + case 1: + return 34431; + case 2: + return 44253; + case 4: + return 63827; + case 6: + return 83361; + default: + throw new NotImplementedException($"{command.Parameter.ChannelCount}"); + } + } + else + { + switch (command.Parameter.ChannelCount) + { + case 1: + return (uint)630.12f; + case 2: + return (uint)638.27f; + case 4: + return (uint)705.86f; + case 6: + return (uint)782.02f; + default: + throw new NotImplementedException($"{command.Parameter.ChannelCount}"); + } + } + } + + if (command.Enabled) + { + switch (command.Parameter.ChannelCount) + { + case 1: + return 51095; + case 2: + return 65693; + case 4: + return 95383; + case 6: + return 124510; + default: + throw new NotImplementedException($"{command.Parameter.ChannelCount}"); + } + } + else + { + switch (command.Parameter.ChannelCount) + { + case 1: + return (uint)840.14f; + case 2: + return (uint)826.1f; + case 4: + return (uint)901.88f; + case 6: + return (uint)965.29f; + default: + throw new NotImplementedException($"{command.Parameter.ChannelCount}"); + } + } + } } }
\ No newline at end of file |