From e2cde198295cf9b4f88c96e449c91d92262b63d7 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Sat, 17 May 2025 00:49:32 +1000 Subject: [PATCH] Tweak grayscale converter code --- .../JpegColorConverter.GrayScaleScalar.cs | 8 ++++---- .../JpegColorConverter.GrayScaleVector128.cs | 8 ++++---- .../JpegColorConverter.GrayScaleVector256.cs | 8 ++++---- .../JpegColorConverter.GrayScaleVector512.cs | 8 ++++---- .../ColorConverters/JpegColorConverter.RgbScalar.cs | 11 +++-------- 5 files changed, 19 insertions(+), 24 deletions(-) diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleScalar.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleScalar.cs index 2016cb81db..74869c93ca 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleScalar.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleScalar.cs @@ -41,11 +41,11 @@ internal abstract partial class JpegColorConverterBase float scale = 1F / maxValue; for (nuint i = 0; i < (nuint)values.Component0.Length; i++) { - ref float c0 = ref Unsafe.Add(ref c0Base, i); - c0 *= scale; + float c = Unsafe.Add(ref c0Base, i) * scale; - Unsafe.Add(ref c1Base, i) = c0; - Unsafe.Add(ref c2Base, i) = c0; + Unsafe.Add(ref c0Base, i) = c; + Unsafe.Add(ref c1Base, i) = c; + Unsafe.Add(ref c2Base, i) = c; } } diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleVector128.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleVector128.cs index 80093ebd99..633080706b 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleVector128.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleVector128.cs @@ -40,11 +40,11 @@ internal abstract partial class JpegColorConverterBase nuint n = values.Component0.Vector128Count(); for (nuint i = 0; i < n; i++) { - ref Vector128 c0 = ref Unsafe.Add(ref c0Base, i); - c0 *= scale; + Vector128 c = Unsafe.Add(ref c0Base, i) * scale; - Unsafe.Add(ref c1Base, i) = c0; - Unsafe.Add(ref c2Base, i) = c0; + Unsafe.Add(ref c0Base, i) = c; + Unsafe.Add(ref c1Base, i) = c; + Unsafe.Add(ref c2Base, i) = c; } } diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleVector256.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleVector256.cs index d40ed192e4..0b2b8a119f 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleVector256.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleVector256.cs @@ -36,11 +36,11 @@ internal abstract partial class JpegColorConverterBase nuint n = values.Component0.Vector256Count(); for (nuint i = 0; i < n; i++) { - ref Vector256 c0 = ref Unsafe.Add(ref c0Base, i); - c0 *= scale; + Vector256 c = Unsafe.Add(ref c0Base, i) * scale; - Unsafe.Add(ref c1Base, i) = c0; - Unsafe.Add(ref c2Base, i) = c0; + Unsafe.Add(ref c0Base, i) = c; + Unsafe.Add(ref c1Base, i) = c; + Unsafe.Add(ref c2Base, i) = c; } } diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleVector512.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleVector512.cs index 93e0f0dbda..0a58b0196b 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleVector512.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleVector512.cs @@ -40,11 +40,11 @@ internal abstract partial class JpegColorConverterBase nuint n = values.Component0.Vector512Count(); for (nuint i = 0; i < n; i++) { - ref Vector512 c0 = ref Unsafe.Add(ref c0Base, i); - c0 *= scale; + Vector512 c = Unsafe.Add(ref c0Base, i) * scale; - Unsafe.Add(ref c1Base, i) = c0; - Unsafe.Add(ref c2Base, i) = c0; + Unsafe.Add(ref c0Base, i) = c; + Unsafe.Add(ref c1Base, i) = c; + Unsafe.Add(ref c2Base, i) = c; } } diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbScalar.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbScalar.cs index 770709d7f9..4b2abc0ac5 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbScalar.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbScalar.cs @@ -67,14 +67,9 @@ internal abstract partial class JpegColorConverterBase for (nuint i = 0; i < (nuint)values.Component0.Length; i++) { - ref float c0 = ref Unsafe.Add(ref c0Base, i); - c0 *= scale; - - ref float c1 = ref Unsafe.Add(ref c1Base, i); - c1 *= scale; - - ref float c2 = ref Unsafe.Add(ref c2Base, i); - c2 *= scale; + Unsafe.Add(ref c0Base, i) *= scale; + Unsafe.Add(ref c1Base, i) *= scale; + Unsafe.Add(ref c2Base, i) *= scale; } }