mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-12-15 10:36:58 +00:00
Update audio renderer to REV13: Add support for compressor statistics and volume reset (#7372)
* Update audio renderer to REV13: Add support for compressor statistics and volume reset * XML docs * Disable stats reset * Wrong comment * Fix more XML docs * PR feedback
This commit is contained in:
parent
7d158acc3b
commit
a2c0035013
20 changed files with 352 additions and 88 deletions
|
|
@ -0,0 +1,38 @@
|
|||
using Ryujinx.Common.Memory;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace Ryujinx.Audio.Renderer.Parameter.Effect
|
||||
{
|
||||
/// <summary>
|
||||
/// Effect result state for <seealso cref="Common.EffectType.Compressor"/>.
|
||||
/// </summary>
|
||||
[StructLayout(LayoutKind.Sequential, Pack = 1)]
|
||||
public struct CompressorStatistics
|
||||
{
|
||||
/// <summary>
|
||||
/// Maximum input mean value since last reset.
|
||||
/// </summary>
|
||||
public float MaximumMean;
|
||||
|
||||
/// <summary>
|
||||
/// Minimum output gain since last reset.
|
||||
/// </summary>
|
||||
public float MinimumGain;
|
||||
|
||||
/// <summary>
|
||||
/// Last processed input sample, per channel.
|
||||
/// </summary>
|
||||
public Array6<float> LastSamples;
|
||||
|
||||
/// <summary>
|
||||
/// Reset the statistics.
|
||||
/// </summary>
|
||||
/// <param name="channelCount">Number of channels to reset.</param>
|
||||
public void Reset(ushort channelCount)
|
||||
{
|
||||
MaximumMean = 0.0f;
|
||||
MinimumGain = 1.0f;
|
||||
LastSamples.AsSpan()[..channelCount].Clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue