From faf87fbe16066a583aac493cad7339666cefec08 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sat, 14 Mar 2026 19:37:39 +0100 Subject: [PATCH] Use MagickReference decoder for exr decoding tests --- .../ImageSharp.Tests/Formats/Exr/ExrDecoderTests.cs | 13 ++++++++----- .../ReferenceCodecs/MagickReferenceDecoder.cs | 4 ++++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/tests/ImageSharp.Tests/Formats/Exr/ExrDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Exr/ExrDecoderTests.cs index 846dd42ca9..c90d4bdbad 100644 --- a/tests/ImageSharp.Tests/Formats/Exr/ExrDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Exr/ExrDecoderTests.cs @@ -3,6 +3,7 @@ using SixLabors.ImageSharp.Formats.Exr; using SixLabors.ImageSharp.PixelFormats; +using SixLabors.ImageSharp.Tests.TestUtilities.ReferenceCodecs; namespace SixLabors.ImageSharp.Tests.Formats.Exr; @@ -10,6 +11,8 @@ namespace SixLabors.ImageSharp.Tests.Formats.Exr; [ValidateDisposedMemoryAllocations] public class ExrDecoderTests { + private static MagickReferenceDecoder ReferenceDecoder => MagickReferenceDecoder.Exr; + [Theory] [WithFile(TestImages.Exr.Uncompressed, PixelTypes.Rgba32)] public void ExrDecoder_CanDecode_Uncompressed(TestImageProvider provider) @@ -17,7 +20,7 @@ public class ExrDecoderTests { using Image image = provider.GetImage(ExrDecoder.Instance); image.DebugSave(provider); - image.CompareToOriginal(provider); + image.CompareToOriginal(provider, ReferenceDecoder); } [Theory] @@ -27,7 +30,7 @@ public class ExrDecoderTests { using Image image = provider.GetImage(ExrDecoder.Instance); image.DebugSave(provider); - image.CompareToOriginal(provider); + image.CompareToOriginal(provider, ReferenceDecoder); } [Theory] @@ -37,7 +40,7 @@ public class ExrDecoderTests { using Image image = provider.GetImage(ExrDecoder.Instance); image.DebugSave(provider); - image.CompareToOriginal(provider); + image.CompareToOriginal(provider, ReferenceDecoder); } [Theory] @@ -47,7 +50,7 @@ public class ExrDecoderTests { using Image image = provider.GetImage(ExrDecoder.Instance); image.DebugSave(provider); - image.CompareToOriginal(provider); + image.CompareToOriginal(provider, ReferenceDecoder); } [Theory] @@ -57,6 +60,6 @@ public class ExrDecoderTests { using Image image = provider.GetImage(ExrDecoder.Instance); image.DebugSave(provider); - image.CompareToOriginal(provider); + image.CompareToOriginal(provider, ReferenceDecoder); } } diff --git a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs index 862d4b64d3..a63818562f 100644 --- a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs +++ b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs @@ -6,6 +6,7 @@ using ImageMagick; using ImageMagick.Formats; using SixLabors.ImageSharp.Formats; using SixLabors.ImageSharp.Formats.Bmp; +using SixLabors.ImageSharp.Formats.Exr; using SixLabors.ImageSharp.Formats.Jpeg; using SixLabors.ImageSharp.Formats.Png; using SixLabors.ImageSharp.Formats.Tiff; @@ -42,6 +43,8 @@ public class MagickReferenceDecoder : ImageDecoder public static MagickReferenceDecoder WebP { get; } = new(WebpFormat.Instance); + public static MagickReferenceDecoder Exr { get; } = new(ExrFormat.Instance); + protected override Image Decode(DecoderOptions options, Stream stream, CancellationToken cancellationToken) { ImageMetadata metadata = new(); @@ -118,6 +121,7 @@ public class MagickReferenceDecoder : ImageDecoder PixelType = metadata.GetDecodedPixelTypeInfo() }; } + private static void FromRgba32Bytes( Configuration configuration, Span rgbaBytes,