From c27427615b01c63a25c506d39c95b910939c37f4 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Fri, 28 Feb 2020 17:42:06 +0100 Subject: [PATCH] Additional webp lossy tests --- .../Formats/WebP/WebPDecoderTests.cs | 63 +++++++++++++----- tests/ImageSharp.Tests/TestImages.cs | 46 +++++++------ tests/Images/Input/WebP/bike_lossy.webp | Bin 9396 -> 39244 bytes .../Input/WebP/bike_lossy_complex_filter.webp | Bin 0 -> 9396 bytes 4 files changed, 72 insertions(+), 37 deletions(-) create mode 100644 tests/Images/Input/WebP/bike_lossy_complex_filter.webp diff --git a/tests/ImageSharp.Tests/Formats/WebP/WebPDecoderTests.cs b/tests/ImageSharp.Tests/Formats/WebP/WebPDecoderTests.cs index 77768639cb..8538071a0f 100644 --- a/tests/ImageSharp.Tests/Formats/WebP/WebPDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/WebP/WebPDecoderTests.cs @@ -23,8 +23,8 @@ namespace SixLabors.ImageSharp.Tests.Formats.WebP [Theory] [InlineData(Lossless.Lossless1, 1000, 307, 24)] [InlineData(Lossless.Lossless2, 1000, 307, 24)] - [InlineData(Lossy.Alpha.LossyAlpha1, 1000, 307, 32)] - [InlineData(Lossy.Alpha.LossyAlpha2, 1000, 307, 32)] + [InlineData(Lossy.Alpha1, 1000, 307, 32)] + [InlineData(Lossy.Alpha2, 1000, 307, 32)] public void Identify_DetectsCorrectDimensions( string imagePath, int expectedWidth, @@ -44,17 +44,16 @@ namespace SixLabors.ImageSharp.Tests.Formats.WebP [Theory] [WithFile(Lossy.Bike, PixelTypes.Rgba32)] - [WithFile(Lossy.LenaIccp, PixelTypes.Rgba32)] - [WithFile(Lossy.Lossy01, PixelTypes.Rgba32)] - [WithFile(Lossy.Lossy02, PixelTypes.Rgba32)] - [WithFile(Lossy.Lossy03, PixelTypes.Rgba32)] - [WithFile(Lossy.Lossy04, PixelTypes.Rgba32)] - [WithFile(Lossy.Lossy05, PixelTypes.Rgba32)] - [WithFile(Lossy.Lossy06, PixelTypes.Rgba32)] - [WithFile(Lossy.Lossy07, PixelTypes.Rgba32)] - [WithFile(Lossy.Lossy08, PixelTypes.Rgba32)] - [WithFile(Lossy.Lossy09, PixelTypes.Rgba32)] - public void WebpDecoder_CanDecode_Lossy(TestImageProvider provider) + [WithFile(Lossy.NoFilter01, PixelTypes.Rgba32)] + [WithFile(Lossy.NoFilter02, PixelTypes.Rgba32)] + [WithFile(Lossy.NoFilter03, PixelTypes.Rgba32)] + [WithFile(Lossy.NoFilter04, PixelTypes.Rgba32)] + [WithFile(Lossy.NoFilter05, PixelTypes.Rgba32)] + [WithFile(Lossy.NoFilter06, PixelTypes.Rgba32)] + [WithFile(Lossy.NoFilter07, PixelTypes.Rgba32)] + [WithFile(Lossy.NoFilter08, PixelTypes.Rgba32)] + [WithFile(Lossy.NoFilter09, PixelTypes.Rgba32)] + public void WebpDecoder_CanDecode_Lossy_WithoutFilter(TestImageProvider provider) where TPixel : struct, IPixel { using (Image image = provider.GetImage(WebpDecoder)) @@ -65,11 +64,39 @@ namespace SixLabors.ImageSharp.Tests.Formats.WebP } [Theory] - [WithFile(Lossy.Alpha.LossyAlpha1, PixelTypes.Rgba32)] - [WithFile(Lossy.Alpha.LossyAlpha2, PixelTypes.Rgba32)] - [WithFile(Lossy.Alpha.LossyAlpha3, PixelTypes.Rgba32)] - [WithFile(Lossy.Alpha.LossyAlpha4, PixelTypes.Rgba32)] - [WithFile(Lossy.Alpha.LossyAlphaNoCompression, PixelTypes.Rgba32)] + [WithFile(Lossy.SimpleFilter01, PixelTypes.Rgba32)] + [WithFile(Lossy.SimpleFilter02, PixelTypes.Rgba32)] + public void WebpDecoder_CanDecode_Lossy_WithSimpleFilter(TestImageProvider provider) + where TPixel : struct, IPixel + { + using (Image image = provider.GetImage(WebpDecoder)) + { + image.DebugSave(provider); + image.CompareToOriginal(provider, ReferenceDecoder); + } + } + + [Theory] + [WithFile(Lossy.IccpComplexFilter, PixelTypes.Rgba32)] + [WithFile(Lossy.VeryShort, PixelTypes.Rgba32)] + [WithFile(Lossy.BikeComplexFilter, PixelTypes.Rgba32)] + [WithFile(Lossy.ComplexFilter01, PixelTypes.Rgba32)] + public void WebpDecoder_CanDecode_Lossy_WithComplexFilter(TestImageProvider provider) + where TPixel : struct, IPixel + { + using (Image image = provider.GetImage(WebpDecoder)) + { + image.DebugSave(provider); + image.CompareToOriginal(provider, ReferenceDecoder); + } + } + + [Theory] + [WithFile(Lossy.Alpha1, PixelTypes.Rgba32)] + [WithFile(Lossy.Alpha2, PixelTypes.Rgba32)] + [WithFile(Lossy.Alpha3, PixelTypes.Rgba32)] + [WithFile(Lossy.Alpha4, PixelTypes.Rgba32)] + [WithFile(Lossy.AlphaNoCompression, PixelTypes.Rgba32)] public void WebpDecoder_CanDecode_Lossy_WithAlpha(TestImageProvider provider) where TPixel : struct, IPixel { diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index 28613b5c81..c15a5ab811 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -428,27 +428,35 @@ namespace SixLabors.ImageSharp.Tests public static class Lossy { + // Lossy images without macroblock filtering. public const string Bike = "WebP/bike_lossy.webp"; - public const string LenaIccp = "WebP/lossy_iccp.webp"; + public const string NoFilter01 = "WebP/vp80-01-intra-1400.webp"; + public const string NoFilter02 = "WebP/vp80-00-comprehensive-010.webp"; + public const string NoFilter03 = "WebP/vp80-00-comprehensive-005.webp"; + public const string NoFilter04 = "WebP/vp80-01-intra-1417.webp"; + public const string NoFilter05 = "WebP/vp80-02-inter-1402.webp"; + public const string NoFilter06 = "WebP/vp80-03-segmentation-1401.webp"; + public const string NoFilter07 = "WebP/vp80-03-segmentation-1403.webp"; + public const string NoFilter08 = "WebP/vp80-03-segmentation-1407.webp"; + public const string NoFilter09 = "WebP/test.webp"; + + // Lossy images with a simple filter. + public const string SimpleFilter01 = "WebP/segment01.webp"; + public const string SimpleFilter02 = "WebP/segment02.webp"; + + // Losyy images with a complex filter. + public const string IccpComplexFilter = "WebP/lossy_iccp.webp"; public const string VeryShort = "WebP/very_short.webp"; - public const string Lossy01 = "WebP/vp80-01-intra-1400.webp"; - public const string Lossy02 = "WebP/vp80-00-comprehensive-010.webp"; - public const string Lossy03 = "WebP/vp80-01-intra-1417.webp"; - public const string Lossy04 = "WebP/vp80-02-inter-1402.webp"; - public const string Lossy05 = "WebP/vp80-03-segmentation-1401.webp"; - public const string Lossy06 = "WebP/vp80-02-inter-1418.webp"; - public const string Lossy07 = "WebP/vp80-03-segmentation-1403.webp"; - public const string Lossy08 = "WebP/vp80-03-segmentation-1407.webp"; - public const string Lossy09 = "WebP/test.webp"; - - public static class Alpha - { - public const string LossyAlpha1 = "WebP/lossy_alpha1.webp"; - public const string LossyAlpha2 = "WebP/lossy_alpha2.webp"; - public const string LossyAlpha3 = "WebP/lossy_alpha3.webp"; - public const string LossyAlpha4 = "WebP/lossy_alpha4.webp"; - public const string LossyAlphaNoCompression = "WebP/alpha_no_compression.webp"; - } + public const string BikeComplexFilter = "WebP/bike_lossy_complex_filter.webp"; + public const string ComplexFilter01 = "WebP/vp80-02-inter-1418.webp"; + public const string ComplexFilter02 = "WebP/vp80-02-inter-1418.webp"; + + // Lossy images with an alpha channel. + public const string Alpha1 = "WebP/lossy_alpha1.webp"; + public const string Alpha2 = "WebP/lossy_alpha2.webp"; + public const string Alpha3 = "WebP/lossy_alpha3.webp"; + public const string Alpha4 = "WebP/lossy_alpha4.webp"; + public const string AlphaNoCompression = "WebP/alpha_no_compression.webp"; } public static readonly string[] All = diff --git a/tests/Images/Input/WebP/bike_lossy.webp b/tests/Images/Input/WebP/bike_lossy.webp index 9b5d6224530fd9dd9e0f43355ff95fae7a8a3bf9..2e1b7b33a1bbfa55df66e94d727ea91834999bcf 100644 GIT binary patch literal 39244 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 PWk?7=Z_45KV8lNGW9dWD literal 9396 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 diff --git a/tests/Images/Input/WebP/bike_lossy_complex_filter.webp b/tests/Images/Input/WebP/bike_lossy_complex_filter.webp new file mode 100644 index 0000000000000000000000000000000000000000..9b5d6224530fd9dd9e0f43355ff95fae7a8a3bf9 GIT binary patch literal 9396 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 literal 0 HcmV?d00001