LimiterStatistics.cs 840 B

12345678910111213141516171819202122232425262728293031
  1. using Ryujinx.Common.Memory;
  2. using System.Runtime.InteropServices;
  3. namespace Ryujinx.Audio.Renderer.Parameter.Effect
  4. {
  5. /// <summary>
  6. /// Effect result state for <seealso cref="Common.EffectType.Limiter"/>.
  7. /// </summary>
  8. [StructLayout(LayoutKind.Sequential, Pack = 1)]
  9. public struct LimiterStatistics
  10. {
  11. /// <summary>
  12. /// The max input sample value recorded by the limiter.
  13. /// </summary>
  14. public Array6<float> InputMax;
  15. /// <summary>
  16. /// Compression gain min value.
  17. /// </summary>
  18. public Array6<float> CompressionGainMin;
  19. /// <summary>
  20. /// Reset the statistics.
  21. /// </summary>
  22. public void Reset()
  23. {
  24. InputMax.AsSpan().Fill(0.0f);
  25. CompressionGainMin.AsSpan().Fill(1.0f);
  26. }
  27. }
  28. }