Skip to content

Commit 6b106da

Browse files
committed
Use ref TPixel pixel = ref rowSpan[dx];
1 parent 2021a42 commit 6b106da

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

src/ImageSharp/Processing/Processors/Normalization/AdaptiveHistogramEqualizationProcessor{TPixel}.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -145,9 +145,9 @@ private static void ProcessCornerTile(
145145
Span<TPixel> rowSpan = source.GetPixelRowSpan(dy);
146146
for (int dx = xStart; dx < xEnd; dx++)
147147
{
148-
TPixel pixel = rowSpan[dx];
148+
ref TPixel pixel = ref rowSpan[dx];
149149
float luminanceEqualized = cdfData.RemapGreyValue(cdfX, cdfY, GetLuminance(pixel, luminanceLevels));
150-
rowSpan[dx].FromVector4(new Vector4(luminanceEqualized, luminanceEqualized, luminanceEqualized, pixel.ToVector4().W));
150+
pixel.FromVector4(new Vector4(luminanceEqualized, luminanceEqualized, luminanceEqualized, pixel.ToVector4().W));
151151
}
152152
}
153153
}
@@ -191,9 +191,9 @@ private static void ProcessBorderColumn(
191191
Span<TPixel> rowSpan = source.GetPixelRowSpan(dy);
192192
for (int dx = xStart; dx < xEnd; dx++)
193193
{
194-
TPixel pixel = rowSpan[dx];
194+
ref TPixel pixel = ref rowSpan[dx];
195195
float luminanceEqualized = InterpolateBetweenTwoTiles(pixel, cdfData, cdfX, cdfY, cdfX, cdfY + 1, tileY, tileHeight, luminanceLevels);
196-
rowSpan[dx].FromVector4(new Vector4(luminanceEqualized, luminanceEqualized, luminanceEqualized, pixel.ToVector4().W));
196+
pixel.FromVector4(new Vector4(luminanceEqualized, luminanceEqualized, luminanceEqualized, pixel.ToVector4().W));
197197
}
198198

199199
tileY++;
@@ -243,9 +243,9 @@ private static void ProcessBorderRow(
243243
int xLimit = Math.Min(x + tileWidth, sourceWidth - 1);
244244
for (int dx = x; dx < xLimit; dx++)
245245
{
246-
TPixel pixel = rowSpan[dx];
246+
ref TPixel pixel = ref rowSpan[dx];
247247
float luminanceEqualized = InterpolateBetweenTwoTiles(pixel, cdfData, cdfX, cdfY, cdfX + 1, cdfY, tileX, tileWidth, luminanceLevels);
248-
rowSpan[dx].FromVector4(new Vector4(luminanceEqualized, luminanceEqualized, luminanceEqualized, pixel.ToVector4().W));
248+
pixel.FromVector4(new Vector4(luminanceEqualized, luminanceEqualized, luminanceEqualized, pixel.ToVector4().W));
249249
tileX++;
250250
}
251251
}
@@ -423,7 +423,7 @@ public void Invoke(in RowInterval rows)
423423
int tileX = 0;
424424
for (int dx = x; dx < xEnd; dx++)
425425
{
426-
TPixel pixel = rowSpan[dx];
426+
ref TPixel pixel = ref rowSpan[dx];
427427
float luminanceEqualized = InterpolateBetweenFourTiles(
428428
pixel,
429429
this.cdfData,
@@ -437,7 +437,7 @@ public void Invoke(in RowInterval rows)
437437
this.tileHeight,
438438
this.luminanceLevels);
439439

440-
rowSpan[dx].FromVector4(new Vector4(luminanceEqualized, luminanceEqualized, luminanceEqualized, pixel.ToVector4().W));
440+
pixel.FromVector4(new Vector4(luminanceEqualized, luminanceEqualized, luminanceEqualized, pixel.ToVector4().W));
441441
tileX++;
442442
}
443443

src/ImageSharp/Processing/Processors/Normalization/GlobalHistogramEqualizationProcessor{TPixel}.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,11 +172,11 @@ public void Invoke(int y)
172172
for (int x = 0; x < this.bounds.Width; x++)
173173
{
174174
// TODO: We should bulk convert here.
175-
TPixel pixel = pixelRow[x];
175+
ref TPixel pixel = ref pixelRow[x];
176176
var vector = pixel.ToVector4();
177177
int luminance = ImageMaths.GetBT709Luminance(ref vector, levels);
178178
float luminanceEqualized = Unsafe.Add(ref cdfBase, luminance) / noOfPixelsMinusCdfMin;
179-
pixelRow[x].FromVector4(new Vector4(luminanceEqualized, luminanceEqualized, luminanceEqualized, vector.W));
179+
pixel.FromVector4(new Vector4(luminanceEqualized, luminanceEqualized, luminanceEqualized, vector.W));
180180
}
181181
}
182182
}

0 commit comments

Comments
 (0)