Browse Source

Rename inverse quantization lookup class

pull/2633/head
Ynse Hoornenborg 1 year ago
parent
commit
5143be7242
  1. 6
      src/ImageSharp/Formats/Heif/Av1/Pipeline/Quantification/Av1InverseQuantizationLookup.cs
  2. 4
      src/ImageSharp/Formats/Heif/Av1/Pipeline/Quantification/Av1InverseQuantizer.cs

6
src/ImageSharp/Formats/Heif/Av1/Pipeline/Quantification/Av1QuantizationConstants.cs → 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
{
/// <summary>
/// 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<int> GetQuantizationMatrix(int level, Av1Plane plane, Av1TransformSize transformSize)
// Transform size must be adjusted.
=> InverseWeightTable[level][Math.Min(1, (int)plane)][(int)transformSize];
}

4
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<int> 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];

Loading…
Cancel
Save