Browse Source

revert ImageMagick update

pull/3111/head
antonfirsov 1 month ago
parent
commit
3f917163d8
  1. 2
      tests/Directory.Build.targets
  2. 2
      tests/ImageSharp.Benchmarks/Codecs/Tga/DecodeTga.cs
  3. 6
      tests/ImageSharp.Benchmarks/Codecs/Webp/DecodeWebp.cs
  4. 6
      tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressRunner.cs
  5. 8
      tests/ImageSharp.Tests/Formats/Bmp/BmpDecoderTests.cs
  6. 14
      tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs

2
tests/Directory.Build.targets

@ -24,7 +24,7 @@
Do not update to 14+ yet. There's differnce in how the BMP decoder handles rounding in 16 bit images.
See https://github.com/ImageMagick/ImageMagick/commit/27a0a9c37f18af9c8d823a3ea076f600843b553c
-->
<PackageReference Update="Magick.NET-Q16-AnyCPU" Version="14.11.1" />
<PackageReference Update="Magick.NET-Q16-AnyCPU" Version="13.10.0" />
<PackageReference Update="Microsoft.DotNet.RemoteExecutor" Version="10.0.0-beta.25563.105" />
<PackageReference Update="Microsoft.DotNet.XUnitExtensions" Version="8.0.0-beta.23580.1" />
<PackageReference Update="Moq" Version="4.20.72" />

2
tests/ImageSharp.Benchmarks/Codecs/Tga/DecodeTga.cs

@ -31,7 +31,7 @@ public class DecodeTga
{
MagickReadSettings settings = new() { Format = MagickFormat.Tga };
using MagickImage image = new(new MemoryStream(this.data), settings);
return (int)image.Width;
return image.Width;
}
[Benchmark(Description = "ImageSharp Tga")]

6
tests/ImageSharp.Benchmarks/Codecs/Webp/DecodeWebp.cs

@ -47,7 +47,7 @@ public class DecodeWebp
MagickReadSettings settings = new() { Format = MagickFormat.WebP };
using MemoryStream memoryStream = new(this.webpLossyBytes);
using MagickImage image = new(memoryStream, settings);
return (int)image.Width;
return image.Width;
}
[Benchmark(Description = "ImageSharp Lossy Webp")]
@ -55,7 +55,7 @@ public class DecodeWebp
{
using MemoryStream memoryStream = new(this.webpLossyBytes);
using Image<Rgba32> image = Image.Load<Rgba32>(memoryStream);
return (int)image.Height;
return image.Height;
}
[Benchmark(Description = "Magick Lossless Webp")]
@ -65,7 +65,7 @@ public class DecodeWebp
{ Format = MagickFormat.WebP };
using MemoryStream memoryStream = new(this.webpLossyBytes);
using MagickImage image = new(memoryStream, settings);
return (int)image.Width;
return image.Width;
}
[Benchmark(Description = "ImageSharp Lossless Webp")]

6
tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressRunner.cs

@ -29,7 +29,7 @@ public enum JpegKind
}
[SupportedOSPlatform("windows")]
public sealed class LoadResizeSaveStressRunner
public class LoadResizeSaveStressRunner
{
private const int Quality = 75;
@ -250,10 +250,10 @@ public sealed class LoadResizeSaveStressRunner
public void MagickResize(string input)
{
using MagickImage image = new(input);
this.LogImageProcessed((int)image.Width, (int)image.Height);
this.LogImageProcessed(image.Width, image.Height);
// Resize it to fit a 150x150 square
image.Resize((uint)this.ThumbnailSize, (uint)this.ThumbnailSize);
image.Resize(this.ThumbnailSize, this.ThumbnailSize);
// Reduce the size of the file
image.Strip();

8
tests/ImageSharp.Tests/Formats/Bmp/BmpDecoderTests.cs

@ -224,9 +224,8 @@ public class BmpDecoderTests
}
}
// RLE8Cut case disabled, see https://github.com/SixLabors/ImageSharp/issues/3112
// [WithFile(RLE8Cut, PixelTypes.Rgba32)]
[Theory]
[WithFile(RLE8Cut, PixelTypes.Rgba32)]
[WithFile(RLE8Delta, PixelTypes.Rgba32)]
public void BmpDecoder_CanDecode_RunLengthEncoded_8Bit_WithDelta_MagickRefDecoder<TPixel>(TestImageProvider<TPixel> provider)
where TPixel : unmanaged, IPixel<TPixel>
@ -237,12 +236,11 @@ public class BmpDecoderTests
image.CompareToOriginal(provider, MagickReferenceDecoder.Png);
}
// RLE8Inverted cases disabled, see https://github.com/SixLabors/ImageSharp/issues/3112.
// [WithFile(RLE8Inverted, PixelTypes.Rgba32, false)]
// [WithFile(RLE8Inverted, PixelTypes.Rgba32, true)]
[Theory]
[WithFile(RLE8, PixelTypes.Rgba32, false)]
[WithFile(RLE8Inverted, PixelTypes.Rgba32, false)]
[WithFile(RLE8, PixelTypes.Rgba32, true)]
[WithFile(RLE8Inverted, PixelTypes.Rgba32, true)]
public void BmpDecoder_CanDecode_RunLengthEncoded_8Bit<TPixel>(TestImageProvider<TPixel> provider, bool enforceDiscontiguousBuffers)
where TPixel : unmanaged, IPixel<TPixel>
{

14
tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs

@ -58,14 +58,14 @@ public class MagickReferenceDecoder : ImageDecoder
MagickReadSettings settings = new()
{
FrameCount = options.MaxFrames
FrameCount = (int)options.MaxFrames
};
settings.SetDefines(bmpReadDefines);
settings.SetDefines(pngReadDefines);
using MagickImageCollection magickImageCollection = new(stream, settings);
int imageWidth = (int)magickImageCollection.Max(x => x.Width);
int imageHeight = (int)magickImageCollection.Max(x => x.Height);
int imageWidth = magickImageCollection.Max(x => x.Width);
int imageHeight = magickImageCollection.Max(x => x.Height);
List<ImageFrame<TPixel>> framesList = [];
foreach (IMagickImage<ushort> magicFrame in magickImageCollection)
@ -74,10 +74,10 @@ public class MagickReferenceDecoder : ImageDecoder
framesList.Add(frame);
Buffer2DRegion<TPixel> buffer = frame.PixelBuffer.GetRegion(
imageWidth - (int)magicFrame.Width,
imageHeight - (int)magicFrame.Height,
(int)magicFrame.Width,
(int)magicFrame.Height);
imageWidth - magicFrame.Width,
imageHeight - magicFrame.Height,
magicFrame.Width,
magicFrame.Height);
using IUnsafePixelCollection<ushort> pixels = magicFrame.GetPixelsUnsafe();
if (magicFrame.Depth is 12 or 10 or 8 or 6 or 5 or 4 or 3 or 2 or 1)

Loading…
Cancel
Save