From 5143be724213e4c7a72ddd9c7b4fcb91c3ccd418 Mon Sep 17 00:00:00 2001 From: Ynse Hoornenborg Date: Thu, 2 Jan 2025 23:52:58 +0100 Subject: [PATCH] Rename inverse quantization lookup class --- ...tizationConstants.cs => Av1InverseQuantizationLookup.cs} | 6 ++++-- .../Heif/Av1/Pipeline/Quantification/Av1InverseQuantizer.cs | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) rename src/ImageSharp/Formats/Heif/Av1/Pipeline/Quantification/{Av1QuantizationConstants.cs => Av1InverseQuantizationLookup.cs} (99%) diff --git a/src/ImageSharp/Formats/Heif/Av1/Pipeline/Quantification/Av1QuantizationConstants.cs b/src/ImageSharp/Formats/Heif/Av1/Pipeline/Quantification/Av1InverseQuantizationLookup.cs similarity index 99% rename from src/ImageSharp/Formats/Heif/Av1/Pipeline/Quantification/Av1QuantizationConstants.cs rename to src/ImageSharp/Formats/Heif/Av1/Pipeline/Quantification/Av1InverseQuantizationLookup.cs index fd53e54c13..29c29b44ba 100644 --- a/src/ImageSharp/Formats/Heif/Av1/Pipeline/Quantification/Av1QuantizationConstants.cs +++ b/src/ImageSharp/Formats/Heif/Av1/Pipeline/Quantification/Av1InverseQuantizationLookup.cs @@ -6,7 +6,7 @@ using SixLabors.ImageSharp.Formats.Heif.Av1.Transform; namespace SixLabors.ImageSharp.Formats.Heif.Av1.Pipeline.Quantification; -internal class Av1QuantizationConstants +internal class Av1InverseQuantizationLookup { /// /// Gets 16 sets of quantization matrices for chroma and luma and each TX size. @@ -6796,6 +6796,8 @@ internal class Av1QuantizationConstants ] ]; - public static int[] GetQuantizationMatrix(int level, Av1Plane plane, Av1TransformSize transformSize) + public static ReadOnlySpan GetQuantizationMatrix(int level, Av1Plane plane, Av1TransformSize transformSize) + + // Transform size must be adjusted. => InverseWeightTable[level][Math.Min(1, (int)plane)][(int)transformSize]; } diff --git a/src/ImageSharp/Formats/Heif/Av1/Pipeline/Quantification/Av1InverseQuantizer.cs b/src/ImageSharp/Formats/Heif/Av1/Pipeline/Quantification/Av1InverseQuantizer.cs index 1b7f19bca9..8aa679dabd 100644 --- a/src/ImageSharp/Formats/Heif/Av1/Pipeline/Quantification/Av1InverseQuantizer.cs +++ b/src/ImageSharp/Formats/Heif/Av1/Pipeline/Quantification/Av1InverseQuantizer.cs @@ -60,8 +60,8 @@ internal class Av1InverseQuantizer short dequantAc = this.deQuantsDeltaQ.GetAc(mode.SegmentId, plane); int qmLevel = lossless || !usingQuantizationMatrix ? Av1ScanOrderConstants.QuantizationMatrixLevelCount - 1 : this.frameHeader.QuantizationParameters.QMatrix[(int)plane]; ReadOnlySpan iqMatrix = (transformType.ToClass() == Av1TransformClass.Class2D) ? - Av1QuantizationConstants.GetQuantizationMatrix(qmLevel, plane, qmTransformSize) - : Av1QuantizationConstants.GetQuantizationMatrix(Av1Constants.QuantificationMatrixLevelCount - 1, Av1Plane.Y, qmTransformSize); + Av1InverseQuantizationLookup.GetQuantizationMatrix(qmLevel, plane, qmTransformSize) + : Av1InverseQuantizationLookup.GetQuantizationMatrix(Av1Constants.QuantificationMatrixLevelCount - 1, Av1Plane.Y, qmTransformSize); int shift = transformSize.GetScale(); int coefficientCount = level[0];