Skip to content

Commit e234b00

Browse files
committed
PR feedback
1 parent d6aeba1 commit e234b00

23 files changed

+135
-135
lines changed

src/ImageSharp/Common/Helpers/Shuffle/IComponentShuffle.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,9 @@ public void RunFallbackShuffle(ReadOnlySpan<byte> source, Span<byte> dest)
8484
{
8585
ref uint sBase = ref Unsafe.As<byte, uint>(ref MemoryMarshal.GetReference(source));
8686
ref uint dBase = ref Unsafe.As<byte, uint>(ref MemoryMarshal.GetReference(dest));
87-
int n = (int)((uint)source.Length / 4);
87+
uint n = (uint)source.Length / 4;
8888

89-
for (nuint i = 0; i < (uint)n; i++)
89+
for (nuint i = 0; i < n; i++)
9090
{
9191
uint packed = Unsafe.Add(ref sBase, i);
9292

@@ -108,9 +108,9 @@ public void RunFallbackShuffle(ReadOnlySpan<byte> source, Span<byte> dest)
108108
{
109109
ref uint sBase = ref Unsafe.As<byte, uint>(ref MemoryMarshal.GetReference(source));
110110
ref uint dBase = ref Unsafe.As<byte, uint>(ref MemoryMarshal.GetReference(dest));
111-
int n = (int)((uint)source.Length / 4);
111+
uint n = (uint)source.Length / 4;
112112

113-
for (nuint i = 0; i < (uint)n; i++)
113+
for (nuint i = 0; i < n; i++)
114114
{
115115
uint packed = Unsafe.Add(ref sBase, i);
116116

@@ -132,9 +132,9 @@ public void RunFallbackShuffle(ReadOnlySpan<byte> source, Span<byte> dest)
132132
{
133133
ref uint sBase = ref Unsafe.As<byte, uint>(ref MemoryMarshal.GetReference(source));
134134
ref uint dBase = ref Unsafe.As<byte, uint>(ref MemoryMarshal.GetReference(dest));
135-
int n = (int)((uint)source.Length / 4);
135+
uint n = (uint)source.Length / 4;
136136

137-
for (nuint i = 0; i < (uint)n; i++)
137+
for (nuint i = 0; i < n; i++)
138138
{
139139
uint packed = Unsafe.Add(ref sBase, i);
140140

@@ -156,9 +156,9 @@ public void RunFallbackShuffle(ReadOnlySpan<byte> source, Span<byte> dest)
156156
{
157157
ref uint sBase = ref Unsafe.As<byte, uint>(ref MemoryMarshal.GetReference(source));
158158
ref uint dBase = ref Unsafe.As<byte, uint>(ref MemoryMarshal.GetReference(dest));
159-
int n = (int)((uint)source.Length / 4);
159+
uint n = (uint)source.Length / 4;
160160

161-
for (nuint i = 0; i < (uint)n; i++)
161+
for (nuint i = 0; i < n; i++)
162162
{
163163
uint packed = Unsafe.Add(ref sBase, i);
164164

@@ -187,9 +187,9 @@ public void RunFallbackShuffle(ReadOnlySpan<byte> source, Span<byte> dest)
187187
{
188188
ref uint sBase = ref Unsafe.As<byte, uint>(ref MemoryMarshal.GetReference(source));
189189
ref uint dBase = ref Unsafe.As<byte, uint>(ref MemoryMarshal.GetReference(dest));
190-
int n = (int)((uint)source.Length / 4);
190+
uint n = (uint)source.Length / 4;
191191

192-
for (nuint i = 0; i < (uint)n; i++)
192+
for (nuint i = 0; i < n; i++)
193193
{
194194
uint packed = Unsafe.Add(ref sBase, i);
195195

src/ImageSharp/Common/Helpers/SimdUtils.FallbackIntrinsics128.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ internal static void ByteToNormalizedFloat(ReadOnlySpan<byte> source, Span<float
7171
{
7272
VerifySpanInput(source, dest, 4);
7373

74-
int count = (int)((uint)dest.Length / 4);
74+
uint count = (uint)dest.Length / 4;
7575
if (count == 0)
7676
{
7777
return;
@@ -83,7 +83,7 @@ internal static void ByteToNormalizedFloat(ReadOnlySpan<byte> source, Span<float
8383
const float scale = 1f / 255f;
8484
Vector4 d = default;
8585

86-
for (nuint i = 0; i < (uint)count; i++)
86+
for (nuint i = 0; i < count; i++)
8787
{
8888
ref ByteVector4 s = ref Unsafe.Add(ref sBase, i);
8989
d.X = s.X;
@@ -105,7 +105,7 @@ internal static void NormalizedFloatToByteSaturate(
105105
{
106106
VerifySpanInput(source, dest, 4);
107107

108-
int count = (int)((uint)source.Length / 4);
108+
uint count = (uint)source.Length / 4;
109109
if (count == 0)
110110
{
111111
return;
@@ -117,7 +117,7 @@ internal static void NormalizedFloatToByteSaturate(
117117
var half = new Vector4(0.5f);
118118
var maxBytes = new Vector4(255f);
119119

120-
for (nuint i = 0; i < (uint)count; i++)
120+
for (nuint i = 0; i < count; i++)
121121
{
122122
Vector4 s = Unsafe.Add(ref sBase, i);
123123
s *= maxBytes;

src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1361,7 +1361,7 @@ private void ReadInfoHeader(BufferedReadStream stream)
13611361
this.metadata.VerticalResolution = Math.Round(UnitConverter.InchToMeter(ImageMetadata.DefaultVerticalResolution));
13621362
}
13631363

1364-
short bitsPerPixel = this.infoHeader.BitsPerPixel;
1364+
ushort bitsPerPixel = this.infoHeader.BitsPerPixel;
13651365
this.bmpMetadata = this.metadata.GetBmpMetadata();
13661366
this.bmpMetadata.InfoHeaderType = infoHeaderType;
13671367
this.bmpMetadata.BitsPerPixel = (BmpBitsPerPixel)bitsPerPixel;

src/ImageSharp/Formats/Bmp/BmpEncoderCore.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ private BmpInfoHeader CreateBmpInfoHeader(int width, int height, int infoHeaderS
212212
width: width,
213213
height: height,
214214
planes: 1,
215-
bitsPerPixel: (short)bpp,
215+
bitsPerPixel: bpp,
216216
imageSize: height * bytesPerLine,
217217
xPelsPerMeter: hResolution,
218218
yPelsPerMeter: vResolution,

src/ImageSharp/Formats/Bmp/BmpInfoHeader.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public BmpInfoHeader(
7070
int width,
7171
int height,
7272
short planes,
73-
short bitsPerPixel,
73+
ushort bitsPerPixel,
7474
BmpCompression compression = default,
7575
int imageSize = 0,
7676
int xPelsPerMeter = 0,
@@ -157,7 +157,7 @@ public BmpInfoHeader(
157157
/// Gets or sets the number of bits per pixel, which is the color depth of the image.
158158
/// Typical values are 1, 4, 8, 16, 24 and 32.
159159
/// </summary>
160-
public short BitsPerPixel { get; set; }
160+
public ushort BitsPerPixel { get; set; }
161161

162162
/// <summary>
163163
/// Gets or sets the compression method being used.
@@ -311,7 +311,7 @@ public BmpInfoHeader(
311311
width: BinaryPrimitives.ReadUInt16LittleEndian(data.Slice(4, 2)),
312312
height: BinaryPrimitives.ReadUInt16LittleEndian(data.Slice(6, 2)),
313313
planes: BinaryPrimitives.ReadInt16LittleEndian(data.Slice(8, 2)),
314-
bitsPerPixel: BinaryPrimitives.ReadInt16LittleEndian(data.Slice(10, 2)));
314+
bitsPerPixel: BinaryPrimitives.ReadUInt16LittleEndian(data.Slice(10, 2)));
315315

316316
/// <summary>
317317
/// Parses a short variant of the OS22XBITMAPHEADER. It is identical to the BITMAPCOREHEADER, except that the width and height
@@ -325,7 +325,7 @@ public BmpInfoHeader(
325325
width: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(4, 4)),
326326
height: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(8, 4)),
327327
planes: BinaryPrimitives.ReadInt16LittleEndian(data.Slice(12, 2)),
328-
bitsPerPixel: BinaryPrimitives.ReadInt16LittleEndian(data.Slice(14, 2)));
328+
bitsPerPixel: BinaryPrimitives.ReadUInt16LittleEndian(data.Slice(14, 2)));
329329

330330
/// <summary>
331331
/// Parses the full BMP Version 3 BITMAPINFOHEADER header (40 bytes).
@@ -338,7 +338,7 @@ public BmpInfoHeader(
338338
width: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(4, 4)),
339339
height: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(8, 4)),
340340
planes: BinaryPrimitives.ReadInt16LittleEndian(data.Slice(12, 2)),
341-
bitsPerPixel: BinaryPrimitives.ReadInt16LittleEndian(data.Slice(14, 2)),
341+
bitsPerPixel: BinaryPrimitives.ReadUInt16LittleEndian(data.Slice(14, 2)),
342342
compression: (BmpCompression)BinaryPrimitives.ReadInt32LittleEndian(data.Slice(16, 4)),
343343
imageSize: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(20, 4)),
344344
xPelsPerMeter: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(24, 4)),
@@ -359,7 +359,7 @@ public BmpInfoHeader(
359359
width: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(4, 4)),
360360
height: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(8, 4)),
361361
planes: BinaryPrimitives.ReadInt16LittleEndian(data.Slice(12, 2)),
362-
bitsPerPixel: BinaryPrimitives.ReadInt16LittleEndian(data.Slice(14, 2)),
362+
bitsPerPixel: BinaryPrimitives.ReadUInt16LittleEndian(data.Slice(14, 2)),
363363
compression: (BmpCompression)BinaryPrimitives.ReadInt32LittleEndian(data.Slice(16, 4)),
364364
imageSize: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(20, 4)),
365365
xPelsPerMeter: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(24, 4)),
@@ -386,7 +386,7 @@ public static BmpInfoHeader ParseOs2Version2(ReadOnlySpan<byte> data)
386386
width: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(4, 4)),
387387
height: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(8, 4)),
388388
planes: BinaryPrimitives.ReadInt16LittleEndian(data.Slice(12, 2)),
389-
bitsPerPixel: BinaryPrimitives.ReadInt16LittleEndian(data.Slice(14, 2)));
389+
bitsPerPixel: BinaryPrimitives.ReadUInt16LittleEndian(data.Slice(14, 2)));
390390

391391
// The compression value in OS/2 bitmap has a different meaning than in windows bitmaps.
392392
// Map the OS/2 value to the windows values.
@@ -431,7 +431,7 @@ public static BmpInfoHeader ParseOs2Version2(ReadOnlySpan<byte> data)
431431
width: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(4, 4)),
432432
height: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(8, 4)),
433433
planes: BinaryPrimitives.ReadInt16LittleEndian(data.Slice(12, 2)),
434-
bitsPerPixel: BinaryPrimitives.ReadInt16LittleEndian(data.Slice(14, 2)),
434+
bitsPerPixel: BinaryPrimitives.ReadUInt16LittleEndian(data.Slice(14, 2)),
435435
compression: (BmpCompression)BinaryPrimitives.ReadInt32LittleEndian(data.Slice(16, 4)),
436436
imageSize: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(20, 4)),
437437
xPelsPerMeter: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(24, 4)),
@@ -484,7 +484,7 @@ public void WriteV3Header(Span<byte> buffer)
484484
BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(4, 4), this.Width);
485485
BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(8, 4), this.Height);
486486
BinaryPrimitives.WriteInt16LittleEndian(buffer.Slice(12, 2), this.Planes);
487-
BinaryPrimitives.WriteInt16LittleEndian(buffer.Slice(14, 2), this.BitsPerPixel);
487+
BinaryPrimitives.WriteUInt16LittleEndian(buffer.Slice(14, 2), this.BitsPerPixel);
488488
BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(16, 4), (int)this.Compression);
489489
BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(20, 4), this.ImageSize);
490490
BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(24, 4), this.XPelsPerMeter);
@@ -504,7 +504,7 @@ public void WriteV4Header(Span<byte> buffer)
504504
BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(4, 4), this.Width);
505505
BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(8, 4), this.Height);
506506
BinaryPrimitives.WriteInt16LittleEndian(buffer.Slice(12, 2), this.Planes);
507-
BinaryPrimitives.WriteInt16LittleEndian(buffer.Slice(14, 2), this.BitsPerPixel);
507+
BinaryPrimitives.WriteUInt16LittleEndian(buffer.Slice(14, 2), this.BitsPerPixel);
508508
BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(16, 4), (int)this.Compression);
509509
BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(20, 4), this.ImageSize);
510510
BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(24, 4), this.XPelsPerMeter);

src/ImageSharp/Formats/Jpeg/Components/Encoder/ComponentProcessor.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ static void SumHorizontal(Span<float> target, int factor)
157157

158158
// Ideally we need to use log2: Numerics.Log2((uint)factor)
159159
// but division by 2 works just fine in this case
160-
int haddIterationsCount = (int)((uint)factor / 2);
160+
uint haddIterationsCount = (uint)factor / 2;
161161

162162
// Transform spans so that it only contains 'remainder'
163163
// values for the scalar fallback code
@@ -168,7 +168,7 @@ static void SumHorizontal(Span<float> target, int factor)
168168

169169
nuint length = (uint)(touchedCount / Vector256<float>.Count);
170170

171-
for (int i = 0; i < haddIterationsCount; i++)
171+
for (uint i = 0; i < haddIterationsCount; i++)
172172
{
173173
length /= 2;
174174

src/ImageSharp/Formats/Webp/Lossless/BackwardReferenceEncoder.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public static Vp8LBackwardRefs GetBackwardReferences(
3838
int width,
3939
int height,
4040
ReadOnlySpan<uint> bgra,
41-
int quality,
41+
uint quality,
4242
int lz77TypesToTry,
4343
ref int cacheBits,
4444
MemoryAllocator memoryAllocator,
@@ -123,7 +123,7 @@ public static Vp8LBackwardRefs GetBackwardReferences(
123123
/// The local color cache is also disabled for the lower (smaller then 25) quality.
124124
/// </summary>
125125
/// <returns>Best cache size.</returns>
126-
private static int CalculateBestCacheSize(ReadOnlySpan<uint> bgra, int quality, Vp8LBackwardRefs refs, int bestCacheBits)
126+
private static int CalculateBestCacheSize(ReadOnlySpan<uint> bgra, uint quality, Vp8LBackwardRefs refs, int bestCacheBits)
127127
{
128128
int cacheBitsMax = quality <= 25 ? 0 : bestCacheBits;
129129
if (cacheBitsMax == 0)

src/ImageSharp/Formats/Webp/Lossless/HistogramEncoder.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ internal class HistogramEncoder
2727

2828
private const ushort InvalidHistogramSymbol = ushort.MaxValue;
2929

30-
public static void GetHistoImageSymbols(int xSize, int ySize, Vp8LBackwardRefs refs, int quality, int histoBits, int cacheBits, List<Vp8LHistogram> imageHisto, Vp8LHistogram tmpHisto, ushort[] histogramSymbols)
30+
public static void GetHistoImageSymbols(int xSize, int ySize, Vp8LBackwardRefs refs, uint quality, int histoBits, int cacheBits, List<Vp8LHistogram> imageHisto, Vp8LHistogram tmpHisto, ushort[] histogramSymbols)
3131
{
3232
int histoXSize = histoBits > 0 ? LosslessUtils.SubSampleSize(xSize, histoBits) : 1;
3333
int histoYSize = histoBits > 0 ? LosslessUtils.SubSampleSize(ySize, histoBits) : 1;
@@ -660,7 +660,7 @@ private static void HistogramAdd(Vp8LHistogram a, Vp8LHistogram b, Vp8LHistogram
660660
output.TrivialSymbol = a.TrivialSymbol == b.TrivialSymbol ? a.TrivialSymbol : NonTrivialSym;
661661
}
662662

663-
private static double GetCombineCostFactor(int histoSize, int quality)
663+
private static double GetCombineCostFactor(int histoSize, uint quality)
664664
{
665665
double combineCostFactor = 0.16d;
666666
if (quality < 90)

src/ImageSharp/Formats/Webp/Lossless/PredictorEncoder.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ public static void ResidualImage(
113113
lowEffort);
114114
}
115115

116-
public static void ColorSpaceTransform(int width, int height, int bits, int quality, Span<uint> bgra, Span<uint> image, Span<int> scratch)
116+
public static void ColorSpaceTransform(int width, int height, int bits, uint quality, Span<uint> bgra, Span<uint> image, Span<int> scratch)
117117
{
118118
int maxTileSize = 1 << bits;
119119
int tileXSize = LosslessUtils.SubSampleSize(width, bits);
@@ -837,7 +837,7 @@ private static Vp8LMultipliers GetBestColorTransformForTile(
837837
int bits,
838838
Vp8LMultipliers prevX,
839839
Vp8LMultipliers prevY,
840-
int quality,
840+
uint quality,
841841
int xSize,
842842
int ySize,
843843
int[] accumulatedRedHisto,
@@ -871,14 +871,14 @@ private static void GetBestGreenToRed(
871871
int tileHeight,
872872
Vp8LMultipliers prevX,
873873
Vp8LMultipliers prevY,
874-
int quality,
874+
uint quality,
875875
int[] accumulatedRedHisto,
876876
ref Vp8LMultipliers bestTx)
877877
{
878-
int maxIters = 4 + ((7 * quality) >> 8); // in range [4..6]
878+
uint maxIters = 4 + ((7 * quality) / 256); // in range [4..6]
879879
int greenToRedBest = 0;
880880
double bestDiff = GetPredictionCostCrossColorRed(argb, stride, scratch, tileWidth, tileHeight, prevX, prevY, greenToRedBest, accumulatedRedHisto);
881-
for (int iter = 0; iter < maxIters; iter++)
881+
for (int iter = 0; iter < (int)maxIters; iter++)
882882
{
883883
// ColorTransformDelta is a 3.5 bit fixed point, so 32 is equal to
884884
// one in color computation. Having initial delta here as 1 is sufficient
@@ -901,7 +901,7 @@ private static void GetBestGreenToRed(
901901
bestTx.GreenToRed = (byte)(greenToRedBest & 0xff);
902902
}
903903

904-
private static void GetBestGreenRedToBlue(Span<uint> argb, int stride, Span<int> scratch, int tileWidth, int tileHeight, Vp8LMultipliers prevX, Vp8LMultipliers prevY, int quality, int[] accumulatedBlueHisto, ref Vp8LMultipliers bestTx)
904+
private static void GetBestGreenRedToBlue(Span<uint> argb, int stride, Span<int> scratch, int tileWidth, int tileHeight, Vp8LMultipliers prevX, Vp8LMultipliers prevY, uint quality, int[] accumulatedBlueHisto, ref Vp8LMultipliers bestTx)
905905
{
906906
int iters = (quality < 25) ? 1 : (quality > 50) ? GreenRedToBlueMaxIters : 4;
907907
int greenToBlueBest = 0;

src/ImageSharp/Formats/Webp/Lossless/Vp8LEncoder.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ internal class Vp8LEncoder : IDisposable
5757
/// <summary>
5858
/// The quality, that will be used to encode the image.
5959
/// </summary>
60-
private readonly int quality;
60+
private readonly uint quality;
6161

6262
/// <summary>
6363
/// Quality/speed trade-off (0=fast, 6=slower-better).
@@ -110,7 +110,7 @@ public Vp8LEncoder(
110110
Configuration configuration,
111111
int width,
112112
int height,
113-
int quality,
113+
uint quality,
114114
bool skipMetadata,
115115
WebpEncodingMethod method,
116116
WebpTransparentColorMode transparentColorMode,
@@ -122,7 +122,7 @@ public Vp8LEncoder(
122122

123123
this.memoryAllocator = memoryAllocator;
124124
this.configuration = configuration;
125-
this.quality = Numerics.Clamp(quality, 0, 100);
125+
this.quality = Math.Min(quality, 100u);
126126
this.skipMetadata = skipMetadata;
127127
this.method = method;
128128
this.transparentColorMode = transparentColorMode;
@@ -772,7 +772,7 @@ private void ApplyCrossColorFilter(int width, int height, bool lowEffort)
772772
this.EncodeImageNoHuffman(this.TransformData.GetSpan(), this.HashChain, this.Refs[0], this.Refs[1], transformWidth, transformHeight, this.quality, lowEffort);
773773
}
774774

775-
private void EncodeImageNoHuffman(Span<uint> bgra, Vp8LHashChain hashChain, Vp8LBackwardRefs refsTmp1, Vp8LBackwardRefs refsTmp2, int width, int height, int quality, bool lowEffort)
775+
private void EncodeImageNoHuffman(Span<uint> bgra, Vp8LHashChain hashChain, Vp8LBackwardRefs refsTmp1, Vp8LBackwardRefs refsTmp2, int width, int height, uint quality, bool lowEffort)
776776
{
777777
int cacheBits = 0;
778778
ushort[] histogramSymbols = new ushort[1]; // Only one tree, one symbol.
@@ -1820,7 +1820,7 @@ public void AllocateTransformBuffer(int width, int height)
18201820
{
18211821
// VP8LResidualImage needs room for 2 scanlines of uint32 pixels with an extra
18221822
// pixel in each, plus 2 regular scanlines of bytes.
1823-
int bgraScratchSize = this.UsePredictorTransform ? (int)((((uint)width + 1) * 2) + ((((uint)width * 2) + 4 - 1) / 4)) : 0;
1823+
int bgraScratchSize = this.UsePredictorTransform ? ((width + 1) * 2) + (((width * 2) + 4 - 1) / 4) : 0;
18241824
int transformDataSize = this.UsePredictorTransform || this.UseCrossColorTransform ? LosslessUtils.SubSampleSize(width, this.TransformBits) * LosslessUtils.SubSampleSize(height, this.TransformBits) : 0;
18251825

18261826
this.BgraScratch = this.memoryAllocator.Allocate<uint>(bgraScratchSize);

0 commit comments

Comments
 (0)