diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykAvx.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykAvx.cs
index 158886b054..f65c74d782 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykAvx.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykAvx.cs
@@ -19,6 +19,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
{
}
+ ///
public override void ConvertToRgbInplace(in ComponentValues values)
{
ref Vector256 c0Base =
@@ -48,10 +49,11 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
}
}
- public override void ConvertFromRgbInplace(in ComponentValues values, Span rLane, Span gLane, Span bLane)
- => ConvertFromRgbInplace(in values, this.MaximumValue, rLane, gLane, bLane);
+ ///
+ public override void ConvertFromRgb(in ComponentValues values, Span rLane, Span gLane, Span bLane)
+ => ConvertFromRgb(in values, this.MaximumValue, rLane, gLane, bLane);
- public static void ConvertFromRgbInplace(in ComponentValues values, float maxValue, Span rLane, Span gLane, Span bLane)
+ public static void ConvertFromRgb(in ComponentValues values, float maxValue, Span rLane, Span gLane, Span bLane)
{
ref Vector256 destC =
ref Unsafe.As>(ref MemoryMarshal.GetReference(values.Component0));
@@ -69,7 +71,6 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
ref Vector256 srcB =
ref Unsafe.As>(ref MemoryMarshal.GetReference(bLane));
- // Used for the color conversion
var scale = Vector256.Create(maxValue);
nint n = values.Component0.Length / Vector256.Count;
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykScalar.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykScalar.cs
index 44ad19687f..2cca688dc4 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykScalar.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykScalar.cs
@@ -14,11 +14,13 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
{
}
+ ///
public override void ConvertToRgbInplace(in ComponentValues values) =>
ConvertToRgbInplace(values, this.MaximumValue);
- public override void ConvertFromRgbInplace(in ComponentValues values, Span r, Span g, Span b)
- => ConvertFromRgbInplace(values, this.MaximumValue, r, g, b);
+ ///
+ public override void ConvertFromRgb(in ComponentValues values, Span r, Span g, Span b)
+ => ConvertFromRgb(values, this.MaximumValue, r, g, b);
public static void ConvertToRgbInplace(in ComponentValues values, float maxValue)
{
@@ -42,7 +44,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
}
}
- public static void ConvertFromRgbInplace(in ComponentValues values, float maxValue, Span r, Span g, Span b)
+ public static void ConvertFromRgb(in ComponentValues values, float maxValue, Span r, Span g, Span b)
{
Span c = values.Component0;
Span m = values.Component1;
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykVector.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykVector.cs
index e75d61e4c2..1e62484e32 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykVector.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.CmykVector.cs
@@ -17,7 +17,8 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
{
}
- protected override void ConvertCoreVectorizedInplaceToRgb(in ComponentValues values)
+ ///
+ protected override void ConvertToRgbInplaceVectorized(in ComponentValues values)
{
ref Vector cBase =
ref Unsafe.As>(ref MemoryMarshal.GetReference(values.Component0));
@@ -45,13 +46,16 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
}
}
- protected override void ConvertCoreInplaceToRgb(in ComponentValues values)
+ ///
+ protected override void ConvertToRgbInplaceScalarRemainder(in ComponentValues values)
=> CmykScalar.ConvertToRgbInplace(values, this.MaximumValue);
- protected override void ConvertCoreVectorizedInplaceFromRgb(in ComponentValues values, Span r, Span g, Span b)
+ ///
+ protected override void ConvertFromRgbVectorized(in ComponentValues values, Span r, Span g, Span b)
=> ConvertFromRgbInplaceVectorized(in values, this.MaximumValue, r, g, b);
- protected override void ConvertCoreInplaceFromRgb(in ComponentValues values, Span r, Span g, Span b)
+ ///
+ protected override void ConvertFromRgbScalarRemainder(in ComponentValues values, Span r, Span g, Span b)
=> ConvertFromRgbInplaceRemainder(values, this.MaximumValue, r, g, b);
public static void ConvertFromRgbInplaceVectorized(in ComponentValues values, float maxValue, Span r, Span g, Span b)
@@ -96,7 +100,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
}
public static void ConvertFromRgbInplaceRemainder(in ComponentValues values, float maxValue, Span r, Span g, Span b)
- => CmykScalar.ConvertFromRgbInplace(values, maxValue, r, g, b);
+ => CmykScalar.ConvertFromRgb(values, maxValue, r, g, b);
}
}
}
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleAvx.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleAvx.cs
index 89d51586b8..a3999ffda3 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleAvx.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleAvx.cs
@@ -20,6 +20,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
{
}
+ ///
public override void ConvertToRgbInplace(in ComponentValues values)
{
ref Vector256 c0Base =
@@ -36,7 +37,8 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
}
}
- public override void ConvertFromRgbInplace(in ComponentValues values, Span rLane, Span gLane, Span bLane)
+ ///
+ public override void ConvertFromRgb(in ComponentValues values, Span rLane, Span gLane, Span bLane)
{
ref Vector256 destLuminance =
ref Unsafe.As>(ref MemoryMarshal.GetReference(values.Component0));
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleScalar.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleScalar.cs
index 4029830d5e..65a201d946 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleScalar.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleScalar.cs
@@ -16,13 +16,15 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
{
}
+ ///
public override void ConvertToRgbInplace(in ComponentValues values)
- => ConvertCoreInplaceToRgb(values.Component0, this.MaximumValue);
+ => ConvertToRgbInplace(values.Component0, this.MaximumValue);
- public override void ConvertFromRgbInplace(in ComponentValues values, Span r, Span g, Span b)
+ ///
+ public override void ConvertFromRgb(in ComponentValues values, Span r, Span g, Span b)
=> ConvertCoreInplaceFromRgb(values, r, g, b);
- internal static void ConvertCoreInplaceToRgb(Span values, float maxValue)
+ internal static void ConvertToRgbInplace(Span values, float maxValue)
{
ref float valuesRef = ref MemoryMarshal.GetReference(values);
float scale = 1 / maxValue;
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleVector.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleVector.cs
index ef51ff2b0f..fa0a9b27a9 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleVector.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.GrayScaleVector.cs
@@ -17,7 +17,8 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
{
}
- protected override void ConvertCoreVectorizedInplaceToRgb(in ComponentValues values)
+ ///
+ protected override void ConvertToRgbInplaceVectorized(in ComponentValues values)
{
ref Vector cBase =
ref Unsafe.As>(ref MemoryMarshal.GetReference(values.Component0));
@@ -32,10 +33,12 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
}
}
- protected override void ConvertCoreInplaceToRgb(in ComponentValues values)
- => GrayscaleScalar.ConvertCoreInplaceToRgb(values.Component0, this.MaximumValue);
+ ///
+ protected override void ConvertToRgbInplaceScalarRemainder(in ComponentValues values)
+ => GrayscaleScalar.ConvertToRgbInplace(values.Component0, this.MaximumValue);
- protected override void ConvertCoreVectorizedInplaceFromRgb(in ComponentValues values, Span rLane, Span gLane, Span bLane)
+ ///
+ protected override void ConvertFromRgbVectorized(in ComponentValues values, Span rLane, Span gLane, Span bLane)
{
ref Vector destLuma =
ref Unsafe.As>(ref MemoryMarshal.GetReference(values.Component0));
@@ -63,7 +66,8 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
}
}
- protected override void ConvertCoreInplaceFromRgb(in ComponentValues values, Span r, Span g, Span b)
+ ///
+ protected override void ConvertFromRgbScalarRemainder(in ComponentValues values, Span r, Span g, Span b)
=> GrayscaleScalar.ConvertCoreInplaceFromRgb(values, r, g, b);
}
}
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbAvx.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbAvx.cs
index 6731d535ee..aa57162d3c 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbAvx.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbAvx.cs
@@ -19,6 +19,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
{
}
+ ///
public override void ConvertToRgbInplace(in ComponentValues values)
{
ref Vector256 rBase =
@@ -42,7 +43,8 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
}
}
- public override void ConvertFromRgbInplace(in ComponentValues values, Span rLane, Span gLane, Span bLane)
+ ///
+ public override void ConvertFromRgb(in ComponentValues values, Span rLane, Span gLane, Span bLane)
{
rLane.CopyTo(values.Component0);
gLane.CopyTo(values.Component1);
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbScalar.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbScalar.cs
index 42cd002427..e798196861 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbScalar.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbScalar.cs
@@ -14,20 +14,22 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
{
}
+ ///
public override void ConvertToRgbInplace(in ComponentValues values)
- => ConvertCoreInplaceToRgb(values, this.MaximumValue);
+ => ConvertToRgbInplace(values, this.MaximumValue);
- public override void ConvertFromRgbInplace(in ComponentValues values, Span r, Span g, Span b)
- => ConvertCoreInplaceFromRgb(values, r, g, b);
+ ///
+ public override void ConvertFromRgb(in ComponentValues values, Span r, Span g, Span b)
+ => ConvertFromRgb(values, r, g, b);
- internal static void ConvertCoreInplaceToRgb(ComponentValues values, float maxValue)
+ internal static void ConvertToRgbInplace(ComponentValues values, float maxValue)
{
- GrayscaleScalar.ConvertCoreInplaceToRgb(values.Component0, maxValue);
- GrayscaleScalar.ConvertCoreInplaceToRgb(values.Component1, maxValue);
- GrayscaleScalar.ConvertCoreInplaceToRgb(values.Component2, maxValue);
+ GrayscaleScalar.ConvertToRgbInplace(values.Component0, maxValue);
+ GrayscaleScalar.ConvertToRgbInplace(values.Component1, maxValue);
+ GrayscaleScalar.ConvertToRgbInplace(values.Component2, maxValue);
}
- internal static void ConvertCoreInplaceFromRgb(ComponentValues values, Span r, Span g, Span b)
+ internal static void ConvertFromRgb(ComponentValues values, Span r, Span g, Span b)
{
r.CopyTo(values.Component0);
g.CopyTo(values.Component1);
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbVector.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbVector.cs
index f4c4fa379c..251e970154 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbVector.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.RgbVector.cs
@@ -17,7 +17,8 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
{
}
- protected override void ConvertCoreVectorizedInplaceToRgb(in ComponentValues values)
+ ///
+ protected override void ConvertToRgbInplaceVectorized(in ComponentValues values)
{
ref Vector rBase =
ref Unsafe.As>(ref MemoryMarshal.GetReference(values.Component0));
@@ -40,18 +41,21 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
}
}
- protected override void ConvertCoreInplaceToRgb(in ComponentValues values)
- => RgbScalar.ConvertCoreInplaceToRgb(values, this.MaximumValue);
+ ///
+ protected override void ConvertToRgbInplaceScalarRemainder(in ComponentValues values)
+ => RgbScalar.ConvertToRgbInplace(values, this.MaximumValue);
- protected override void ConvertCoreVectorizedInplaceFromRgb(in ComponentValues values, Span r, Span g, Span b)
+ ///
+ protected override void ConvertFromRgbVectorized(in ComponentValues values, Span r, Span g, Span b)
{
r.CopyTo(values.Component0);
g.CopyTo(values.Component1);
b.CopyTo(values.Component2);
}
- protected override void ConvertCoreInplaceFromRgb(in ComponentValues values, Span r, Span g, Span b)
- => RgbScalar.ConvertCoreInplaceFromRgb(values, r, g, b);
+ ///
+ protected override void ConvertFromRgbScalarRemainder(in ComponentValues values, Span r, Span g, Span b)
+ => RgbScalar.ConvertFromRgb(values, r, g, b);
}
}
}
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrAvx.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrAvx.cs
index 46e9fd033e..517fbdbeb9 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrAvx.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrAvx.cs
@@ -21,6 +21,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
{
}
+ ///
public override void ConvertToRgbInplace(in ComponentValues values)
{
ref Vector256 c0Base =
@@ -70,7 +71,8 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
}
}
- public override void ConvertFromRgbInplace(in ComponentValues values, Span rLane, Span gLane, Span bLane)
+ ///
+ public override void ConvertFromRgb(in ComponentValues values, Span rLane, Span gLane, Span bLane)
{
ref Vector256 destY =
ref Unsafe.As>(ref MemoryMarshal.GetReference(values.Component0));
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrScalar.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrScalar.cs
index 418fa02073..0286df5813 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrScalar.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrScalar.cs
@@ -20,13 +20,15 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
{
}
+ ///
public override void ConvertToRgbInplace(in ComponentValues values)
- => ConvertCoreInplaceToRgb(values, this.MaximumValue, this.HalfValue);
+ => ConvertToRgbInplace(values, this.MaximumValue, this.HalfValue);
- public override void ConvertFromRgbInplace(in ComponentValues values, Span r, Span g, Span b)
- => ConvertCoreInplaceFromRgb(values, this.HalfValue, r, g, b);
+ ///
+ public override void ConvertFromRgb(in ComponentValues values, Span r, Span g, Span b)
+ => ConvertFromRgb(values, this.HalfValue, r, g, b);
- public static void ConvertCoreInplaceToRgb(in ComponentValues values, float maxValue, float halfValue)
+ public static void ConvertToRgbInplace(in ComponentValues values, float maxValue, float halfValue)
{
Span c0 = values.Component0;
Span c1 = values.Component1;
@@ -49,7 +51,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
}
}
- public static void ConvertCoreInplaceFromRgb(in ComponentValues values, float halfValue, Span rLane, Span gLane, Span bLane)
+ public static void ConvertFromRgb(in ComponentValues values, float halfValue, Span rLane, Span gLane, Span bLane)
{
Span y = values.Component0;
Span cb = values.Component1;
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrVector.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrVector.cs
index bf0aa4a341..e0c44a31e3 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrVector.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YCbCrVector.cs
@@ -18,7 +18,8 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
{
}
- protected override void ConvertCoreVectorizedInplaceToRgb(in ComponentValues values)
+ ///
+ protected override void ConvertToRgbInplaceVectorized(in ComponentValues values)
{
ref Vector c0Base =
ref Unsafe.As>(ref MemoryMarshal.GetReference(values.Component0));
@@ -68,10 +69,12 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
}
}
- protected override void ConvertCoreInplaceToRgb(in ComponentValues values)
- => YCbCrScalar.ConvertCoreInplaceToRgb(values, this.MaximumValue, this.HalfValue);
+ ///
+ protected override void ConvertToRgbInplaceScalarRemainder(in ComponentValues values)
+ => YCbCrScalar.ConvertToRgbInplace(values, this.MaximumValue, this.HalfValue);
- protected override void ConvertCoreVectorizedInplaceFromRgb(in ComponentValues values, Span rLane, Span gLane, Span bLane)
+ ///
+ protected override void ConvertFromRgbVectorized(in ComponentValues values, Span rLane, Span gLane, Span bLane)
{
ref Vector destY =
ref Unsafe.As>(ref MemoryMarshal.GetReference(values.Component0));
@@ -117,8 +120,9 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
}
}
- protected override void ConvertCoreInplaceFromRgb(in ComponentValues values, Span r, Span g, Span b)
- => YCbCrScalar.ConvertCoreInplaceFromRgb(values, this.HalfValue, r, g, b);
+ ///
+ protected override void ConvertFromRgbScalarRemainder(in ComponentValues values, Span r, Span g, Span b)
+ => YCbCrScalar.ConvertFromRgb(values, this.HalfValue, r, g, b);
}
}
}
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKAvx.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKAvx.cs
index b558f94cb9..1e641b0671 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKAvx.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKAvx.cs
@@ -20,6 +20,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
{
}
+ ///
public override void ConvertToRgbInplace(in ComponentValues values)
{
ref Vector256 c0Base =
@@ -78,10 +79,11 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
}
}
- public override void ConvertFromRgbInplace(in ComponentValues values, Span rLane, Span gLane, Span bLane)
+ ///
+ public override void ConvertFromRgb(in ComponentValues values, Span rLane, Span gLane, Span bLane)
{
// rgb -> cmyk
- CmykAvx.ConvertFromRgbInplace(in values, this.MaximumValue, rLane, gLane, bLane);
+ CmykAvx.ConvertFromRgb(in values, this.MaximumValue, rLane, gLane, bLane);
// cmyk -> ycck
ref Vector256 destY =
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKScalar.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKScalar.cs
index 2868ffc993..3b40dff8af 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKScalar.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKScalar.cs
@@ -20,11 +20,13 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
{
}
+ ///
public override void ConvertToRgbInplace(in ComponentValues values)
=> ConvertToRgpInplace(values, this.MaximumValue, this.HalfValue);
- public override void ConvertFromRgbInplace(in ComponentValues values, Span r, Span g, Span b)
- => ConvertCoreInplaceFromRgb(values, this.HalfValue, this.MaximumValue, r, g, b);
+ ///
+ public override void ConvertFromRgb(in ComponentValues values, Span r, Span g, Span b)
+ => ConvertFromRgb(values, this.HalfValue, this.MaximumValue, r, g, b);
public static void ConvertToRgpInplace(in ComponentValues values, float maxValue, float halfValue)
{
@@ -51,10 +53,10 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
}
}
- public static void ConvertCoreInplaceFromRgb(in ComponentValues values, float halfValue, float maxValue, Span rLane, Span gLane, Span bLane)
+ public static void ConvertFromRgb(in ComponentValues values, float halfValue, float maxValue, Span rLane, Span gLane, Span bLane)
{
// rgb -> cmyk
- CmykScalar.ConvertFromRgbInplace(in values, maxValue, rLane, gLane, bLane);
+ CmykScalar.ConvertFromRgb(in values, maxValue, rLane, gLane, bLane);
// cmyk -> ycck
Span c = values.Component0;
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKVector.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKVector.cs
index 1bae94c71c..1f5944bd8c 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKVector.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverter.YccKVector.cs
@@ -17,7 +17,8 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
{
}
- protected override void ConvertCoreVectorizedInplaceToRgb(in ComponentValues values)
+ ///
+ protected override void ConvertToRgbInplaceVectorized(in ComponentValues values)
{
ref Vector c0Base =
ref Unsafe.As>(ref MemoryMarshal.GetReference(values.Component0));
@@ -69,10 +70,12 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
}
}
- protected override void ConvertCoreInplaceToRgb(in ComponentValues values) =>
+ ///
+ protected override void ConvertToRgbInplaceScalarRemainder(in ComponentValues values) =>
YccKScalar.ConvertToRgpInplace(values, this.MaximumValue, this.HalfValue);
- protected override void ConvertCoreVectorizedInplaceFromRgb(in ComponentValues values, Span rLane, Span gLane, Span bLane)
+ ///
+ protected override void ConvertFromRgbVectorized(in ComponentValues values, Span rLane, Span gLane, Span bLane)
{
// rgb -> cmyk
CmykVector.ConvertFromRgbInplaceVectorized(in values, this.MaximumValue, rLane, gLane, bLane);
@@ -121,13 +124,14 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
}
}
- protected override void ConvertCoreInplaceFromRgb(in ComponentValues values, Span r, Span g, Span b)
+ ///
+ protected override void ConvertFromRgbScalarRemainder(in ComponentValues values, Span r, Span g, Span b)
{
// rgb -> cmyk
- CmykScalar.ConvertFromRgbInplace(in values, this.MaximumValue, r, g, b);
+ CmykScalar.ConvertFromRgb(in values, this.MaximumValue, r, g, b);
// cmyk -> ycck
- YccKScalar.ConvertCoreInplaceFromRgb(in values, this.HalfValue, this.MaximumValue, r, g, b);
+ YccKScalar.ConvertFromRgb(in values, this.HalfValue, this.MaximumValue, r, g, b);
}
}
}
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverterAvx.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverterAvx.cs
index 90e5df88f8..d7b619fca9 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverterAvx.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverterAvx.cs
@@ -25,6 +25,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
{
}
+ ///
public override bool IsAvailable => Avx.IsSupported;
}
}
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverterBase.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverterBase.cs
index 744c178e89..34b48c2fe6 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverterBase.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverterBase.cs
@@ -79,7 +79,14 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
/// The input/ouptut as a stack-only struct
public abstract void ConvertToRgbInplace(in ComponentValues values);
- public abstract void ConvertFromRgbInplace(in ComponentValues values, Span r, Span g, Span b);
+ ///
+ /// Converts RGB lanes to jpeg component values.
+ ///
+ /// Jpeg component values.
+ /// Red colors lane.
+ /// Green colors lane.
+ /// Blue colors lane.
+ public abstract void ConvertFromRgb(in ComponentValues values, Span rLane, Span gLane, Span bLane);
///
/// Returns the s for all supported colorspaces and precisions.
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverterScalar.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverterScalar.cs
index 44046f8e85..d962f434f0 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverterScalar.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverterScalar.cs
@@ -16,6 +16,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
{
}
+ ///
public override bool IsAvailable => true;
}
}
diff --git a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverterVector.cs b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverterVector.cs
index b5460d31aa..3c8b16943b 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverterVector.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/ColorConverters/JpegColorConverterVector.cs
@@ -26,9 +26,11 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
{
}
+ ///
public sealed override bool IsAvailable => Vector.IsHardwareAccelerated && Vector.Count % 4 == 0;
- public override void ConvertToRgbInplace(in ComponentValues values)
+ ///
+ public sealed override void ConvertToRgbInplace(in ComponentValues values)
{
DebugGuard.IsTrue(this.IsAvailable, $"{this.GetType().Name} converter is not supported on current hardware.");
@@ -38,7 +40,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
int simdCount = length - remainder;
if (simdCount > 0)
{
- this.ConvertCoreVectorizedInplaceToRgb(values.Slice(0, simdCount));
+ this.ConvertToRgbInplaceVectorized(values.Slice(0, simdCount));
}
// Jpeg images width is always divisible by 8 without a remainder
@@ -48,11 +50,12 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
// remainder pixels
if (remainder > 0)
{
- this.ConvertCoreInplaceToRgb(values.Slice(simdCount, remainder));
+ this.ConvertToRgbInplaceScalarRemainder(values.Slice(simdCount, remainder));
}
}
- public override void ConvertFromRgbInplace(in ComponentValues values, Span r, Span g, Span b)
+ ///
+ public sealed override void ConvertFromRgb(in ComponentValues values, Span r, Span g, Span b)
{
DebugGuard.IsTrue(this.IsAvailable, $"{this.GetType().Name} converter is not supported on current hardware.");
@@ -62,7 +65,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
int simdCount = length - remainder;
if (simdCount > 0)
{
- this.ConvertCoreVectorizedInplaceFromRgb(
+ this.ConvertFromRgbVectorized(
values.Slice(0, simdCount),
r.Slice(0, simdCount),
g.Slice(0, simdCount),
@@ -76,7 +79,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
// remainder pixels
if (remainder > 0)
{
- this.ConvertCoreInplaceFromRgb(
+ this.ConvertFromRgbScalarRemainder(
values.Slice(simdCount, remainder),
r.Slice(simdCount, remainder),
g.Slice(simdCount, remainder),
@@ -84,13 +87,38 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components
}
}
- protected abstract void ConvertCoreVectorizedInplaceToRgb(in ComponentValues values);
+ ///
+ /// Converts planar jpeg component values in
+ /// to RGB color space inplace using API.
+ ///
+ /// The input/ouptut as a stack-only struct
+ protected abstract void ConvertToRgbInplaceVectorized(in ComponentValues values);
- protected abstract void ConvertCoreInplaceToRgb(in ComponentValues values);
+ ///
+ /// Converts remainder of the planar jpeg component values after
+ /// conversion in .
+ ///
+ /// The input/ouptut as a stack-only struct
+ protected abstract void ConvertToRgbInplaceScalarRemainder(in ComponentValues values);
- protected abstract void ConvertCoreVectorizedInplaceFromRgb(in ComponentValues values, Span r, Span g, Span b);
+ ///
+ /// Converts RGB lanes to jpeg component values using API.
+ ///
+ /// Jpeg component values.
+ /// Red colors lane.
+ /// Green colors lane.
+ /// Blue colors lane.
+ protected abstract void ConvertFromRgbVectorized(in ComponentValues values, Span rLane, Span gLane, Span bLane);
- protected abstract void ConvertCoreInplaceFromRgb(in ComponentValues values, Span r, Span g, Span b);
+ ///
+ /// Converts remainder of RGB lanes to jpeg component values after
+ /// conversion in .
+ ///
+ /// Jpeg component values.
+ /// Red colors lane.
+ /// Green colors lane.
+ /// Blue colors lane.
+ protected abstract void ConvertFromRgbScalarRemainder(in ComponentValues values, Span rLane, Span gLane, Span bLane);
}
}
}
diff --git a/src/ImageSharp/Formats/Jpeg/Components/Encoder/SpectralConverter{TPixel}.cs b/src/ImageSharp/Formats/Jpeg/Components/Encoder/SpectralConverter{TPixel}.cs
index 18c0e63cfc..44271248f5 100644
--- a/src/ImageSharp/Formats/Jpeg/Components/Encoder/SpectralConverter{TPixel}.cs
+++ b/src/ImageSharp/Formats/Jpeg/Components/Encoder/SpectralConverter{TPixel}.cs
@@ -112,7 +112,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Encoder
// Convert from rgb24 to target pixel type
var values = new JpegColorConverterBase.ComponentValues(this.componentProcessors, y);
- this.colorConverter.ConvertFromRgbInplace(values, rLane, gLane, bLane);
+ this.colorConverter.ConvertFromRgb(values, rLane, gLane, bLane);
}
// Convert pixels to spectral