From e78190f647185c7a8eb68145333d9a8992dd7ba2 Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Thu, 6 Jan 2022 11:16:05 +0300 Subject: [PATCH 001/244] implement read&write encoded string tags --- .../Metadata/Profiles/Exif/ExifConstants.cs | 64 +++++++++++++++++++ .../Metadata/Profiles/Exif/ExifReader.cs | 9 ++- .../Metadata/Profiles/Exif/ExifWriter.cs | 36 ++++++++--- .../Profiles/Exif/Values/EncodedString.cs | 52 +++++++++++++++ .../Profiles/Exif/Values/EncodedStringCode.cs | 31 +++++++++ .../Profiles/Exif/Values/ExifEncodedString.cs | 48 ++++++++++++++ .../Formats/Jpg/JpegDecoderTests.Metadata.cs | 32 ++++++++++ 7 files changed, 262 insertions(+), 10 deletions(-) create mode 100644 src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs create mode 100644 src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedStringCode.cs create mode 100644 src/ImageSharp/Metadata/Profiles/Exif/Values/ExifEncodedString.cs diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs index 0c81f14dd..f00c7f5b2 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs @@ -2,11 +2,25 @@ // Licensed under the Apache License, Version 2.0. using System; +using System.Buffers.Binary; +using System.Text; namespace SixLabors.ImageSharp.Metadata.Profiles.Exif { internal static class ExifConstants { + private const ulong AsciiCode = 0x_41_53_43_49_49_00_00_00; + private const ulong JISCode = 0x_4A_49_53_00_00_00_00_00; + private const ulong UnicodeCode = 0x_55_4E_49_43_4F_44_45_00; + private const ulong UndefinedCode = 0x_00_00_00_00_00_00_00_00; + + private static readonly byte[] AsciiCodeBytes = { 0x41, 0x53, 0x43, 0x49, 0x49, 0, 0, 0 }; + private static readonly byte[] JISCodeBytes = { 0x4A, 0x49, 0x53, 0, 0, 0, 0, 0 }; + private static readonly byte[] UnicodeCodeBytes = { 0x55, 0x4E, 0x49, 0x43, 0x4F, 0x44, 0x45, 0 }; + private static readonly byte[] UndefinedCodeBytes = { 0, 0, 0, 0, 0, 0, 0, 0 }; + + public const int CharacterCodeBytesLength = 8; + public static ReadOnlySpan LittleEndianByteOrderMarker => new byte[] { (byte)'I', @@ -22,5 +36,55 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif 0x00, 0x2A }; + + public static Encoding DefaultAsciiEncoding => Encoding.UTF8; + + public static Encoding JIS0208Encoding => Encoding.GetEncoding(932); + + public static bool TryDetect(ReadOnlySpan buffer, out EncodedStringCode code) + { + if (buffer.Length >= CharacterCodeBytesLength) + { + ulong test = BinaryPrimitives.ReadUInt64LittleEndian(buffer); + switch (test) + { + case AsciiCode: + code = EncodedStringCode.ASCII; + return true; + case JISCode: + code = EncodedStringCode.JIS; + return true; + case UnicodeCode: + code = EncodedStringCode.Unicode; + return true; + case UndefinedCode: + code = EncodedStringCode.Undefined; + return true; + default: + break; + } + } + + code = default; + return false; + } + + public static ReadOnlySpan GetCodeBytes(EncodedStringCode code) => code switch + { + EncodedStringCode.ASCII => AsciiCodeBytes, + EncodedStringCode.JIS => JISCodeBytes, + EncodedStringCode.Unicode => UnicodeCodeBytes, + EncodedStringCode.Undefined => UndefinedCodeBytes, + _ => UndefinedCodeBytes + }; + + public static Encoding GetEncoding(EncodedStringCode code) => code switch + { + EncodedStringCode.ASCII => Encoding.ASCII, + EncodedStringCode.JIS => JIS0208Encoding, + EncodedStringCode.Unicode => Encoding.Unicode, + EncodedStringCode.Undefined => Encoding.UTF8, + _ => Encoding.UTF8 + }; } } diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs index 2fcd1cc07..496035073 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs @@ -252,7 +252,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif buffer = buffer.Slice(0, nullCharIndex); } - return Encoding.UTF8.GetString(buffer); + return ExifConstants.DefaultAsciiEncoding.GetString(buffer); } private object ConvertValue(ExifDataType dataType, ReadOnlySpan buffer, bool isArray) @@ -360,6 +360,13 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif return this.ConvertToByte(buffer); } + // ext processing + if (ExifConstants.TryDetect(buffer, out EncodedStringCode code)) + { + string text = ExifConstants.GetEncoding(code).GetString(buffer.Slice(ExifConstants.CharacterCodeBytesLength)); + return new EncodedString(text, code); + } + return buffer.ToArray(); default: throw new NotSupportedException($"Data type {dataType} is not supported."); diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs index e2ed56954..d6fe6fe5f 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs @@ -276,7 +276,12 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif if (exifValue.DataType == ExifDataType.Ascii) { - return (uint)Encoding.UTF8.GetBytes((string)value).Length + 1; + return (uint)ExifConstants.DefaultAsciiEncoding.GetByteCount((string)value) + 1; + } + + if (value is EncodedString encodedString) + { + return (uint)ExifConstants.GetEncoding(encodedString.Code).GetByteCount(encodedString.Text) + 8; } if (value is Array arrayValue) @@ -289,11 +294,6 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif private static int WriteArray(IExifValue value, Span destination, int offset) { - if (value.DataType == ExifDataType.Ascii) - { - return WriteValue(ExifDataType.Ascii, value.GetValue(), destination, offset); - } - int newOffset = offset; foreach (object obj in (Array)value.GetValue()) { @@ -378,13 +378,31 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif switch (dataType) { case ExifDataType.Ascii: - offset = Write(Encoding.UTF8.GetBytes((string)value), destination, offset); + offset = Write(ExifConstants.DefaultAsciiEncoding.GetBytes((string)value), destination, offset); destination[offset] = 0; return offset + 1; case ExifDataType.Byte: - case ExifDataType.Undefined: destination[offset] = (byte)value; return offset + 1; + case ExifDataType.Undefined: + if (value is EncodedString encodedString) + { + ReadOnlySpan codeBytes = ExifConstants.GetCodeBytes(encodedString.Code); + codeBytes.CopyTo(destination.Slice(offset)); + offset += codeBytes.Length; + + ReadOnlySpan dataBytes = ExifConstants.GetEncoding(encodedString.Code).GetBytes(encodedString.Text); + dataBytes.CopyTo(destination.Slice(offset)); + offset += dataBytes.Length; + + return offset; + } + else + { + destination[offset] = (byte)value; + return offset + 1; + } + case ExifDataType.DoubleFloat: return WriteDouble((double)value, destination, offset); case ExifDataType.Short: @@ -427,7 +445,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif internal static int WriteValue(IExifValue value, Span destination, int offset) { - if (value.IsArray && value.DataType != ExifDataType.Ascii) + if (value.IsArray) { return WriteArray(value, destination, offset); } diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs new file mode 100644 index 000000000..d95081296 --- /dev/null +++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs @@ -0,0 +1,52 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System; + +namespace SixLabors.ImageSharp.Metadata.Profiles.Exif +{ + public readonly struct EncodedString : IEquatable + { + /// + /// Initializes a new instance of the struct. + /// + /// The text. + public EncodedString(string text) + : this(text, EncodedStringCode.Unicode) + { + } + + /// + /// Initializes a new instance of the struct. + /// + /// The text. + /// The code. + public EncodedString(string text, EncodedStringCode code) + { + this.Text = text; + this.Code = code; + } + + /// + /// Gets the text. + /// + public string Text { get; } + + /// + /// Gets the character ode. + /// + public EncodedStringCode Code { get; } + + /// + public override bool Equals(object obj) => obj is EncodedString other && this.Equals(other); + + /// + public bool Equals(EncodedString other) + { + return this.Text == other.Text && this.Code == other.Code; + } + + /// + public override string ToString() => this.Text; + } +} diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedStringCode.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedStringCode.cs new file mode 100644 index 000000000..ee88b4dc0 --- /dev/null +++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedStringCode.cs @@ -0,0 +1,31 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +namespace SixLabors.ImageSharp.Metadata.Profiles.Exif +{ + /// + /// The 8-byte The character code enum. + /// + public enum EncodedStringCode + { + /// + /// The ASCII ITU-T T.50 IA5 character code. + /// + ASCII, + + /// + /// The JIS X208-1990 character code. + /// + JIS, + + /// + /// The Unicode character code. + /// + Unicode, + + /// + /// The undefined character code. + /// + Undefined + } +} diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifEncodedString.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifEncodedString.cs new file mode 100644 index 000000000..c2e98783a --- /dev/null +++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifEncodedString.cs @@ -0,0 +1,48 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System.Globalization; + +namespace SixLabors.ImageSharp.Metadata.Profiles.Exif +{ + internal sealed class ExifEncodedString : ExifValue + { + public ExifEncodedString(ExifTag tag) + : base(tag) + { + } + + public ExifEncodedString(ExifTagValue tag) + : base(tag) + { + } + + private ExifEncodedString(ExifEncodedString value) + : base(value) + { + } + + public override ExifDataType DataType => ExifDataType.Undefined; + + protected override string StringValue => this.Value.Text; + + public override bool TrySetValue(object value) + { + if (base.TrySetValue(value)) + { + return true; + } + + switch (value) + { + case string stringValue: + this.Value = new EncodedString(stringValue); + return true; + default: + return false; + } + } + + public override IExifValue DeepClone() => new ExifEncodedString(this); + } +} diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs index 7b3e20aa2..07f36cba1 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs @@ -4,6 +4,7 @@ using System; using System.IO; using System.Runtime.CompilerServices; +using System.Text; using SixLabors.ImageSharp.Formats; using SixLabors.ImageSharp.Formats.Jpeg; using SixLabors.ImageSharp.Metadata; @@ -287,5 +288,36 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg Assert.Equal(72, imageInfo.Metadata.HorizontalResolution); Assert.Equal(72, imageInfo.Metadata.VerticalResolution); }); + + [Fact] + public void ExifIfdStructure() + { + byte[] exifBytes; + using var memoryStream = new MemoryStream(); + using (var image = Image.Load(TestFile.GetInputFileFullPath(TestImages.Jpeg.Baseline.Calliphora))) + { + var exif = new ExifProfile(); + exif.SetValue(ExifTag.XPAuthor, Encoding.GetEncoding("UCS-2").GetBytes("Dan Petitt")); + + exif.SetValue(ExifTag.XPTitle, Encoding.GetEncoding("UCS-2").GetBytes("A bit of test metadata for image title")); + exif.SetValue(ExifTag.UserComment, Encoding.ASCII.GetBytes("A bit of normal comment text")); + + exif.SetValue(ExifTag.GPSDateStamp, "2022-01-06"); + exif.SetValue(ExifTag.XPKeywords, new byte[] { 0x41, 0x53, 0x43, 0x49, 0x49, 00, 00, 00, 0x41, 0x41, 0x41 }); + + image.Metadata.ExifProfile = exif; + + exifBytes = exif.ToByteArray(); + + image.Save("c:\\temp\\1.jpeg"); + image.Save(memoryStream, new JpegEncoder()); + } + + memoryStream.Seek(0, SeekOrigin.Begin); + using (var image = Image.Load(memoryStream)) + { + Assert.NotNull(image.Metadata.ExifProfile); + } + } } } From 0082fd276bbbff9aa7804745bc72845351c8b6c2 Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Mon, 10 Jan 2022 17:10:40 +0300 Subject: [PATCH 002/244] encoded string tags --- .../Exif/Tags/ExifTag.EncodedString.cs | 24 +++++++++++++++++++ .../Profiles/Exif/Tags/ExifTag.Undefined.cs | 15 ------------ .../Profiles/Exif/Values/ExifEncodedString.cs | 3 +++ .../Profiles/Exif/Values/ExifValues.cs | 6 ++--- 4 files changed, 30 insertions(+), 18 deletions(-) create mode 100644 src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.EncodedString.cs diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.EncodedString.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.EncodedString.cs new file mode 100644 index 000000000..335098a43 --- /dev/null +++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.EncodedString.cs @@ -0,0 +1,24 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +namespace SixLabors.ImageSharp.Metadata.Profiles.Exif +{ + /// + public abstract partial class ExifTag + { + /// + /// Gets the UserComment exif tag. + /// + public static ExifTag UserComment { get; } = new ExifTag(ExifTagValue.UserComment); + + /// + /// Gets the GPSProcessingMethod exif tag. + /// + public static ExifTag GPSProcessingMethod { get; } = new ExifTag(ExifTagValue.GPSProcessingMethod); + + /// + /// Gets the GPSAreaInformation exif tag. + /// + public static ExifTag GPSAreaInformation { get; } = new ExifTag(ExifTagValue.GPSAreaInformation); + } +} diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Undefined.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Undefined.cs index 1d9af6adc..58886f403 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Undefined.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Undefined.cs @@ -31,11 +31,6 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif /// public static ExifTag MakerNote { get; } = new ExifTag(ExifTagValue.MakerNote); - /// - /// Gets the UserComment exif tag. - /// - public static ExifTag UserComment { get; } = new ExifTag(ExifTagValue.UserComment); - /// /// Gets the FlashpixVersion exif tag. /// @@ -71,16 +66,6 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif /// public static ExifTag ImageSourceData { get; } = new ExifTag(ExifTagValue.ImageSourceData); - /// - /// Gets the GPSProcessingMethod exif tag. - /// - public static ExifTag GPSProcessingMethod { get; } = new ExifTag(ExifTagValue.GPSProcessingMethod); - - /// - /// Gets the GPSAreaInformation exif tag. - /// - public static ExifTag GPSAreaInformation { get; } = new ExifTag(ExifTagValue.GPSAreaInformation); - /// /// Gets the FileSource exif tag. /// diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifEncodedString.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifEncodedString.cs index c2e98783a..dc9885d02 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifEncodedString.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifEncodedString.cs @@ -38,6 +38,9 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif case string stringValue: this.Value = new EncodedString(stringValue); return true; + case byte[] bytes: + this.Value = new EncodedString(ExifConstants.DefaultAsciiEncoding.GetString(bytes)); + return true; default: return false; } diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValues.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValues.cs index 33fb90cc0..b1f887e4d 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValues.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValues.cs @@ -294,7 +294,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif case ExifTagValue.ExifVersion: return new ExifByteArray(ExifTag.ExifVersion, ExifDataType.Undefined); case ExifTagValue.ComponentsConfiguration: return new ExifByteArray(ExifTag.ComponentsConfiguration, ExifDataType.Undefined); case ExifTagValue.MakerNote: return new ExifByteArray(ExifTag.MakerNote, ExifDataType.Undefined); - case ExifTagValue.UserComment: return new ExifByteArray(ExifTag.UserComment, ExifDataType.Undefined); + case ExifTagValue.UserComment: return new ExifEncodedString(ExifTag.UserComment); case ExifTagValue.FlashpixVersion: return new ExifByteArray(ExifTag.FlashpixVersion, ExifDataType.Undefined); case ExifTagValue.SpatialFrequencyResponse: return new ExifByteArray(ExifTag.SpatialFrequencyResponse, ExifDataType.Undefined); case ExifTagValue.SpatialFrequencyResponse2: return new ExifByteArray(ExifTag.SpatialFrequencyResponse2, ExifDataType.Undefined); @@ -302,8 +302,8 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif case ExifTagValue.CFAPattern: return new ExifByteArray(ExifTag.CFAPattern, ExifDataType.Undefined); case ExifTagValue.DeviceSettingDescription: return new ExifByteArray(ExifTag.DeviceSettingDescription, ExifDataType.Undefined); case ExifTagValue.ImageSourceData: return new ExifByteArray(ExifTag.ImageSourceData, ExifDataType.Undefined); - case ExifTagValue.GPSProcessingMethod: return new ExifByteArray(ExifTag.GPSProcessingMethod, ExifDataType.Undefined); - case ExifTagValue.GPSAreaInformation: return new ExifByteArray(ExifTag.GPSAreaInformation, ExifDataType.Undefined); + case ExifTagValue.GPSProcessingMethod: return new ExifEncodedString(ExifTag.GPSProcessingMethod); + case ExifTagValue.GPSAreaInformation: return new ExifEncodedString(ExifTag.GPSAreaInformation); default: return null; } From 83547dbf225b16d2fc52824eb4b8bdc74d2d40cd Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Mon, 10 Jan 2022 17:18:03 +0300 Subject: [PATCH 003/244] update test --- .../Formats/Jpg/JpegDecoderTests.Metadata.cs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs index 07f36cba1..476f4e6c4 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs @@ -297,10 +297,10 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg using (var image = Image.Load(TestFile.GetInputFileFullPath(TestImages.Jpeg.Baseline.Calliphora))) { var exif = new ExifProfile(); - exif.SetValue(ExifTag.XPAuthor, Encoding.GetEncoding("UCS-2").GetBytes("Dan Petitt")); + exif.SetValue(ExifTag.XPAuthor, Encoding.GetEncoding("UCS-2").GetBytes("Dan Petitt")); - exif.SetValue(ExifTag.XPTitle, Encoding.GetEncoding("UCS-2").GetBytes("A bit of test metadata for image title")); - exif.SetValue(ExifTag.UserComment, Encoding.ASCII.GetBytes("A bit of normal comment text")); + exif.SetValue(ExifTag.XPTitle, Encoding.GetEncoding("UCS-2").GetBytes("A bit of test metadata for image title")); + exif.SetValue(ExifTag.UserComment, new EncodedString("A bit of normal comment text", EncodedStringCode.ASCII)); exif.SetValue(ExifTag.GPSDateStamp, "2022-01-06"); exif.SetValue(ExifTag.XPKeywords, new byte[] { 0x41, 0x53, 0x43, 0x49, 0x49, 00, 00, 00, 0x41, 0x41, 0x41 }); @@ -309,7 +309,6 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg exifBytes = exif.ToByteArray(); - image.Save("c:\\temp\\1.jpeg"); image.Save(memoryStream, new JpegEncoder()); } From d0dbb8e1fab0f162b5e9f2509d9dce2db3fc780c Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Mon, 10 Jan 2022 17:24:44 +0300 Subject: [PATCH 004/244] add hashCode method --- src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs index d95081296..a785c0bf5 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs @@ -46,6 +46,10 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif return this.Text == other.Text && this.Code == other.Code; } + /// + public override int GetHashCode() => + HashCode.Combine(this.Text, this.Code); + /// public override string ToString() => this.Text; } From c1ebf13e286391535b468f3c6763453890f69350 Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Mon, 10 Jan 2022 17:30:08 +0300 Subject: [PATCH 005/244] add missing docs --- src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs index a785c0bf5..1169d2397 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs @@ -5,6 +5,9 @@ using System; namespace SixLabors.ImageSharp.Metadata.Profiles.Exif { + /// + /// The EXIF encoded string structure. + /// public readonly struct EncodedString : IEquatable { /// From 06e1d8b39dc23f16985791a0ef76dc98f8b5f31f Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Wed, 12 Jan 2022 20:37:25 +0300 Subject: [PATCH 006/244] Update src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Günther Foidl --- src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs index f00c7f5b2..2eaaeb8d9 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs @@ -14,7 +14,8 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif private const ulong UnicodeCode = 0x_55_4E_49_43_4F_44_45_00; private const ulong UndefinedCode = 0x_00_00_00_00_00_00_00_00; - private static readonly byte[] AsciiCodeBytes = { 0x41, 0x53, 0x43, 0x49, 0x49, 0, 0, 0 }; + // This uses C# compiler's optimization to refer to the data segment directly. No allocation occurs. + private static ReadOnlySpan AsciiCodeBytes => new byte[] { 0x41, 0x53, 0x43, 0x49, 0x49, 0, 0, 0 }; private static readonly byte[] JISCodeBytes = { 0x4A, 0x49, 0x53, 0, 0, 0, 0, 0 }; private static readonly byte[] UnicodeCodeBytes = { 0x55, 0x4E, 0x49, 0x43, 0x4F, 0x44, 0x45, 0 }; private static readonly byte[] UndefinedCodeBytes = { 0, 0, 0, 0, 0, 0, 0, 0 }; From 53f85acaf0f9719f86589e32fc88d1832fdee941 Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Wed, 12 Jan 2022 20:49:20 +0300 Subject: [PATCH 007/244] build fixes --- .../Metadata/Profiles/Exif/ExifConstants.cs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs index 2eaaeb8d9..898a0d6d1 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs @@ -9,19 +9,13 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif { internal static class ExifConstants { + public const int CharacterCodeBytesLength = 8; + private const ulong AsciiCode = 0x_41_53_43_49_49_00_00_00; private const ulong JISCode = 0x_4A_49_53_00_00_00_00_00; private const ulong UnicodeCode = 0x_55_4E_49_43_4F_44_45_00; private const ulong UndefinedCode = 0x_00_00_00_00_00_00_00_00; - // This uses C# compiler's optimization to refer to the data segment directly. No allocation occurs. - private static ReadOnlySpan AsciiCodeBytes => new byte[] { 0x41, 0x53, 0x43, 0x49, 0x49, 0, 0, 0 }; - private static readonly byte[] JISCodeBytes = { 0x4A, 0x49, 0x53, 0, 0, 0, 0, 0 }; - private static readonly byte[] UnicodeCodeBytes = { 0x55, 0x4E, 0x49, 0x43, 0x4F, 0x44, 0x45, 0 }; - private static readonly byte[] UndefinedCodeBytes = { 0, 0, 0, 0, 0, 0, 0, 0 }; - - public const int CharacterCodeBytesLength = 8; - public static ReadOnlySpan LittleEndianByteOrderMarker => new byte[] { (byte)'I', @@ -42,6 +36,14 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif public static Encoding JIS0208Encoding => Encoding.GetEncoding(932); + private static ReadOnlySpan AsciiCodeBytes => new byte[] { 0x41, 0x53, 0x43, 0x49, 0x49, 0, 0, 0 }; + + private static ReadOnlySpan JISCodeBytes => new byte[] { 0x4A, 0x49, 0x53, 0, 0, 0, 0, 0 }; + + private static ReadOnlySpan UnicodeCodeBytes => new byte[] { 0x55, 0x4E, 0x49, 0x43, 0x4F, 0x44, 0x45, 0 }; + + private static ReadOnlySpan UndefinedCodeBytes => new byte[] { 0, 0, 0, 0, 0, 0, 0, 0 }; + public static bool TryDetect(ReadOnlySpan buffer, out EncodedStringCode code) { if (buffer.Length >= CharacterCodeBytesLength) From aa2eba6f5374d5d198e3193070489a02f5d6e4b4 Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Wed, 12 Jan 2022 20:49:44 +0300 Subject: [PATCH 008/244] add test --- .../Profiles/Exif/Values/ExifValuesTests.cs | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs index a5ca115d4..74e3d1b1e 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs @@ -311,7 +311,6 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Exif.Values { ExifTag.ExifVersion }, { ExifTag.ComponentsConfiguration }, { ExifTag.MakerNote }, - { ExifTag.UserComment }, { ExifTag.FlashpixVersion }, { ExifTag.SpatialFrequencyResponse }, { ExifTag.SpatialFrequencyResponse2 }, @@ -319,6 +318,11 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Exif.Values { ExifTag.CFAPattern }, { ExifTag.DeviceSettingDescription }, { ExifTag.ImageSourceData }, + }; + + public static TheoryData EncodedStringTags => new TheoryData + { + { ExifTag.UserComment }, { ExifTag.GPSProcessingMethod }, { ExifTag.GPSAreaInformation } }; @@ -593,5 +597,19 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Exif.Values var typed = (ExifByteArray)value; Assert.Equal(expected, typed.Value); } + + [Theory] + [MemberData(nameof(EncodedStringTags))] + public void ExifEncodedStringTests(ExifTag tag) + { + var expected = new EncodedString("test string", EncodedStringCode.JIS); + ExifValue value = ExifValues.Create(tag); + + Assert.False(value.TrySetValue(expected.ToString())); + Assert.True(value.TrySetValue(expected)); + + var typed = (ExifEncodedString)value; + Assert.Equal(expected, typed.Value); + } } } From cb9d1b8470a132c6c1f1f7b26e614e44507bb835 Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Wed, 12 Jan 2022 21:04:51 +0300 Subject: [PATCH 009/244] test fix --- .../Metadata/Profiles/Exif/Values/ExifValuesTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs index 74e3d1b1e..032667120 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs @@ -605,7 +605,7 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Exif.Values var expected = new EncodedString("test string", EncodedStringCode.JIS); ExifValue value = ExifValues.Create(tag); - Assert.False(value.TrySetValue(expected.ToString())); + Assert.False(value.TrySetValue(123)); Assert.True(value.TrySetValue(expected)); var typed = (ExifEncodedString)value; From 2e219ed69cba6cd1659f5eb36c13b2cab60a0b0a Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Tue, 18 Jan 2022 11:08:00 +0300 Subject: [PATCH 010/244] renaming, cosmetics --- .../Metadata/Profiles/Exif/ExifConstants.cs | 3 ++- .../Metadata/Profiles/Exif/ExifReader.cs | 4 ++-- .../Metadata/Profiles/Exif/ExifWriter.cs | 4 ++-- .../Profiles/Exif/Values/EncodedString.cs | 18 +++++++++--------- .../Profiles/Exif/Values/EncodedStringCode.cs | 6 +++--- .../Profiles/Exif/Values/ExifEncodedString.cs | 14 +++++--------- .../Formats/Jpg/JpegDecoderTests.Metadata.cs | 2 +- .../Profiles/Exif/Values/ExifValuesTests.cs | 2 +- 8 files changed, 25 insertions(+), 28 deletions(-) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs index 898a0d6d1..e6c7ec247 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs @@ -32,7 +32,8 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif 0x2A }; - public static Encoding DefaultAsciiEncoding => Encoding.UTF8; + // UTF-8 is better than ASCII, UTF-8 encodes the ASCII codes the same way + public static Encoding DefaultEncoding => Encoding.UTF8; public static Encoding JIS0208Encoding => Encoding.GetEncoding(932); diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs index 496035073..4aff835a9 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs @@ -252,7 +252,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif buffer = buffer.Slice(0, nullCharIndex); } - return ExifConstants.DefaultAsciiEncoding.GetString(buffer); + return ExifConstants.DefaultEncoding.GetString(buffer); } private object ConvertValue(ExifDataType dataType, ReadOnlySpan buffer, bool isArray) @@ -364,7 +364,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif if (ExifConstants.TryDetect(buffer, out EncodedStringCode code)) { string text = ExifConstants.GetEncoding(code).GetString(buffer.Slice(ExifConstants.CharacterCodeBytesLength)); - return new EncodedString(text, code); + return new EncodedString(code, text); } return buffer.ToArray(); diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs index d6fe6fe5f..4150a9a50 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs @@ -276,7 +276,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif if (exifValue.DataType == ExifDataType.Ascii) { - return (uint)ExifConstants.DefaultAsciiEncoding.GetByteCount((string)value) + 1; + return (uint)ExifConstants.DefaultEncoding.GetByteCount((string)value) + 1; } if (value is EncodedString encodedString) @@ -378,7 +378,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif switch (dataType) { case ExifDataType.Ascii: - offset = Write(ExifConstants.DefaultAsciiEncoding.GetBytes((string)value), destination, offset); + offset = Write(ExifConstants.DefaultEncoding.GetBytes((string)value), destination, offset); destination[offset] = 0; return offset + 1; case ExifDataType.Byte: diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs index 1169d2397..9e2e2aa14 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs @@ -13,32 +13,32 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif /// /// Initializes a new instance of the struct. /// - /// The text. + /// The text value. public EncodedString(string text) - : this(text, EncodedStringCode.Unicode) + : this(EncodedStringCode.Unicode, text) { } /// /// Initializes a new instance of the struct. /// - /// The text. - /// The code. - public EncodedString(string text, EncodedStringCode code) + /// The character code. + /// The text value. + public EncodedString(EncodedStringCode code, string text) { this.Text = text; this.Code = code; } /// - /// Gets the text. + /// Gets the character ode. /// - public string Text { get; } + public EncodedStringCode Code { get; } /// - /// Gets the character ode. + /// Gets the text. /// - public EncodedStringCode Code { get; } + public string Text { get; } /// public override bool Equals(object obj) => obj is EncodedString other && this.Equals(other); diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedStringCode.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedStringCode.cs index ee88b4dc0..ce812de84 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedStringCode.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedStringCode.cs @@ -4,17 +4,17 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif { /// - /// The 8-byte The character code enum. + /// The 8-byte character code enum. /// public enum EncodedStringCode { /// - /// The ASCII ITU-T T.50 IA5 character code. + /// The ASCII (ITU-T T.50 IA5) character code. /// ASCII, /// - /// The JIS X208-1990 character code. + /// The JIS (X208-1990) character code. /// JIS, diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifEncodedString.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifEncodedString.cs index dc9885d02..4055573c5 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifEncodedString.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifEncodedString.cs @@ -33,17 +33,13 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif return true; } - switch (value) + if (value is string stringValue) { - case string stringValue: - this.Value = new EncodedString(stringValue); - return true; - case byte[] bytes: - this.Value = new EncodedString(ExifConstants.DefaultAsciiEncoding.GetString(bytes)); - return true; - default: - return false; + this.Value = new EncodedString(stringValue); + return true; } + + return false; } public override IExifValue DeepClone() => new ExifEncodedString(this); diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs index 32f76be0c..247dd6441 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs @@ -301,7 +301,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg exif.SetValue(ExifTag.XPAuthor, Encoding.GetEncoding("UCS-2").GetBytes("Dan Petitt")); exif.SetValue(ExifTag.XPTitle, Encoding.GetEncoding("UCS-2").GetBytes("A bit of test metadata for image title")); - exif.SetValue(ExifTag.UserComment, new EncodedString("A bit of normal comment text", EncodedStringCode.ASCII)); + exif.SetValue(ExifTag.UserComment, new EncodedString(EncodedStringCode.ASCII, "A bit of normal comment text")); exif.SetValue(ExifTag.GPSDateStamp, "2022-01-06"); exif.SetValue(ExifTag.XPKeywords, new byte[] { 0x41, 0x53, 0x43, 0x49, 0x49, 00, 00, 00, 0x41, 0x41, 0x41 }); diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs index 032667120..9cab56c5c 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs @@ -602,7 +602,7 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Exif.Values [MemberData(nameof(EncodedStringTags))] public void ExifEncodedStringTests(ExifTag tag) { - var expected = new EncodedString("test string", EncodedStringCode.JIS); + var expected = new EncodedString(EncodedStringCode.JIS, "test string"); ExifValue value = ExifValues.Create(tag); Assert.False(value.TrySetValue(123)); From f954a84a90621696f099ac6b310e8db5fc7cf46a Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Tue, 18 Jan 2022 11:37:56 +0300 Subject: [PATCH 011/244] move EncodedStringCode enum into EncodedString class --- .../Metadata/Profiles/Exif/ExifConstants.cs | 31 +++++++------- .../Metadata/Profiles/Exif/ExifReader.cs | 2 +- .../Profiles/Exif/Values/EncodedString.cs | 40 ++++++++++++++----- .../Profiles/Exif/Values/EncodedStringCode.cs | 31 -------------- .../Formats/Jpg/JpegDecoderTests.Metadata.cs | 2 +- .../Profiles/Exif/Values/ExifValuesTests.cs | 2 +- 6 files changed, 50 insertions(+), 58 deletions(-) delete mode 100644 src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedStringCode.cs diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs index e6c7ec247..398e06ee5 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs @@ -4,6 +4,7 @@ using System; using System.Buffers.Binary; using System.Text; +using static SixLabors.ImageSharp.Metadata.Profiles.Exif.EncodedString; namespace SixLabors.ImageSharp.Metadata.Profiles.Exif { @@ -45,7 +46,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif private static ReadOnlySpan UndefinedCodeBytes => new byte[] { 0, 0, 0, 0, 0, 0, 0, 0 }; - public static bool TryDetect(ReadOnlySpan buffer, out EncodedStringCode code) + public static bool TryDetect(ReadOnlySpan buffer, out CharacterCode code) { if (buffer.Length >= CharacterCodeBytesLength) { @@ -53,16 +54,16 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif switch (test) { case AsciiCode: - code = EncodedStringCode.ASCII; + code = CharacterCode.ASCII; return true; case JISCode: - code = EncodedStringCode.JIS; + code = CharacterCode.JIS; return true; case UnicodeCode: - code = EncodedStringCode.Unicode; + code = CharacterCode.Unicode; return true; case UndefinedCode: - code = EncodedStringCode.Undefined; + code = CharacterCode.Undefined; return true; default: break; @@ -73,21 +74,21 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif return false; } - public static ReadOnlySpan GetCodeBytes(EncodedStringCode code) => code switch + public static ReadOnlySpan GetCodeBytes(CharacterCode code) => code switch { - EncodedStringCode.ASCII => AsciiCodeBytes, - EncodedStringCode.JIS => JISCodeBytes, - EncodedStringCode.Unicode => UnicodeCodeBytes, - EncodedStringCode.Undefined => UndefinedCodeBytes, + CharacterCode.ASCII => AsciiCodeBytes, + CharacterCode.JIS => JISCodeBytes, + CharacterCode.Unicode => UnicodeCodeBytes, + CharacterCode.Undefined => UndefinedCodeBytes, _ => UndefinedCodeBytes }; - public static Encoding GetEncoding(EncodedStringCode code) => code switch + public static Encoding GetEncoding(CharacterCode code) => code switch { - EncodedStringCode.ASCII => Encoding.ASCII, - EncodedStringCode.JIS => JIS0208Encoding, - EncodedStringCode.Unicode => Encoding.Unicode, - EncodedStringCode.Undefined => Encoding.UTF8, + CharacterCode.ASCII => Encoding.ASCII, + CharacterCode.JIS => JIS0208Encoding, + CharacterCode.Unicode => Encoding.Unicode, + CharacterCode.Undefined => Encoding.UTF8, _ => Encoding.UTF8 }; } diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs index 4aff835a9..eb7bb0675 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs @@ -361,7 +361,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif } // ext processing - if (ExifConstants.TryDetect(buffer, out EncodedStringCode code)) + if (ExifConstants.TryDetect(buffer, out EncodedString.CharacterCode code)) { string text = ExifConstants.GetEncoding(code).GetString(buffer.Slice(ExifConstants.CharacterCodeBytesLength)); return new EncodedString(code, text); diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs index 9e2e2aa14..08181fc1f 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs @@ -15,7 +15,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif /// /// The text value. public EncodedString(string text) - : this(EncodedStringCode.Unicode, text) + : this(CharacterCode.Unicode, text) { } @@ -24,16 +24,42 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif /// /// The character code. /// The text value. - public EncodedString(EncodedStringCode code, string text) + public EncodedString(CharacterCode code, string text) { this.Text = text; this.Code = code; } + /// + /// The 8-byte character code enum. + /// + public enum CharacterCode + { + /// + /// The ASCII (ITU-T T.50 IA5) character code. + /// + ASCII, + + /// + /// The JIS (X208-1990) character code. + /// + JIS, + + /// + /// The Unicode character code. + /// + Unicode, + + /// + /// The undefined character code. + /// + Undefined + } + /// /// Gets the character ode. /// - public EncodedStringCode Code { get; } + public CharacterCode Code { get; } /// /// Gets the text. @@ -44,14 +70,10 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif public override bool Equals(object obj) => obj is EncodedString other && this.Equals(other); /// - public bool Equals(EncodedString other) - { - return this.Text == other.Text && this.Code == other.Code; - } + public bool Equals(EncodedString other) => this.Text == other.Text && this.Code == other.Code; /// - public override int GetHashCode() => - HashCode.Combine(this.Text, this.Code); + public override int GetHashCode() => HashCode.Combine(this.Text, this.Code); /// public override string ToString() => this.Text; diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedStringCode.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedStringCode.cs deleted file mode 100644 index ce812de84..000000000 --- a/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedStringCode.cs +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) Six Labors. -// Licensed under the Apache License, Version 2.0. - -namespace SixLabors.ImageSharp.Metadata.Profiles.Exif -{ - /// - /// The 8-byte character code enum. - /// - public enum EncodedStringCode - { - /// - /// The ASCII (ITU-T T.50 IA5) character code. - /// - ASCII, - - /// - /// The JIS (X208-1990) character code. - /// - JIS, - - /// - /// The Unicode character code. - /// - Unicode, - - /// - /// The undefined character code. - /// - Undefined - } -} diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs index 247dd6441..f7d3f5a65 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs @@ -301,7 +301,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg exif.SetValue(ExifTag.XPAuthor, Encoding.GetEncoding("UCS-2").GetBytes("Dan Petitt")); exif.SetValue(ExifTag.XPTitle, Encoding.GetEncoding("UCS-2").GetBytes("A bit of test metadata for image title")); - exif.SetValue(ExifTag.UserComment, new EncodedString(EncodedStringCode.ASCII, "A bit of normal comment text")); + exif.SetValue(ExifTag.UserComment, new EncodedString(EncodedString.CharacterCode.ASCII, "A bit of normal comment text")); exif.SetValue(ExifTag.GPSDateStamp, "2022-01-06"); exif.SetValue(ExifTag.XPKeywords, new byte[] { 0x41, 0x53, 0x43, 0x49, 0x49, 00, 00, 00, 0x41, 0x41, 0x41 }); diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs index 9cab56c5c..a121941e5 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs @@ -602,7 +602,7 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Exif.Values [MemberData(nameof(EncodedStringTags))] public void ExifEncodedStringTests(ExifTag tag) { - var expected = new EncodedString(EncodedStringCode.JIS, "test string"); + var expected = new EncodedString(EncodedString.CharacterCode.JIS, "test string"); ExifValue value = ExifValues.Create(tag); Assert.False(value.TrySetValue(123)); From c71b2aac4efc80c1195d8795c6a1c44948630185 Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Wed, 19 Jan 2022 10:38:14 +0300 Subject: [PATCH 012/244] small refactory EncodedString methods --- .../Metadata/Profiles/Exif/ExifConstants.cs | 65 ------------- .../Profiles/Exif/ExifEncodedStringHelpers.cs | 92 +++++++++++++++++++ .../Metadata/Profiles/Exif/ExifReader.cs | 20 ++-- .../Metadata/Profiles/Exif/ExifWriter.cs | 6 +- 4 files changed, 107 insertions(+), 76 deletions(-) create mode 100644 src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs index 398e06ee5..543e3d5c4 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifConstants.cs @@ -2,21 +2,12 @@ // Licensed under the Apache License, Version 2.0. using System; -using System.Buffers.Binary; using System.Text; -using static SixLabors.ImageSharp.Metadata.Profiles.Exif.EncodedString; namespace SixLabors.ImageSharp.Metadata.Profiles.Exif { internal static class ExifConstants { - public const int CharacterCodeBytesLength = 8; - - private const ulong AsciiCode = 0x_41_53_43_49_49_00_00_00; - private const ulong JISCode = 0x_4A_49_53_00_00_00_00_00; - private const ulong UnicodeCode = 0x_55_4E_49_43_4F_44_45_00; - private const ulong UndefinedCode = 0x_00_00_00_00_00_00_00_00; - public static ReadOnlySpan LittleEndianByteOrderMarker => new byte[] { (byte)'I', @@ -35,61 +26,5 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif // UTF-8 is better than ASCII, UTF-8 encodes the ASCII codes the same way public static Encoding DefaultEncoding => Encoding.UTF8; - - public static Encoding JIS0208Encoding => Encoding.GetEncoding(932); - - private static ReadOnlySpan AsciiCodeBytes => new byte[] { 0x41, 0x53, 0x43, 0x49, 0x49, 0, 0, 0 }; - - private static ReadOnlySpan JISCodeBytes => new byte[] { 0x4A, 0x49, 0x53, 0, 0, 0, 0, 0 }; - - private static ReadOnlySpan UnicodeCodeBytes => new byte[] { 0x55, 0x4E, 0x49, 0x43, 0x4F, 0x44, 0x45, 0 }; - - private static ReadOnlySpan UndefinedCodeBytes => new byte[] { 0, 0, 0, 0, 0, 0, 0, 0 }; - - public static bool TryDetect(ReadOnlySpan buffer, out CharacterCode code) - { - if (buffer.Length >= CharacterCodeBytesLength) - { - ulong test = BinaryPrimitives.ReadUInt64LittleEndian(buffer); - switch (test) - { - case AsciiCode: - code = CharacterCode.ASCII; - return true; - case JISCode: - code = CharacterCode.JIS; - return true; - case UnicodeCode: - code = CharacterCode.Unicode; - return true; - case UndefinedCode: - code = CharacterCode.Undefined; - return true; - default: - break; - } - } - - code = default; - return false; - } - - public static ReadOnlySpan GetCodeBytes(CharacterCode code) => code switch - { - CharacterCode.ASCII => AsciiCodeBytes, - CharacterCode.JIS => JISCodeBytes, - CharacterCode.Unicode => UnicodeCodeBytes, - CharacterCode.Undefined => UndefinedCodeBytes, - _ => UndefinedCodeBytes - }; - - public static Encoding GetEncoding(CharacterCode code) => code switch - { - CharacterCode.ASCII => Encoding.ASCII, - CharacterCode.JIS => JIS0208Encoding, - CharacterCode.Unicode => Encoding.Unicode, - CharacterCode.Undefined => Encoding.UTF8, - _ => Encoding.UTF8 - }; } } diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs new file mode 100644 index 000000000..c519fb23d --- /dev/null +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs @@ -0,0 +1,92 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System; +using System.Buffers.Binary; +using System.Text; +using static SixLabors.ImageSharp.Metadata.Profiles.Exif.EncodedString; + +namespace SixLabors.ImageSharp.Metadata.Profiles.Exif +{ + internal static class ExifEncodedStringHelpers + { + public const int CharacterCodeBytesLength = 8; + + private const ulong AsciiCode = 0x_41_53_43_49_49_00_00_00; + private const ulong JISCode = 0x_4A_49_53_00_00_00_00_00; + private const ulong UnicodeCode = 0x_55_4E_49_43_4F_44_45_00; + private const ulong UndefinedCode = 0x_00_00_00_00_00_00_00_00; + + private static ReadOnlySpan AsciiCodeBytes => new byte[] { 0x41, 0x53, 0x43, 0x49, 0x49, 0, 0, 0 }; + + private static ReadOnlySpan JISCodeBytes => new byte[] { 0x4A, 0x49, 0x53, 0, 0, 0, 0, 0 }; + + private static ReadOnlySpan UnicodeCodeBytes => new byte[] { 0x55, 0x4E, 0x49, 0x43, 0x4F, 0x44, 0x45, 0 }; + + private static ReadOnlySpan UndefinedCodeBytes => new byte[] { 0, 0, 0, 0, 0, 0, 0, 0 }; + + private static Encoding JIS0208Encoding => Encoding.GetEncoding(932); + + private static bool TryDetect(ReadOnlySpan buffer, out CharacterCode code) + { + if (buffer.Length >= CharacterCodeBytesLength) + { + ulong test = BinaryPrimitives.ReadUInt64LittleEndian(buffer); + switch (test) + { + case AsciiCode: + code = CharacterCode.ASCII; + return true; + case JISCode: + code = CharacterCode.JIS; + return true; + case UnicodeCode: + code = CharacterCode.Unicode; + return true; + case UndefinedCode: + code = CharacterCode.Undefined; + return true; + default: + break; + } + } + + code = default; + return false; + } + + public static ReadOnlySpan GetCodeBytes(CharacterCode code) => code switch + { + CharacterCode.ASCII => AsciiCodeBytes, + CharacterCode.JIS => JISCodeBytes, + CharacterCode.Unicode => UnicodeCodeBytes, + CharacterCode.Undefined => UndefinedCodeBytes, + _ => UndefinedCodeBytes + }; + + public static Encoding GetEncoding(CharacterCode code) => code switch + { + CharacterCode.ASCII => Encoding.ASCII, + CharacterCode.JIS => JIS0208Encoding, + CharacterCode.Unicode => Encoding.Unicode, + CharacterCode.Undefined => Encoding.UTF8, + _ => Encoding.UTF8 + }; + + public static bool TryCreate(ReadOnlySpan buffer, out EncodedString encodedString) + { + if (TryDetect(buffer, out CharacterCode code)) + { + string text = GetEncoding(code).GetString(buffer.Slice(CharacterCodeBytesLength)); + encodedString = new EncodedString(code, text); + return true; + } + + encodedString = default; + return false; + } + + public static uint GetDataLength(EncodedString encodedString) => + (uint)GetEncoding(encodedString.Code).GetByteCount(encodedString.Text) + CharacterCodeBytesLength; + } +} diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs index eb7bb0675..f50ecbad8 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs @@ -220,6 +220,11 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif if (this.TryReadSpan(buffer)) { object value = this.ConvertValue(tag.DataType, buffer, tag.NumberOfComponents > 1 || tag.Exif.IsArray); + if (value is EncodedString) + { + // Console.WriteLine("EncodedString tag: " + (ushort)tag.Exif.Tag); + } + this.Add(values, tag.Exif, value); } } @@ -269,12 +274,15 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif case ExifDataType.Ascii: return this.ConvertToString(buffer); case ExifDataType.Byte: + { if (!isArray) { return this.ConvertToByte(buffer); } - return buffer.ToArray(); + return ExifEncodedStringHelpers.TryCreate(buffer, out EncodedString encodedString) ? encodedString : buffer.ToArray(); + } + case ExifDataType.DoubleFloat: if (!isArray) { @@ -355,19 +363,15 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif return ToArray(dataType, buffer, this.ConvertToUInt64); case ExifDataType.Undefined: + { if (!isArray) { return this.ConvertToByte(buffer); } - // ext processing - if (ExifConstants.TryDetect(buffer, out EncodedString.CharacterCode code)) - { - string text = ExifConstants.GetEncoding(code).GetString(buffer.Slice(ExifConstants.CharacterCodeBytesLength)); - return new EncodedString(code, text); - } + return ExifEncodedStringHelpers.TryCreate(buffer, out EncodedString encodedString) ? encodedString : buffer.ToArray(); + } - return buffer.ToArray(); default: throw new NotSupportedException($"Data type {dataType} is not supported."); } diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs index 4150a9a50..dfd7a599b 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs @@ -281,7 +281,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif if (value is EncodedString encodedString) { - return (uint)ExifConstants.GetEncoding(encodedString.Code).GetByteCount(encodedString.Text) + 8; + return ExifEncodedStringHelpers.GetDataLength(encodedString); } if (value is Array arrayValue) @@ -387,11 +387,11 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif case ExifDataType.Undefined: if (value is EncodedString encodedString) { - ReadOnlySpan codeBytes = ExifConstants.GetCodeBytes(encodedString.Code); + ReadOnlySpan codeBytes = ExifEncodedStringHelpers.GetCodeBytes(encodedString.Code); codeBytes.CopyTo(destination.Slice(offset)); offset += codeBytes.Length; - ReadOnlySpan dataBytes = ExifConstants.GetEncoding(encodedString.Code).GetBytes(encodedString.Text); + ReadOnlySpan dataBytes = ExifEncodedStringHelpers.GetEncoding(encodedString.Code).GetBytes(encodedString.Text); dataBytes.CopyTo(destination.Slice(offset)); offset += dataBytes.Length; From cbb4514a03d2d6fad1a398bc31357de064c1db1a Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Wed, 19 Jan 2022 10:40:54 +0300 Subject: [PATCH 013/244] Change data types of UCS-2 tags: byte[] -> string --- .../Profiles/Exif/Tags/ExifTag.ByteArray.cs | 25 ------------------- .../Profiles/Exif/Tags/ExifTag.String.cs | 25 +++++++++++++++++++ .../Profiles/Exif/Values/ExifValues.cs | 13 +++++----- .../Formats/Jpg/JpegDecoderTests.Metadata.cs | 6 ++--- .../Profiles/Exif/ExifProfileTests.cs | 4 +-- 5 files changed, 37 insertions(+), 36 deletions(-) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.ByteArray.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.ByteArray.cs index fdde66c51..964fb6e94 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.ByteArray.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.ByteArray.cs @@ -41,31 +41,6 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif /// public static ExifTag TIFFEPStandardID => new ExifTag(ExifTagValue.TIFFEPStandardID); - /// - /// Gets the XPTitle exif tag. - /// - public static ExifTag XPTitle => new ExifTag(ExifTagValue.XPTitle); - - /// - /// Gets the XPComment exif tag. - /// - public static ExifTag XPComment => new ExifTag(ExifTagValue.XPComment); - - /// - /// Gets the XPAuthor exif tag. - /// - public static ExifTag XPAuthor => new ExifTag(ExifTagValue.XPAuthor); - - /// - /// Gets the XPKeywords exif tag. - /// - public static ExifTag XPKeywords => new ExifTag(ExifTagValue.XPKeywords); - - /// - /// Gets the XPSubject exif tag. - /// - public static ExifTag XPSubject => new ExifTag(ExifTagValue.XPSubject); - /// /// Gets the GPSVersionID exif tag. /// diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.String.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.String.cs index 3fc353211..10d50dc6a 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.String.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.String.cs @@ -275,5 +275,30 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif /// Gets the GPSDateStamp exif tag. /// public static ExifTag GPSDateStamp { get; } = new ExifTag(ExifTagValue.GPSDateStamp); + + /// + /// Gets the title tag used by Windows (encoded in UCS2). + /// + public static ExifTag XPTitle => new ExifTag(ExifTagValue.XPTitle); + + /// + /// Gets the comment tag used by Windows (encoded in UCS2). + /// + public static ExifTag XPComment => new ExifTag(ExifTagValue.XPComment); + + /// + /// Gets the author tag used by Windows (encoded in UCS2). + /// + public static ExifTag XPAuthor => new ExifTag(ExifTagValue.XPAuthor); + + /// + /// Gets the keywords tag used by Windows (encoded in UCS2). + /// + public static ExifTag XPKeywords => new ExifTag(ExifTagValue.XPKeywords); + + /// + /// Gets the subject tag used by Windows (encoded in UCS2). + /// + public static ExifTag XPSubject => new ExifTag(ExifTagValue.XPSubject); } } diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValues.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValues.cs index b1f887e4d..54e809ba9 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValues.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValues.cs @@ -46,11 +46,6 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif case ExifTagValue.XMP: return new ExifByteArray(ExifTag.XMP, ExifDataType.Byte); case ExifTagValue.CFAPattern2: return new ExifByteArray(ExifTag.CFAPattern2, ExifDataType.Byte); case ExifTagValue.TIFFEPStandardID: return new ExifByteArray(ExifTag.TIFFEPStandardID, ExifDataType.Byte); - case ExifTagValue.XPTitle: return new ExifByteArray(ExifTag.XPTitle, ExifDataType.Byte); - case ExifTagValue.XPComment: return new ExifByteArray(ExifTag.XPComment, ExifDataType.Byte); - case ExifTagValue.XPAuthor: return new ExifByteArray(ExifTag.XPAuthor, ExifDataType.Byte); - case ExifTagValue.XPKeywords: return new ExifByteArray(ExifTag.XPKeywords, ExifDataType.Byte); - case ExifTagValue.XPSubject: return new ExifByteArray(ExifTag.XPSubject, ExifDataType.Byte); case ExifTagValue.GPSVersionID: return new ExifByteArray(ExifTag.GPSVersionID, ExifDataType.Byte); case ExifTagValue.PixelScale: return new ExifDoubleArray(ExifTag.PixelScale); @@ -285,6 +280,11 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif case ExifTagValue.GPSDestBearingRef: return new ExifString(ExifTag.GPSDestBearingRef); case ExifTagValue.GPSDestDistanceRef: return new ExifString(ExifTag.GPSDestDistanceRef); case ExifTagValue.GPSDateStamp: return new ExifString(ExifTag.GPSDateStamp); + case ExifTagValue.XPTitle: return new ExifString(ExifTag.XPTitle); + case ExifTagValue.XPComment: return new ExifString(ExifTag.XPComment); + case ExifTagValue.XPAuthor: return new ExifString(ExifTag.XPAuthor); + case ExifTagValue.XPKeywords: return new ExifString(ExifTag.XPKeywords); + case ExifTagValue.XPSubject: return new ExifString(ExifTag.XPSubject); case ExifTagValue.FileSource: return new ExifByte(ExifTag.FileSource, ExifDataType.Undefined); case ExifTagValue.SceneType: return new ExifByte(ExifTag.SceneType, ExifDataType.Undefined); @@ -294,7 +294,6 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif case ExifTagValue.ExifVersion: return new ExifByteArray(ExifTag.ExifVersion, ExifDataType.Undefined); case ExifTagValue.ComponentsConfiguration: return new ExifByteArray(ExifTag.ComponentsConfiguration, ExifDataType.Undefined); case ExifTagValue.MakerNote: return new ExifByteArray(ExifTag.MakerNote, ExifDataType.Undefined); - case ExifTagValue.UserComment: return new ExifEncodedString(ExifTag.UserComment); case ExifTagValue.FlashpixVersion: return new ExifByteArray(ExifTag.FlashpixVersion, ExifDataType.Undefined); case ExifTagValue.SpatialFrequencyResponse: return new ExifByteArray(ExifTag.SpatialFrequencyResponse, ExifDataType.Undefined); case ExifTagValue.SpatialFrequencyResponse2: return new ExifByteArray(ExifTag.SpatialFrequencyResponse2, ExifDataType.Undefined); @@ -302,6 +301,8 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif case ExifTagValue.CFAPattern: return new ExifByteArray(ExifTag.CFAPattern, ExifDataType.Undefined); case ExifTagValue.DeviceSettingDescription: return new ExifByteArray(ExifTag.DeviceSettingDescription, ExifDataType.Undefined); case ExifTagValue.ImageSourceData: return new ExifByteArray(ExifTag.ImageSourceData, ExifDataType.Undefined); + + case ExifTagValue.UserComment: return new ExifEncodedString(ExifTag.UserComment); case ExifTagValue.GPSProcessingMethod: return new ExifEncodedString(ExifTag.GPSProcessingMethod); case ExifTagValue.GPSAreaInformation: return new ExifEncodedString(ExifTag.GPSAreaInformation); diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs index e8837bd38..6e0a79db0 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs @@ -310,13 +310,13 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg using (var image = Image.Load(TestFile.GetInputFileFullPath(TestImages.Jpeg.Baseline.Calliphora))) { var exif = new ExifProfile(); - exif.SetValue(ExifTag.XPAuthor, Encoding.GetEncoding("UCS-2").GetBytes("Dan Petitt")); + exif.SetValue(ExifTag.XPAuthor, "Dan Petitt"); - exif.SetValue(ExifTag.XPTitle, Encoding.GetEncoding("UCS-2").GetBytes("A bit of test metadata for image title")); + exif.SetValue(ExifTag.XPTitle, "A bit of test metadata for image title"); exif.SetValue(ExifTag.UserComment, new EncodedString(EncodedString.CharacterCode.ASCII, "A bit of normal comment text")); exif.SetValue(ExifTag.GPSDateStamp, "2022-01-06"); - exif.SetValue(ExifTag.XPKeywords, new byte[] { 0x41, 0x53, 0x43, 0x49, 0x49, 00, 00, 00, 0x41, 0x41, 0x41 }); + exif.SetValue(ExifTag.XPKeywords, "Keywords"); image.Metadata.ExifProfile = exif; diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs index 7fc3ff6f1..2b68d2fd1 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs @@ -504,7 +504,7 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Exif public void IfdStructure() { var exif = new ExifProfile(); - exif.SetValue(ExifTag.XPAuthor, Encoding.GetEncoding("UCS-2").GetBytes("Dan Petitt")); + exif.SetValue(ExifTag.XPAuthor, "Dan Petitt"); Span actualBytes = exif.ToByteArray(); @@ -591,7 +591,7 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Exif foreach (IExifValue value in profile.Values) { Assert.NotNull(value.GetValue()); - } + } IExifValue software = profile.GetValue(ExifTag.Software); Assert.Equal("Windows Photo Editor 10.0.10011.16384", software.Value); From 564912843defe3ce5dc16ee644bce84908b5c8fe Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Wed, 19 Jan 2022 12:30:10 +0300 Subject: [PATCH 014/244] correct reading UCS-2 encoded string tags --- .../Profiles/Exif/ExifEncodedStringHelpers.cs | 69 +++++++++++-------- .../Metadata/Profiles/Exif/ExifReader.cs | 31 +++++---- .../Profiles/Exif/Values/ExifValuesTests.cs | 12 ++-- 3 files changed, 65 insertions(+), 47 deletions(-) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs index c519fb23d..6c95780d8 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs @@ -27,34 +27,6 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif private static Encoding JIS0208Encoding => Encoding.GetEncoding(932); - private static bool TryDetect(ReadOnlySpan buffer, out CharacterCode code) - { - if (buffer.Length >= CharacterCodeBytesLength) - { - ulong test = BinaryPrimitives.ReadUInt64LittleEndian(buffer); - switch (test) - { - case AsciiCode: - code = CharacterCode.ASCII; - return true; - case JISCode: - code = CharacterCode.JIS; - return true; - case UnicodeCode: - code = CharacterCode.Unicode; - return true; - case UndefinedCode: - code = CharacterCode.Undefined; - return true; - default: - break; - } - } - - code = default; - return false; - } - public static ReadOnlySpan GetCodeBytes(CharacterCode code) => code switch { CharacterCode.ASCII => AsciiCodeBytes, @@ -88,5 +60,46 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif public static uint GetDataLength(EncodedString encodedString) => (uint)GetEncoding(encodedString.Code).GetByteCount(encodedString.Text) + CharacterCodeBytesLength; + + public static bool IsEncodedString(ExifTagValue tag) + { + switch (tag) + { + case ExifTagValue.UserComment: + case ExifTagValue.GPSProcessingMethod: + case ExifTagValue.GPSAreaInformation: + return true; + default: + return false; + } + } + + private static bool TryDetect(ReadOnlySpan buffer, out CharacterCode code) + { + if (buffer.Length >= CharacterCodeBytesLength) + { + ulong test = BinaryPrimitives.ReadUInt64LittleEndian(buffer); + switch (test) + { + case AsciiCode: + code = CharacterCode.ASCII; + return true; + case JISCode: + code = CharacterCode.JIS; + return true; + case UnicodeCode: + code = CharacterCode.Unicode; + return true; + case UndefinedCode: + code = CharacterCode.Undefined; + return true; + default: + break; + } + } + + code = default; + return false; + } } } diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs index f50ecbad8..323c73c9a 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs @@ -219,7 +219,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif this.Seek(tag.Offset); if (this.TryReadSpan(buffer)) { - object value = this.ConvertValue(tag.DataType, buffer, tag.NumberOfComponents > 1 || tag.Exif.IsArray); + object value = this.ConvertValue(tag.Exif, tag.DataType, buffer, tag.NumberOfComponents > 1 || tag.Exif.IsArray); if (value is EncodedString) { // Console.WriteLine("EncodedString tag: " + (ushort)tag.Exif.Tag); @@ -260,13 +260,26 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif return ExifConstants.DefaultEncoding.GetString(buffer); } - private object ConvertValue(ExifDataType dataType, ReadOnlySpan buffer, bool isArray) + private object ConvertValue(ExifValue exifValue, ExifDataType dataType, ReadOnlySpan buffer, bool isArray) { if (buffer.Length == 0) { return null; } + var tagValue = (ExifTagValue)(ushort)exifValue.Tag; + if (ExifUcs2StringHelpers.IsUcs2Tag(tagValue)) + { + return ExifUcs2StringHelpers.ConvertToString(buffer); + } + else if (ExifEncodedStringHelpers.IsEncodedString(tagValue)) + { + if (ExifEncodedStringHelpers.TryCreate(buffer, out EncodedString encodedString)) + { + return encodedString; + } + } + switch (dataType) { case ExifDataType.Unknown: @@ -274,6 +287,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif case ExifDataType.Ascii: return this.ConvertToString(buffer); case ExifDataType.Byte: + case ExifDataType.Undefined: { if (!isArray) { @@ -362,15 +376,6 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif } return ToArray(dataType, buffer, this.ConvertToUInt64); - case ExifDataType.Undefined: - { - if (!isArray) - { - return this.ConvertToByte(buffer); - } - - return ExifEncodedStringHelpers.TryCreate(buffer, out EncodedString encodedString) ? encodedString : buffer.ToArray(); - } default: throw new NotSupportedException($"Data type {dataType} is not supported."); @@ -430,7 +435,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif } else { - object value = this.ConvertValue(dataType, offsetBuffer.Slice(0, (int)size), numberOfComponents > 1 || exifValue.IsArray); + object value = this.ConvertValue(exifValue, dataType, offsetBuffer.Slice(0, (int)size), numberOfComponents > 1 || exifValue.IsArray); this.Add(values, exifValue, value); } } @@ -504,7 +509,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif } else { - object value = this.ConvertValue(dataType, offsetBuffer.Slice(0, (int)size), numberOfComponents > 1 || exifValue.IsArray); + object value = this.ConvertValue(exifValue, dataType, offsetBuffer.Slice(0, (int)size), numberOfComponents > 1 || exifValue.IsArray); this.Add(values, exifValue, value); } } diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs index a121941e5..b668a2a1f 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs @@ -23,11 +23,6 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Exif.Values { ExifTag.XMP }, { ExifTag.CFAPattern2 }, { ExifTag.TIFFEPStandardID }, - { ExifTag.XPTitle }, - { ExifTag.XPComment }, - { ExifTag.XPAuthor }, - { ExifTag.XPKeywords }, - { ExifTag.XPSubject }, { ExifTag.GPSVersionID }, }; @@ -295,7 +290,12 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Exif.Values { ExifTag.GPSDestLongitudeRef }, { ExifTag.GPSDestBearingRef }, { ExifTag.GPSDestDistanceRef }, - { ExifTag.GPSDateStamp } + { ExifTag.GPSDateStamp }, + { ExifTag.XPTitle }, + { ExifTag.XPComment }, + { ExifTag.XPAuthor }, + { ExifTag.XPKeywords }, + { ExifTag.XPSubject }, }; public static TheoryData UndefinedTags => new TheoryData From 918db05637db4a9fb1ea28fc24628d8b9e5d6232 Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Wed, 19 Jan 2022 12:30:57 +0300 Subject: [PATCH 015/244] add missing file --- .../Profiles/Exif/ExifUcs2StringHelpers.cs | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/ImageSharp/Metadata/Profiles/Exif/ExifUcs2StringHelpers.cs diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifUcs2StringHelpers.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifUcs2StringHelpers.cs new file mode 100644 index 000000000..00554f9ad --- /dev/null +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifUcs2StringHelpers.cs @@ -0,0 +1,30 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System; +using System.Text; + +namespace SixLabors.ImageSharp.Metadata.Profiles.Exif +{ + internal static class ExifUcs2StringHelpers + { + private static Encoding Ucs2Encoding => Encoding.GetEncoding("UCS-2"); + + public static bool IsUcs2Tag(ExifTagValue tag) + { + switch (tag) + { + case ExifTagValue.XPAuthor: + case ExifTagValue.XPComment: + case ExifTagValue.XPKeywords: + case ExifTagValue.XPSubject: + case ExifTagValue.XPTitle: + return true; + default: + return false; + } + } + + public static string ConvertToString(ReadOnlySpan buffer) => Ucs2Encoding.GetString(buffer); + } +} From 14d7b60a12355b410d62132f15c9763c85dcee1a Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Wed, 19 Jan 2022 13:31:58 +0300 Subject: [PATCH 016/244] support writing UCS-2 encoded string --- .../Metadata/Profiles/Exif/ExifUcs2StringHelpers.cs | 2 +- src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs | 12 +++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifUcs2StringHelpers.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifUcs2StringHelpers.cs index 00554f9ad..cff6fe612 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifUcs2StringHelpers.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifUcs2StringHelpers.cs @@ -8,7 +8,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif { internal static class ExifUcs2StringHelpers { - private static Encoding Ucs2Encoding => Encoding.GetEncoding("UCS-2"); + public static Encoding Ucs2Encoding => Encoding.GetEncoding("UCS-2"); public static bool IsUcs2Tag(ExifTagValue tag) { diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs index dfd7a599b..f52d2a314 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs @@ -276,7 +276,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif if (exifValue.DataType == ExifDataType.Ascii) { - return (uint)ExifConstants.DefaultEncoding.GetByteCount((string)value) + 1; + return (uint)(ExifUcs2StringHelpers.IsUcs2Tag((ExifTagValue)(ushort)exifValue.Tag) ? ExifUcs2StringHelpers.Ucs2Encoding : ExifConstants.DefaultEncoding).GetByteCount((string)value) + 1; } if (value is EncodedString encodedString) @@ -297,7 +297,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif int newOffset = offset; foreach (object obj in (Array)value.GetValue()) { - newOffset = WriteValue(value.DataType, obj, destination, newOffset); + newOffset = WriteValue(value, value.DataType, obj, destination, newOffset); } return newOffset; @@ -373,17 +373,15 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif BinaryPrimitives.WriteInt32LittleEndian(destination.Slice(4, 4), value.Denominator); } - private static int WriteValue(ExifDataType dataType, object value, Span destination, int offset) + private static int WriteValue(IExifValue exifValue, ExifDataType dataType, object value, Span destination, int offset) { switch (dataType) { case ExifDataType.Ascii: - offset = Write(ExifConstants.DefaultEncoding.GetBytes((string)value), destination, offset); + offset = Write((ExifUcs2StringHelpers.IsUcs2Tag((ExifTagValue)(ushort)exifValue.Tag) ? ExifUcs2StringHelpers.Ucs2Encoding : ExifConstants.DefaultEncoding).GetBytes((string)value), destination, offset); destination[offset] = 0; return offset + 1; case ExifDataType.Byte: - destination[offset] = (byte)value; - return offset + 1; case ExifDataType.Undefined: if (value is EncodedString encodedString) { @@ -450,7 +448,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif return WriteArray(value, destination, offset); } - return WriteValue(value.DataType, value.GetValue(), destination, offset); + return WriteValue(value, value.DataType, value.GetValue(), destination, offset); } } } From 0fdcf04b30ae833e1095aef257fcd12de5626d37 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Tue, 25 Jan 2022 22:45:31 +1100 Subject: [PATCH 017/244] Expand test and cleanup --- .../Metadata/Profiles/Exif/ExifReader.cs | 7 +- .../Profiles/Exif/Values/ExifValues.cs | 804 ++++++++++++------ .../Profiles/Exif/Values/ExifValuesTests.cs | 17 +- 3 files changed, 548 insertions(+), 280 deletions(-) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs index 323c73c9a..3f1ff0887 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs @@ -220,11 +220,6 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif if (this.TryReadSpan(buffer)) { object value = this.ConvertValue(tag.Exif, tag.DataType, buffer, tag.NumberOfComponents > 1 || tag.Exif.IsArray); - if (value is EncodedString) - { - // Console.WriteLine("EncodedString tag: " + (ushort)tag.Exif.Tag); - } - this.Add(values, tag.Exif, value); } } @@ -469,7 +464,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif // Likewise, tags that point to other IFDs, like e.g. the SubIFDs tag, are now allowed to have the datatype TIFF_IFD8 in BigTIFF. // Again, the old datatypes TIFF_IFD, and the hardly recommendable TIFF_LONG, are still valid, too. // https://www.awaresystems.be/imaging/tiff/bigtiff.html - ExifValue exifValue = null; + ExifValue exifValue; switch (tag) { case ExifTagValue.StripOffsets: diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValues.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValues.cs index 54e809ba9..32e223c14 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValues.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValues.cs @@ -15,21 +15,36 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif { switch (dataType) { - case ExifDataType.Byte: return isArray ? (ExifValue)new ExifByteArray(tag, dataType) : new ExifByte(tag, dataType); - case ExifDataType.DoubleFloat: return isArray ? (ExifValue)new ExifDoubleArray(tag) : new ExifDouble(tag); - case ExifDataType.SingleFloat: return isArray ? (ExifValue)new ExifFloatArray(tag) : new ExifFloat(tag); - case ExifDataType.Long: return isArray ? (ExifValue)new ExifLongArray(tag) : new ExifLong(tag); - case ExifDataType.Long8: return isArray ? (ExifValue)new ExifLong8Array(tag) : new ExifLong8(tag); - case ExifDataType.Rational: return isArray ? (ExifValue)new ExifRationalArray(tag) : new ExifRational(tag); - case ExifDataType.Short: return isArray ? (ExifValue)new ExifShortArray(tag) : new ExifShort(tag); - case ExifDataType.SignedByte: return isArray ? (ExifValue)new ExifSignedByteArray(tag) : new ExifSignedByte(tag); - case ExifDataType.SignedLong: return isArray ? (ExifValue)new ExifSignedLongArray(tag) : new ExifSignedLong(tag); - case ExifDataType.SignedLong8: return isArray ? (ExifValue)new ExifSignedLong8Array(tag) : new ExifSignedLong8(tag); - case ExifDataType.SignedRational: return isArray ? (ExifValue)new ExifSignedRationalArray(tag) : new ExifSignedRational(tag); - case ExifDataType.SignedShort: return isArray ? (ExifValue)new ExifSignedShortArray(tag) : new ExifSignedShort(tag); - case ExifDataType.Ascii: return new ExifString(tag); - case ExifDataType.Undefined: return isArray ? (ExifValue)new ExifByteArray(tag, dataType) : new ExifByte(tag, dataType); - default: return null; + case ExifDataType.Byte: + return isArray ? new ExifByteArray(tag, dataType) : new ExifByte(tag, dataType); + case ExifDataType.DoubleFloat: + return isArray ? new ExifDoubleArray(tag) : new ExifDouble(tag); + case ExifDataType.SingleFloat: + return isArray ? new ExifFloatArray(tag) : new ExifFloat(tag); + case ExifDataType.Long: + return isArray ? new ExifLongArray(tag) : new ExifLong(tag); + case ExifDataType.Long8: + return isArray ? new ExifLong8Array(tag) : new ExifLong8(tag); + case ExifDataType.Rational: + return isArray ? new ExifRationalArray(tag) : new ExifRational(tag); + case ExifDataType.Short: + return isArray ? new ExifShortArray(tag) : new ExifShort(tag); + case ExifDataType.SignedByte: + return isArray ? new ExifSignedByteArray(tag) : new ExifSignedByte(tag); + case ExifDataType.SignedLong: + return isArray ? new ExifSignedLongArray(tag) : new ExifSignedLong(tag); + case ExifDataType.SignedLong8: + return isArray ? new ExifSignedLong8Array(tag) : new ExifSignedLong8(tag); + case ExifDataType.SignedRational: + return isArray ? new ExifSignedRationalArray(tag) : new ExifSignedRational(tag); + case ExifDataType.SignedShort: + return isArray ? new ExifSignedShortArray(tag) : new ExifSignedShort(tag); + case ExifDataType.Ascii: + return new ExifString(tag); + case ExifDataType.Undefined: + return isArray ? new ExifByteArray(tag, dataType) : new ExifByte(tag, dataType); + default: + return null; } } @@ -37,276 +52,529 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif { switch (tag) { - case ExifTagValue.FaxProfile: return new ExifByte(ExifTag.FaxProfile, ExifDataType.Byte); - case ExifTagValue.ModeNumber: return new ExifByte(ExifTag.ModeNumber, ExifDataType.Byte); - case ExifTagValue.GPSAltitudeRef: return new ExifByte(ExifTag.GPSAltitudeRef, ExifDataType.Byte); + case ExifTagValue.FaxProfile: + return new ExifByte(ExifTag.FaxProfile, ExifDataType.Byte); + case ExifTagValue.ModeNumber: + return new ExifByte(ExifTag.ModeNumber, ExifDataType.Byte); + case ExifTagValue.GPSAltitudeRef: + return new ExifByte(ExifTag.GPSAltitudeRef, ExifDataType.Byte); - case ExifTagValue.ClipPath: return new ExifByteArray(ExifTag.ClipPath, ExifDataType.Byte); - case ExifTagValue.VersionYear: return new ExifByteArray(ExifTag.VersionYear, ExifDataType.Byte); - case ExifTagValue.XMP: return new ExifByteArray(ExifTag.XMP, ExifDataType.Byte); - case ExifTagValue.CFAPattern2: return new ExifByteArray(ExifTag.CFAPattern2, ExifDataType.Byte); - case ExifTagValue.TIFFEPStandardID: return new ExifByteArray(ExifTag.TIFFEPStandardID, ExifDataType.Byte); - case ExifTagValue.GPSVersionID: return new ExifByteArray(ExifTag.GPSVersionID, ExifDataType.Byte); + case ExifTagValue.ClipPath: + return new ExifByteArray(ExifTag.ClipPath, ExifDataType.Byte); + case ExifTagValue.VersionYear: + return new ExifByteArray(ExifTag.VersionYear, ExifDataType.Byte); + case ExifTagValue.XMP: + return new ExifByteArray(ExifTag.XMP, ExifDataType.Byte); + case ExifTagValue.CFAPattern2: + return new ExifByteArray(ExifTag.CFAPattern2, ExifDataType.Byte); + case ExifTagValue.TIFFEPStandardID: + return new ExifByteArray(ExifTag.TIFFEPStandardID, ExifDataType.Byte); + case ExifTagValue.GPSVersionID: + return new ExifByteArray(ExifTag.GPSVersionID, ExifDataType.Byte); - case ExifTagValue.PixelScale: return new ExifDoubleArray(ExifTag.PixelScale); - case ExifTagValue.IntergraphMatrix: return new ExifDoubleArray(ExifTag.IntergraphMatrix); - case ExifTagValue.ModelTiePoint: return new ExifDoubleArray(ExifTag.ModelTiePoint); - case ExifTagValue.ModelTransform: return new ExifDoubleArray(ExifTag.ModelTransform); + case ExifTagValue.PixelScale: + return new ExifDoubleArray(ExifTag.PixelScale); + case ExifTagValue.IntergraphMatrix: + return new ExifDoubleArray(ExifTag.IntergraphMatrix); + case ExifTagValue.ModelTiePoint: + return new ExifDoubleArray(ExifTag.ModelTiePoint); + case ExifTagValue.ModelTransform: + return new ExifDoubleArray(ExifTag.ModelTransform); - case ExifTagValue.SubfileType: return new ExifLong(ExifTag.SubfileType); - case ExifTagValue.SubIFDOffset: return new ExifLong(ExifTag.SubIFDOffset); - case ExifTagValue.GPSIFDOffset: return new ExifLong(ExifTag.GPSIFDOffset); - case ExifTagValue.T4Options: return new ExifLong(ExifTag.T4Options); - case ExifTagValue.T6Options: return new ExifLong(ExifTag.T6Options); - case ExifTagValue.XClipPathUnits: return new ExifLong(ExifTag.XClipPathUnits); - case ExifTagValue.YClipPathUnits: return new ExifLong(ExifTag.YClipPathUnits); - case ExifTagValue.ProfileType: return new ExifLong(ExifTag.ProfileType); - case ExifTagValue.CodingMethods: return new ExifLong(ExifTag.CodingMethods); - case ExifTagValue.T82ptions: return new ExifLong(ExifTag.T82ptions); - case ExifTagValue.JPEGInterchangeFormat: return new ExifLong(ExifTag.JPEGInterchangeFormat); - case ExifTagValue.JPEGInterchangeFormatLength: return new ExifLong(ExifTag.JPEGInterchangeFormatLength); - case ExifTagValue.MDFileTag: return new ExifLong(ExifTag.MDFileTag); - case ExifTagValue.StandardOutputSensitivity: return new ExifLong(ExifTag.StandardOutputSensitivity); - case ExifTagValue.RecommendedExposureIndex: return new ExifLong(ExifTag.RecommendedExposureIndex); - case ExifTagValue.ISOSpeed: return new ExifLong(ExifTag.ISOSpeed); - case ExifTagValue.ISOSpeedLatitudeyyy: return new ExifLong(ExifTag.ISOSpeedLatitudeyyy); - case ExifTagValue.ISOSpeedLatitudezzz: return new ExifLong(ExifTag.ISOSpeedLatitudezzz); - case ExifTagValue.FaxRecvParams: return new ExifLong(ExifTag.FaxRecvParams); - case ExifTagValue.FaxRecvTime: return new ExifLong(ExifTag.FaxRecvTime); - case ExifTagValue.ImageNumber: return new ExifLong(ExifTag.ImageNumber); + case ExifTagValue.SubfileType: + return new ExifLong(ExifTag.SubfileType); + case ExifTagValue.SubIFDOffset: + return new ExifLong(ExifTag.SubIFDOffset); + case ExifTagValue.GPSIFDOffset: + return new ExifLong(ExifTag.GPSIFDOffset); + case ExifTagValue.T4Options: + return new ExifLong(ExifTag.T4Options); + case ExifTagValue.T6Options: + return new ExifLong(ExifTag.T6Options); + case ExifTagValue.XClipPathUnits: + return new ExifLong(ExifTag.XClipPathUnits); + case ExifTagValue.YClipPathUnits: + return new ExifLong(ExifTag.YClipPathUnits); + case ExifTagValue.ProfileType: + return new ExifLong(ExifTag.ProfileType); + case ExifTagValue.CodingMethods: + return new ExifLong(ExifTag.CodingMethods); + case ExifTagValue.T82ptions: + return new ExifLong(ExifTag.T82ptions); + case ExifTagValue.JPEGInterchangeFormat: + return new ExifLong(ExifTag.JPEGInterchangeFormat); + case ExifTagValue.JPEGInterchangeFormatLength: + return new ExifLong(ExifTag.JPEGInterchangeFormatLength); + case ExifTagValue.MDFileTag: + return new ExifLong(ExifTag.MDFileTag); + case ExifTagValue.StandardOutputSensitivity: + return new ExifLong(ExifTag.StandardOutputSensitivity); + case ExifTagValue.RecommendedExposureIndex: + return new ExifLong(ExifTag.RecommendedExposureIndex); + case ExifTagValue.ISOSpeed: + return new ExifLong(ExifTag.ISOSpeed); + case ExifTagValue.ISOSpeedLatitudeyyy: + return new ExifLong(ExifTag.ISOSpeedLatitudeyyy); + case ExifTagValue.ISOSpeedLatitudezzz: + return new ExifLong(ExifTag.ISOSpeedLatitudezzz); + case ExifTagValue.FaxRecvParams: + return new ExifLong(ExifTag.FaxRecvParams); + case ExifTagValue.FaxRecvTime: + return new ExifLong(ExifTag.FaxRecvTime); + case ExifTagValue.ImageNumber: + return new ExifLong(ExifTag.ImageNumber); - case ExifTagValue.FreeOffsets: return new ExifLongArray(ExifTag.FreeOffsets); - case ExifTagValue.FreeByteCounts: return new ExifLongArray(ExifTag.FreeByteCounts); - case ExifTagValue.ColorResponseUnit: return new ExifLongArray(ExifTag.ColorResponseUnit); - case ExifTagValue.TileOffsets: return new ExifLongArray(ExifTag.TileOffsets); - case ExifTagValue.SMinSampleValue: return new ExifLongArray(ExifTag.SMinSampleValue); - case ExifTagValue.SMaxSampleValue: return new ExifLongArray(ExifTag.SMaxSampleValue); - case ExifTagValue.JPEGQTables: return new ExifLongArray(ExifTag.JPEGQTables); - case ExifTagValue.JPEGDCTables: return new ExifLongArray(ExifTag.JPEGDCTables); - case ExifTagValue.JPEGACTables: return new ExifLongArray(ExifTag.JPEGACTables); - case ExifTagValue.StripRowCounts: return new ExifLongArray(ExifTag.StripRowCounts); - case ExifTagValue.IntergraphRegisters: return new ExifLongArray(ExifTag.IntergraphRegisters); - case ExifTagValue.TimeZoneOffset: return new ExifLongArray(ExifTag.TimeZoneOffset); - case ExifTagValue.SubIFDs: return new ExifLongArray(ExifTag.SubIFDs); + case ExifTagValue.FreeOffsets: + return new ExifLongArray(ExifTag.FreeOffsets); + case ExifTagValue.FreeByteCounts: + return new ExifLongArray(ExifTag.FreeByteCounts); + case ExifTagValue.ColorResponseUnit: + return new ExifLongArray(ExifTag.ColorResponseUnit); + case ExifTagValue.TileOffsets: + return new ExifLongArray(ExifTag.TileOffsets); + case ExifTagValue.SMinSampleValue: + return new ExifLongArray(ExifTag.SMinSampleValue); + case ExifTagValue.SMaxSampleValue: + return new ExifLongArray(ExifTag.SMaxSampleValue); + case ExifTagValue.JPEGQTables: + return new ExifLongArray(ExifTag.JPEGQTables); + case ExifTagValue.JPEGDCTables: + return new ExifLongArray(ExifTag.JPEGDCTables); + case ExifTagValue.JPEGACTables: + return new ExifLongArray(ExifTag.JPEGACTables); + case ExifTagValue.StripRowCounts: + return new ExifLongArray(ExifTag.StripRowCounts); + case ExifTagValue.IntergraphRegisters: + return new ExifLongArray(ExifTag.IntergraphRegisters); + case ExifTagValue.TimeZoneOffset: + return new ExifLongArray(ExifTag.TimeZoneOffset); + case ExifTagValue.SubIFDs: + return new ExifLongArray(ExifTag.SubIFDs); - case ExifTagValue.ImageWidth: return new ExifNumber(ExifTag.ImageWidth); - case ExifTagValue.ImageLength: return new ExifNumber(ExifTag.ImageLength); - case ExifTagValue.RowsPerStrip: return new ExifNumber(ExifTag.RowsPerStrip); - case ExifTagValue.TileWidth: return new ExifNumber(ExifTag.TileWidth); - case ExifTagValue.TileLength: return new ExifNumber(ExifTag.TileLength); - case ExifTagValue.BadFaxLines: return new ExifNumber(ExifTag.BadFaxLines); - case ExifTagValue.ConsecutiveBadFaxLines: return new ExifNumber(ExifTag.ConsecutiveBadFaxLines); - case ExifTagValue.PixelXDimension: return new ExifNumber(ExifTag.PixelXDimension); - case ExifTagValue.PixelYDimension: return new ExifNumber(ExifTag.PixelYDimension); + case ExifTagValue.ImageWidth: + return new ExifNumber(ExifTag.ImageWidth); + case ExifTagValue.ImageLength: + return new ExifNumber(ExifTag.ImageLength); + case ExifTagValue.RowsPerStrip: + return new ExifNumber(ExifTag.RowsPerStrip); + case ExifTagValue.TileWidth: + return new ExifNumber(ExifTag.TileWidth); + case ExifTagValue.TileLength: + return new ExifNumber(ExifTag.TileLength); + case ExifTagValue.BadFaxLines: + return new ExifNumber(ExifTag.BadFaxLines); + case ExifTagValue.ConsecutiveBadFaxLines: + return new ExifNumber(ExifTag.ConsecutiveBadFaxLines); + case ExifTagValue.PixelXDimension: + return new ExifNumber(ExifTag.PixelXDimension); + case ExifTagValue.PixelYDimension: + return new ExifNumber(ExifTag.PixelYDimension); - case ExifTagValue.StripByteCounts: return new ExifNumberArray(ExifTag.StripByteCounts); - case ExifTagValue.StripOffsets: return new ExifNumberArray(ExifTag.StripOffsets); - case ExifTagValue.TileByteCounts: return new ExifNumberArray(ExifTag.TileByteCounts); - case ExifTagValue.ImageLayer: return new ExifNumberArray(ExifTag.ImageLayer); + case ExifTagValue.StripByteCounts: + return new ExifNumberArray(ExifTag.StripByteCounts); + case ExifTagValue.StripOffsets: + return new ExifNumberArray(ExifTag.StripOffsets); + case ExifTagValue.TileByteCounts: + return new ExifNumberArray(ExifTag.TileByteCounts); + case ExifTagValue.ImageLayer: + return new ExifNumberArray(ExifTag.ImageLayer); - case ExifTagValue.XPosition: return new ExifRational(ExifTag.XPosition); - case ExifTagValue.YPosition: return new ExifRational(ExifTag.YPosition); - case ExifTagValue.XResolution: return new ExifRational(ExifTag.XResolution); - case ExifTagValue.YResolution: return new ExifRational(ExifTag.YResolution); - case ExifTagValue.BatteryLevel: return new ExifRational(ExifTag.BatteryLevel); - case ExifTagValue.ExposureTime: return new ExifRational(ExifTag.ExposureTime); - case ExifTagValue.FNumber: return new ExifRational(ExifTag.FNumber); - case ExifTagValue.MDScalePixel: return new ExifRational(ExifTag.MDScalePixel); - case ExifTagValue.CompressedBitsPerPixel: return new ExifRational(ExifTag.CompressedBitsPerPixel); - case ExifTagValue.ApertureValue: return new ExifRational(ExifTag.ApertureValue); - case ExifTagValue.MaxApertureValue: return new ExifRational(ExifTag.MaxApertureValue); - case ExifTagValue.SubjectDistance: return new ExifRational(ExifTag.SubjectDistance); - case ExifTagValue.FocalLength: return new ExifRational(ExifTag.FocalLength); - case ExifTagValue.FlashEnergy2: return new ExifRational(ExifTag.FlashEnergy2); - case ExifTagValue.FocalPlaneXResolution2: return new ExifRational(ExifTag.FocalPlaneXResolution2); - case ExifTagValue.FocalPlaneYResolution2: return new ExifRational(ExifTag.FocalPlaneYResolution2); - case ExifTagValue.ExposureIndex2: return new ExifRational(ExifTag.ExposureIndex2); - case ExifTagValue.Humidity: return new ExifRational(ExifTag.Humidity); - case ExifTagValue.Pressure: return new ExifRational(ExifTag.Pressure); - case ExifTagValue.Acceleration: return new ExifRational(ExifTag.Acceleration); - case ExifTagValue.FlashEnergy: return new ExifRational(ExifTag.FlashEnergy); - case ExifTagValue.FocalPlaneXResolution: return new ExifRational(ExifTag.FocalPlaneXResolution); - case ExifTagValue.FocalPlaneYResolution: return new ExifRational(ExifTag.FocalPlaneYResolution); - case ExifTagValue.ExposureIndex: return new ExifRational(ExifTag.ExposureIndex); - case ExifTagValue.DigitalZoomRatio: return new ExifRational(ExifTag.DigitalZoomRatio); - case ExifTagValue.GPSAltitude: return new ExifRational(ExifTag.GPSAltitude); - case ExifTagValue.GPSDOP: return new ExifRational(ExifTag.GPSDOP); - case ExifTagValue.GPSSpeed: return new ExifRational(ExifTag.GPSSpeed); - case ExifTagValue.GPSTrack: return new ExifRational(ExifTag.GPSTrack); - case ExifTagValue.GPSImgDirection: return new ExifRational(ExifTag.GPSImgDirection); - case ExifTagValue.GPSDestBearing: return new ExifRational(ExifTag.GPSDestBearing); - case ExifTagValue.GPSDestDistance: return new ExifRational(ExifTag.GPSDestDistance); + case ExifTagValue.XPosition: + return new ExifRational(ExifTag.XPosition); + case ExifTagValue.YPosition: + return new ExifRational(ExifTag.YPosition); + case ExifTagValue.XResolution: + return new ExifRational(ExifTag.XResolution); + case ExifTagValue.YResolution: + return new ExifRational(ExifTag.YResolution); + case ExifTagValue.BatteryLevel: + return new ExifRational(ExifTag.BatteryLevel); + case ExifTagValue.ExposureTime: + return new ExifRational(ExifTag.ExposureTime); + case ExifTagValue.FNumber: + return new ExifRational(ExifTag.FNumber); + case ExifTagValue.MDScalePixel: + return new ExifRational(ExifTag.MDScalePixel); + case ExifTagValue.CompressedBitsPerPixel: + return new ExifRational(ExifTag.CompressedBitsPerPixel); + case ExifTagValue.ApertureValue: + return new ExifRational(ExifTag.ApertureValue); + case ExifTagValue.MaxApertureValue: + return new ExifRational(ExifTag.MaxApertureValue); + case ExifTagValue.SubjectDistance: + return new ExifRational(ExifTag.SubjectDistance); + case ExifTagValue.FocalLength: + return new ExifRational(ExifTag.FocalLength); + case ExifTagValue.FlashEnergy2: + return new ExifRational(ExifTag.FlashEnergy2); + case ExifTagValue.FocalPlaneXResolution2: + return new ExifRational(ExifTag.FocalPlaneXResolution2); + case ExifTagValue.FocalPlaneYResolution2: + return new ExifRational(ExifTag.FocalPlaneYResolution2); + case ExifTagValue.ExposureIndex2: + return new ExifRational(ExifTag.ExposureIndex2); + case ExifTagValue.Humidity: + return new ExifRational(ExifTag.Humidity); + case ExifTagValue.Pressure: + return new ExifRational(ExifTag.Pressure); + case ExifTagValue.Acceleration: + return new ExifRational(ExifTag.Acceleration); + case ExifTagValue.FlashEnergy: + return new ExifRational(ExifTag.FlashEnergy); + case ExifTagValue.FocalPlaneXResolution: + return new ExifRational(ExifTag.FocalPlaneXResolution); + case ExifTagValue.FocalPlaneYResolution: + return new ExifRational(ExifTag.FocalPlaneYResolution); + case ExifTagValue.ExposureIndex: + return new ExifRational(ExifTag.ExposureIndex); + case ExifTagValue.DigitalZoomRatio: + return new ExifRational(ExifTag.DigitalZoomRatio); + case ExifTagValue.GPSAltitude: + return new ExifRational(ExifTag.GPSAltitude); + case ExifTagValue.GPSDOP: + return new ExifRational(ExifTag.GPSDOP); + case ExifTagValue.GPSSpeed: + return new ExifRational(ExifTag.GPSSpeed); + case ExifTagValue.GPSTrack: + return new ExifRational(ExifTag.GPSTrack); + case ExifTagValue.GPSImgDirection: + return new ExifRational(ExifTag.GPSImgDirection); + case ExifTagValue.GPSDestBearing: + return new ExifRational(ExifTag.GPSDestBearing); + case ExifTagValue.GPSDestDistance: + return new ExifRational(ExifTag.GPSDestDistance); - case ExifTagValue.WhitePoint: return new ExifRationalArray(ExifTag.WhitePoint); - case ExifTagValue.PrimaryChromaticities: return new ExifRationalArray(ExifTag.PrimaryChromaticities); - case ExifTagValue.YCbCrCoefficients: return new ExifRationalArray(ExifTag.YCbCrCoefficients); - case ExifTagValue.ReferenceBlackWhite: return new ExifRationalArray(ExifTag.ReferenceBlackWhite); - case ExifTagValue.GPSLatitude: return new ExifRationalArray(ExifTag.GPSLatitude); - case ExifTagValue.GPSLongitude: return new ExifRationalArray(ExifTag.GPSLongitude); - case ExifTagValue.GPSTimestamp: return new ExifRationalArray(ExifTag.GPSTimestamp); - case ExifTagValue.GPSDestLatitude: return new ExifRationalArray(ExifTag.GPSDestLatitude); - case ExifTagValue.GPSDestLongitude: return new ExifRationalArray(ExifTag.GPSDestLongitude); - case ExifTagValue.LensSpecification: return new ExifRationalArray(ExifTag.LensSpecification); + case ExifTagValue.WhitePoint: + return new ExifRationalArray(ExifTag.WhitePoint); + case ExifTagValue.PrimaryChromaticities: + return new ExifRationalArray(ExifTag.PrimaryChromaticities); + case ExifTagValue.YCbCrCoefficients: + return new ExifRationalArray(ExifTag.YCbCrCoefficients); + case ExifTagValue.ReferenceBlackWhite: + return new ExifRationalArray(ExifTag.ReferenceBlackWhite); + case ExifTagValue.GPSLatitude: + return new ExifRationalArray(ExifTag.GPSLatitude); + case ExifTagValue.GPSLongitude: + return new ExifRationalArray(ExifTag.GPSLongitude); + case ExifTagValue.GPSTimestamp: + return new ExifRationalArray(ExifTag.GPSTimestamp); + case ExifTagValue.GPSDestLatitude: + return new ExifRationalArray(ExifTag.GPSDestLatitude); + case ExifTagValue.GPSDestLongitude: + return new ExifRationalArray(ExifTag.GPSDestLongitude); + case ExifTagValue.LensSpecification: + return new ExifRationalArray(ExifTag.LensSpecification); - case ExifTagValue.OldSubfileType: return new ExifShort(ExifTag.OldSubfileType); - case ExifTagValue.Compression: return new ExifShort(ExifTag.Compression); - case ExifTagValue.PhotometricInterpretation: return new ExifShort(ExifTag.PhotometricInterpretation); - case ExifTagValue.Thresholding: return new ExifShort(ExifTag.Thresholding); - case ExifTagValue.CellWidth: return new ExifShort(ExifTag.CellWidth); - case ExifTagValue.CellLength: return new ExifShort(ExifTag.CellLength); - case ExifTagValue.FillOrder: return new ExifShort(ExifTag.FillOrder); - case ExifTagValue.Orientation: return new ExifShort(ExifTag.Orientation); - case ExifTagValue.SamplesPerPixel: return new ExifShort(ExifTag.SamplesPerPixel); - case ExifTagValue.PlanarConfiguration: return new ExifShort(ExifTag.PlanarConfiguration); - case ExifTagValue.Predictor: return new ExifShort(ExifTag.Predictor); - case ExifTagValue.GrayResponseUnit: return new ExifShort(ExifTag.GrayResponseUnit); - case ExifTagValue.ResolutionUnit: return new ExifShort(ExifTag.ResolutionUnit); - case ExifTagValue.CleanFaxData: return new ExifShort(ExifTag.CleanFaxData); - case ExifTagValue.InkSet: return new ExifShort(ExifTag.InkSet); - case ExifTagValue.NumberOfInks: return new ExifShort(ExifTag.NumberOfInks); - case ExifTagValue.DotRange: return new ExifShort(ExifTag.DotRange); - case ExifTagValue.Indexed: return new ExifShort(ExifTag.Indexed); - case ExifTagValue.OPIProxy: return new ExifShort(ExifTag.OPIProxy); - case ExifTagValue.JPEGProc: return new ExifShort(ExifTag.JPEGProc); - case ExifTagValue.JPEGRestartInterval: return new ExifShort(ExifTag.JPEGRestartInterval); - case ExifTagValue.YCbCrPositioning: return new ExifShort(ExifTag.YCbCrPositioning); - case ExifTagValue.Rating: return new ExifShort(ExifTag.Rating); - case ExifTagValue.RatingPercent: return new ExifShort(ExifTag.RatingPercent); - case ExifTagValue.ExposureProgram: return new ExifShort(ExifTag.ExposureProgram); - case ExifTagValue.Interlace: return new ExifShort(ExifTag.Interlace); - case ExifTagValue.SelfTimerMode: return new ExifShort(ExifTag.SelfTimerMode); - case ExifTagValue.SensitivityType: return new ExifShort(ExifTag.SensitivityType); - case ExifTagValue.MeteringMode: return new ExifShort(ExifTag.MeteringMode); - case ExifTagValue.LightSource: return new ExifShort(ExifTag.LightSource); - case ExifTagValue.FocalPlaneResolutionUnit2: return new ExifShort(ExifTag.FocalPlaneResolutionUnit2); - case ExifTagValue.SensingMethod2: return new ExifShort(ExifTag.SensingMethod2); - case ExifTagValue.Flash: return new ExifShort(ExifTag.Flash); - case ExifTagValue.ColorSpace: return new ExifShort(ExifTag.ColorSpace); - case ExifTagValue.FocalPlaneResolutionUnit: return new ExifShort(ExifTag.FocalPlaneResolutionUnit); - case ExifTagValue.SensingMethod: return new ExifShort(ExifTag.SensingMethod); - case ExifTagValue.CustomRendered: return new ExifShort(ExifTag.CustomRendered); - case ExifTagValue.ExposureMode: return new ExifShort(ExifTag.ExposureMode); - case ExifTagValue.WhiteBalance: return new ExifShort(ExifTag.WhiteBalance); - case ExifTagValue.FocalLengthIn35mmFilm: return new ExifShort(ExifTag.FocalLengthIn35mmFilm); - case ExifTagValue.SceneCaptureType: return new ExifShort(ExifTag.SceneCaptureType); - case ExifTagValue.GainControl: return new ExifShort(ExifTag.GainControl); - case ExifTagValue.Contrast: return new ExifShort(ExifTag.Contrast); - case ExifTagValue.Saturation: return new ExifShort(ExifTag.Saturation); - case ExifTagValue.Sharpness: return new ExifShort(ExifTag.Sharpness); - case ExifTagValue.SubjectDistanceRange: return new ExifShort(ExifTag.SubjectDistanceRange); - case ExifTagValue.GPSDifferential: return new ExifShort(ExifTag.GPSDifferential); + case ExifTagValue.OldSubfileType: + return new ExifShort(ExifTag.OldSubfileType); + case ExifTagValue.Compression: + return new ExifShort(ExifTag.Compression); + case ExifTagValue.PhotometricInterpretation: + return new ExifShort(ExifTag.PhotometricInterpretation); + case ExifTagValue.Thresholding: + return new ExifShort(ExifTag.Thresholding); + case ExifTagValue.CellWidth: + return new ExifShort(ExifTag.CellWidth); + case ExifTagValue.CellLength: + return new ExifShort(ExifTag.CellLength); + case ExifTagValue.FillOrder: + return new ExifShort(ExifTag.FillOrder); + case ExifTagValue.Orientation: + return new ExifShort(ExifTag.Orientation); + case ExifTagValue.SamplesPerPixel: + return new ExifShort(ExifTag.SamplesPerPixel); + case ExifTagValue.PlanarConfiguration: + return new ExifShort(ExifTag.PlanarConfiguration); + case ExifTagValue.Predictor: + return new ExifShort(ExifTag.Predictor); + case ExifTagValue.GrayResponseUnit: + return new ExifShort(ExifTag.GrayResponseUnit); + case ExifTagValue.ResolutionUnit: + return new ExifShort(ExifTag.ResolutionUnit); + case ExifTagValue.CleanFaxData: + return new ExifShort(ExifTag.CleanFaxData); + case ExifTagValue.InkSet: + return new ExifShort(ExifTag.InkSet); + case ExifTagValue.NumberOfInks: + return new ExifShort(ExifTag.NumberOfInks); + case ExifTagValue.DotRange: + return new ExifShort(ExifTag.DotRange); + case ExifTagValue.Indexed: + return new ExifShort(ExifTag.Indexed); + case ExifTagValue.OPIProxy: + return new ExifShort(ExifTag.OPIProxy); + case ExifTagValue.JPEGProc: + return new ExifShort(ExifTag.JPEGProc); + case ExifTagValue.JPEGRestartInterval: + return new ExifShort(ExifTag.JPEGRestartInterval); + case ExifTagValue.YCbCrPositioning: + return new ExifShort(ExifTag.YCbCrPositioning); + case ExifTagValue.Rating: + return new ExifShort(ExifTag.Rating); + case ExifTagValue.RatingPercent: + return new ExifShort(ExifTag.RatingPercent); + case ExifTagValue.ExposureProgram: + return new ExifShort(ExifTag.ExposureProgram); + case ExifTagValue.Interlace: + return new ExifShort(ExifTag.Interlace); + case ExifTagValue.SelfTimerMode: + return new ExifShort(ExifTag.SelfTimerMode); + case ExifTagValue.SensitivityType: + return new ExifShort(ExifTag.SensitivityType); + case ExifTagValue.MeteringMode: + return new ExifShort(ExifTag.MeteringMode); + case ExifTagValue.LightSource: + return new ExifShort(ExifTag.LightSource); + case ExifTagValue.FocalPlaneResolutionUnit2: + return new ExifShort(ExifTag.FocalPlaneResolutionUnit2); + case ExifTagValue.SensingMethod2: + return new ExifShort(ExifTag.SensingMethod2); + case ExifTagValue.Flash: + return new ExifShort(ExifTag.Flash); + case ExifTagValue.ColorSpace: + return new ExifShort(ExifTag.ColorSpace); + case ExifTagValue.FocalPlaneResolutionUnit: + return new ExifShort(ExifTag.FocalPlaneResolutionUnit); + case ExifTagValue.SensingMethod: + return new ExifShort(ExifTag.SensingMethod); + case ExifTagValue.CustomRendered: + return new ExifShort(ExifTag.CustomRendered); + case ExifTagValue.ExposureMode: + return new ExifShort(ExifTag.ExposureMode); + case ExifTagValue.WhiteBalance: + return new ExifShort(ExifTag.WhiteBalance); + case ExifTagValue.FocalLengthIn35mmFilm: + return new ExifShort(ExifTag.FocalLengthIn35mmFilm); + case ExifTagValue.SceneCaptureType: + return new ExifShort(ExifTag.SceneCaptureType); + case ExifTagValue.GainControl: + return new ExifShort(ExifTag.GainControl); + case ExifTagValue.Contrast: + return new ExifShort(ExifTag.Contrast); + case ExifTagValue.Saturation: + return new ExifShort(ExifTag.Saturation); + case ExifTagValue.Sharpness: + return new ExifShort(ExifTag.Sharpness); + case ExifTagValue.SubjectDistanceRange: + return new ExifShort(ExifTag.SubjectDistanceRange); + case ExifTagValue.GPSDifferential: + return new ExifShort(ExifTag.GPSDifferential); - case ExifTagValue.BitsPerSample: return new ExifShortArray(ExifTag.BitsPerSample); - case ExifTagValue.MinSampleValue: return new ExifShortArray(ExifTag.MinSampleValue); - case ExifTagValue.MaxSampleValue: return new ExifShortArray(ExifTag.MaxSampleValue); - case ExifTagValue.GrayResponseCurve: return new ExifShortArray(ExifTag.GrayResponseCurve); - case ExifTagValue.ColorMap: return new ExifShortArray(ExifTag.ColorMap); - case ExifTagValue.ExtraSamples: return new ExifShortArray(ExifTag.ExtraSamples); - case ExifTagValue.PageNumber: return new ExifShortArray(ExifTag.PageNumber); - case ExifTagValue.TransferFunction: return new ExifShortArray(ExifTag.TransferFunction); - case ExifTagValue.HalftoneHints: return new ExifShortArray(ExifTag.HalftoneHints); - case ExifTagValue.SampleFormat: return new ExifShortArray(ExifTag.SampleFormat); - case ExifTagValue.TransferRange: return new ExifShortArray(ExifTag.TransferRange); - case ExifTagValue.DefaultImageColor: return new ExifShortArray(ExifTag.DefaultImageColor); - case ExifTagValue.JPEGLosslessPredictors: return new ExifShortArray(ExifTag.JPEGLosslessPredictors); - case ExifTagValue.JPEGPointTransforms: return new ExifShortArray(ExifTag.JPEGPointTransforms); - case ExifTagValue.YCbCrSubsampling: return new ExifShortArray(ExifTag.YCbCrSubsampling); - case ExifTagValue.CFARepeatPatternDim: return new ExifShortArray(ExifTag.CFARepeatPatternDim); - case ExifTagValue.IntergraphPacketData: return new ExifShortArray(ExifTag.IntergraphPacketData); - case ExifTagValue.ISOSpeedRatings: return new ExifShortArray(ExifTag.ISOSpeedRatings); - case ExifTagValue.SubjectArea: return new ExifShortArray(ExifTag.SubjectArea); - case ExifTagValue.SubjectLocation: return new ExifShortArray(ExifTag.SubjectLocation); + case ExifTagValue.BitsPerSample: + return new ExifShortArray(ExifTag.BitsPerSample); + case ExifTagValue.MinSampleValue: + return new ExifShortArray(ExifTag.MinSampleValue); + case ExifTagValue.MaxSampleValue: + return new ExifShortArray(ExifTag.MaxSampleValue); + case ExifTagValue.GrayResponseCurve: + return new ExifShortArray(ExifTag.GrayResponseCurve); + case ExifTagValue.ColorMap: + return new ExifShortArray(ExifTag.ColorMap); + case ExifTagValue.ExtraSamples: + return new ExifShortArray(ExifTag.ExtraSamples); + case ExifTagValue.PageNumber: + return new ExifShortArray(ExifTag.PageNumber); + case ExifTagValue.TransferFunction: + return new ExifShortArray(ExifTag.TransferFunction); + case ExifTagValue.HalftoneHints: + return new ExifShortArray(ExifTag.HalftoneHints); + case ExifTagValue.SampleFormat: + return new ExifShortArray(ExifTag.SampleFormat); + case ExifTagValue.TransferRange: + return new ExifShortArray(ExifTag.TransferRange); + case ExifTagValue.DefaultImageColor: + return new ExifShortArray(ExifTag.DefaultImageColor); + case ExifTagValue.JPEGLosslessPredictors: + return new ExifShortArray(ExifTag.JPEGLosslessPredictors); + case ExifTagValue.JPEGPointTransforms: + return new ExifShortArray(ExifTag.JPEGPointTransforms); + case ExifTagValue.YCbCrSubsampling: + return new ExifShortArray(ExifTag.YCbCrSubsampling); + case ExifTagValue.CFARepeatPatternDim: + return new ExifShortArray(ExifTag.CFARepeatPatternDim); + case ExifTagValue.IntergraphPacketData: + return new ExifShortArray(ExifTag.IntergraphPacketData); + case ExifTagValue.ISOSpeedRatings: + return new ExifShortArray(ExifTag.ISOSpeedRatings); + case ExifTagValue.SubjectArea: + return new ExifShortArray(ExifTag.SubjectArea); + case ExifTagValue.SubjectLocation: + return new ExifShortArray(ExifTag.SubjectLocation); - case ExifTagValue.ShutterSpeedValue: return new ExifSignedRational(ExifTag.ShutterSpeedValue); - case ExifTagValue.BrightnessValue: return new ExifSignedRational(ExifTag.BrightnessValue); - case ExifTagValue.ExposureBiasValue: return new ExifSignedRational(ExifTag.ExposureBiasValue); - case ExifTagValue.AmbientTemperature: return new ExifSignedRational(ExifTag.AmbientTemperature); - case ExifTagValue.WaterDepth: return new ExifSignedRational(ExifTag.WaterDepth); - case ExifTagValue.CameraElevationAngle: return new ExifSignedRational(ExifTag.CameraElevationAngle); + case ExifTagValue.ShutterSpeedValue: + return new ExifSignedRational(ExifTag.ShutterSpeedValue); + case ExifTagValue.BrightnessValue: + return new ExifSignedRational(ExifTag.BrightnessValue); + case ExifTagValue.ExposureBiasValue: + return new ExifSignedRational(ExifTag.ExposureBiasValue); + case ExifTagValue.AmbientTemperature: + return new ExifSignedRational(ExifTag.AmbientTemperature); + case ExifTagValue.WaterDepth: + return new ExifSignedRational(ExifTag.WaterDepth); + case ExifTagValue.CameraElevationAngle: + return new ExifSignedRational(ExifTag.CameraElevationAngle); - case ExifTagValue.Decode: return new ExifSignedRationalArray(ExifTag.Decode); + case ExifTagValue.Decode: + return new ExifSignedRationalArray(ExifTag.Decode); - case ExifTagValue.ImageDescription: return new ExifString(ExifTag.ImageDescription); - case ExifTagValue.Make: return new ExifString(ExifTag.Make); - case ExifTagValue.Model: return new ExifString(ExifTag.Model); - case ExifTagValue.Software: return new ExifString(ExifTag.Software); - case ExifTagValue.DateTime: return new ExifString(ExifTag.DateTime); - case ExifTagValue.Artist: return new ExifString(ExifTag.Artist); - case ExifTagValue.HostComputer: return new ExifString(ExifTag.HostComputer); - case ExifTagValue.Copyright: return new ExifString(ExifTag.Copyright); - case ExifTagValue.DocumentName: return new ExifString(ExifTag.DocumentName); - case ExifTagValue.PageName: return new ExifString(ExifTag.PageName); - case ExifTagValue.InkNames: return new ExifString(ExifTag.InkNames); - case ExifTagValue.TargetPrinter: return new ExifString(ExifTag.TargetPrinter); - case ExifTagValue.ImageID: return new ExifString(ExifTag.ImageID); - case ExifTagValue.MDLabName: return new ExifString(ExifTag.MDLabName); - case ExifTagValue.MDSampleInfo: return new ExifString(ExifTag.MDSampleInfo); - case ExifTagValue.MDPrepDate: return new ExifString(ExifTag.MDPrepDate); - case ExifTagValue.MDPrepTime: return new ExifString(ExifTag.MDPrepTime); - case ExifTagValue.MDFileUnits: return new ExifString(ExifTag.MDFileUnits); - case ExifTagValue.SEMInfo: return new ExifString(ExifTag.SEMInfo); - case ExifTagValue.SpectralSensitivity: return new ExifString(ExifTag.SpectralSensitivity); - case ExifTagValue.DateTimeOriginal: return new ExifString(ExifTag.DateTimeOriginal); - case ExifTagValue.DateTimeDigitized: return new ExifString(ExifTag.DateTimeDigitized); - case ExifTagValue.SubsecTime: return new ExifString(ExifTag.SubsecTime); - case ExifTagValue.SubsecTimeOriginal: return new ExifString(ExifTag.SubsecTimeOriginal); - case ExifTagValue.SubsecTimeDigitized: return new ExifString(ExifTag.SubsecTimeDigitized); - case ExifTagValue.RelatedSoundFile: return new ExifString(ExifTag.RelatedSoundFile); - case ExifTagValue.FaxSubaddress: return new ExifString(ExifTag.FaxSubaddress); - case ExifTagValue.OffsetTime: return new ExifString(ExifTag.OffsetTime); - case ExifTagValue.OffsetTimeOriginal: return new ExifString(ExifTag.OffsetTimeOriginal); - case ExifTagValue.OffsetTimeDigitized: return new ExifString(ExifTag.OffsetTimeDigitized); - case ExifTagValue.SecurityClassification: return new ExifString(ExifTag.SecurityClassification); - case ExifTagValue.ImageHistory: return new ExifString(ExifTag.ImageHistory); - case ExifTagValue.ImageUniqueID: return new ExifString(ExifTag.ImageUniqueID); - case ExifTagValue.OwnerName: return new ExifString(ExifTag.OwnerName); - case ExifTagValue.SerialNumber: return new ExifString(ExifTag.SerialNumber); - case ExifTagValue.LensMake: return new ExifString(ExifTag.LensMake); - case ExifTagValue.LensModel: return new ExifString(ExifTag.LensModel); - case ExifTagValue.LensSerialNumber: return new ExifString(ExifTag.LensSerialNumber); - case ExifTagValue.GDALMetadata: return new ExifString(ExifTag.GDALMetadata); - case ExifTagValue.GDALNoData: return new ExifString(ExifTag.GDALNoData); - case ExifTagValue.GPSLatitudeRef: return new ExifString(ExifTag.GPSLatitudeRef); - case ExifTagValue.GPSLongitudeRef: return new ExifString(ExifTag.GPSLongitudeRef); - case ExifTagValue.GPSSatellites: return new ExifString(ExifTag.GPSSatellites); - case ExifTagValue.GPSStatus: return new ExifString(ExifTag.GPSStatus); - case ExifTagValue.GPSMeasureMode: return new ExifString(ExifTag.GPSMeasureMode); - case ExifTagValue.GPSSpeedRef: return new ExifString(ExifTag.GPSSpeedRef); - case ExifTagValue.GPSTrackRef: return new ExifString(ExifTag.GPSTrackRef); - case ExifTagValue.GPSImgDirectionRef: return new ExifString(ExifTag.GPSImgDirectionRef); - case ExifTagValue.GPSMapDatum: return new ExifString(ExifTag.GPSMapDatum); - case ExifTagValue.GPSDestLatitudeRef: return new ExifString(ExifTag.GPSDestLatitudeRef); - case ExifTagValue.GPSDestLongitudeRef: return new ExifString(ExifTag.GPSDestLongitudeRef); - case ExifTagValue.GPSDestBearingRef: return new ExifString(ExifTag.GPSDestBearingRef); - case ExifTagValue.GPSDestDistanceRef: return new ExifString(ExifTag.GPSDestDistanceRef); - case ExifTagValue.GPSDateStamp: return new ExifString(ExifTag.GPSDateStamp); - case ExifTagValue.XPTitle: return new ExifString(ExifTag.XPTitle); - case ExifTagValue.XPComment: return new ExifString(ExifTag.XPComment); - case ExifTagValue.XPAuthor: return new ExifString(ExifTag.XPAuthor); - case ExifTagValue.XPKeywords: return new ExifString(ExifTag.XPKeywords); - case ExifTagValue.XPSubject: return new ExifString(ExifTag.XPSubject); + case ExifTagValue.ImageDescription: + return new ExifString(ExifTag.ImageDescription); + case ExifTagValue.Make: + return new ExifString(ExifTag.Make); + case ExifTagValue.Model: + return new ExifString(ExifTag.Model); + case ExifTagValue.Software: + return new ExifString(ExifTag.Software); + case ExifTagValue.DateTime: + return new ExifString(ExifTag.DateTime); + case ExifTagValue.Artist: + return new ExifString(ExifTag.Artist); + case ExifTagValue.HostComputer: + return new ExifString(ExifTag.HostComputer); + case ExifTagValue.Copyright: + return new ExifString(ExifTag.Copyright); + case ExifTagValue.DocumentName: + return new ExifString(ExifTag.DocumentName); + case ExifTagValue.PageName: + return new ExifString(ExifTag.PageName); + case ExifTagValue.InkNames: + return new ExifString(ExifTag.InkNames); + case ExifTagValue.TargetPrinter: + return new ExifString(ExifTag.TargetPrinter); + case ExifTagValue.ImageID: + return new ExifString(ExifTag.ImageID); + case ExifTagValue.MDLabName: + return new ExifString(ExifTag.MDLabName); + case ExifTagValue.MDSampleInfo: + return new ExifString(ExifTag.MDSampleInfo); + case ExifTagValue.MDPrepDate: + return new ExifString(ExifTag.MDPrepDate); + case ExifTagValue.MDPrepTime: + return new ExifString(ExifTag.MDPrepTime); + case ExifTagValue.MDFileUnits: + return new ExifString(ExifTag.MDFileUnits); + case ExifTagValue.SEMInfo: + return new ExifString(ExifTag.SEMInfo); + case ExifTagValue.SpectralSensitivity: + return new ExifString(ExifTag.SpectralSensitivity); + case ExifTagValue.DateTimeOriginal: + return new ExifString(ExifTag.DateTimeOriginal); + case ExifTagValue.DateTimeDigitized: + return new ExifString(ExifTag.DateTimeDigitized); + case ExifTagValue.SubsecTime: + return new ExifString(ExifTag.SubsecTime); + case ExifTagValue.SubsecTimeOriginal: + return new ExifString(ExifTag.SubsecTimeOriginal); + case ExifTagValue.SubsecTimeDigitized: + return new ExifString(ExifTag.SubsecTimeDigitized); + case ExifTagValue.RelatedSoundFile: + return new ExifString(ExifTag.RelatedSoundFile); + case ExifTagValue.FaxSubaddress: + return new ExifString(ExifTag.FaxSubaddress); + case ExifTagValue.OffsetTime: + return new ExifString(ExifTag.OffsetTime); + case ExifTagValue.OffsetTimeOriginal: + return new ExifString(ExifTag.OffsetTimeOriginal); + case ExifTagValue.OffsetTimeDigitized: + return new ExifString(ExifTag.OffsetTimeDigitized); + case ExifTagValue.SecurityClassification: + return new ExifString(ExifTag.SecurityClassification); + case ExifTagValue.ImageHistory: + return new ExifString(ExifTag.ImageHistory); + case ExifTagValue.ImageUniqueID: + return new ExifString(ExifTag.ImageUniqueID); + case ExifTagValue.OwnerName: + return new ExifString(ExifTag.OwnerName); + case ExifTagValue.SerialNumber: + return new ExifString(ExifTag.SerialNumber); + case ExifTagValue.LensMake: + return new ExifString(ExifTag.LensMake); + case ExifTagValue.LensModel: + return new ExifString(ExifTag.LensModel); + case ExifTagValue.LensSerialNumber: + return new ExifString(ExifTag.LensSerialNumber); + case ExifTagValue.GDALMetadata: + return new ExifString(ExifTag.GDALMetadata); + case ExifTagValue.GDALNoData: + return new ExifString(ExifTag.GDALNoData); + case ExifTagValue.GPSLatitudeRef: + return new ExifString(ExifTag.GPSLatitudeRef); + case ExifTagValue.GPSLongitudeRef: + return new ExifString(ExifTag.GPSLongitudeRef); + case ExifTagValue.GPSSatellites: + return new ExifString(ExifTag.GPSSatellites); + case ExifTagValue.GPSStatus: + return new ExifString(ExifTag.GPSStatus); + case ExifTagValue.GPSMeasureMode: + return new ExifString(ExifTag.GPSMeasureMode); + case ExifTagValue.GPSSpeedRef: + return new ExifString(ExifTag.GPSSpeedRef); + case ExifTagValue.GPSTrackRef: + return new ExifString(ExifTag.GPSTrackRef); + case ExifTagValue.GPSImgDirectionRef: + return new ExifString(ExifTag.GPSImgDirectionRef); + case ExifTagValue.GPSMapDatum: + return new ExifString(ExifTag.GPSMapDatum); + case ExifTagValue.GPSDestLatitudeRef: + return new ExifString(ExifTag.GPSDestLatitudeRef); + case ExifTagValue.GPSDestLongitudeRef: + return new ExifString(ExifTag.GPSDestLongitudeRef); + case ExifTagValue.GPSDestBearingRef: + return new ExifString(ExifTag.GPSDestBearingRef); + case ExifTagValue.GPSDestDistanceRef: + return new ExifString(ExifTag.GPSDestDistanceRef); + case ExifTagValue.GPSDateStamp: + return new ExifString(ExifTag.GPSDateStamp); + case ExifTagValue.XPTitle: + return new ExifString(ExifTag.XPTitle); + case ExifTagValue.XPComment: + return new ExifString(ExifTag.XPComment); + case ExifTagValue.XPAuthor: + return new ExifString(ExifTag.XPAuthor); + case ExifTagValue.XPKeywords: + return new ExifString(ExifTag.XPKeywords); + case ExifTagValue.XPSubject: + return new ExifString(ExifTag.XPSubject); - case ExifTagValue.FileSource: return new ExifByte(ExifTag.FileSource, ExifDataType.Undefined); - case ExifTagValue.SceneType: return new ExifByte(ExifTag.SceneType, ExifDataType.Undefined); + case ExifTagValue.FileSource: + return new ExifByte(ExifTag.FileSource, ExifDataType.Undefined); + case ExifTagValue.SceneType: + return new ExifByte(ExifTag.SceneType, ExifDataType.Undefined); - case ExifTagValue.JPEGTables: return new ExifByteArray(ExifTag.JPEGTables, ExifDataType.Undefined); - case ExifTagValue.OECF: return new ExifByteArray(ExifTag.OECF, ExifDataType.Undefined); - case ExifTagValue.ExifVersion: return new ExifByteArray(ExifTag.ExifVersion, ExifDataType.Undefined); - case ExifTagValue.ComponentsConfiguration: return new ExifByteArray(ExifTag.ComponentsConfiguration, ExifDataType.Undefined); - case ExifTagValue.MakerNote: return new ExifByteArray(ExifTag.MakerNote, ExifDataType.Undefined); - case ExifTagValue.FlashpixVersion: return new ExifByteArray(ExifTag.FlashpixVersion, ExifDataType.Undefined); - case ExifTagValue.SpatialFrequencyResponse: return new ExifByteArray(ExifTag.SpatialFrequencyResponse, ExifDataType.Undefined); - case ExifTagValue.SpatialFrequencyResponse2: return new ExifByteArray(ExifTag.SpatialFrequencyResponse2, ExifDataType.Undefined); - case ExifTagValue.Noise: return new ExifByteArray(ExifTag.Noise, ExifDataType.Undefined); - case ExifTagValue.CFAPattern: return new ExifByteArray(ExifTag.CFAPattern, ExifDataType.Undefined); - case ExifTagValue.DeviceSettingDescription: return new ExifByteArray(ExifTag.DeviceSettingDescription, ExifDataType.Undefined); - case ExifTagValue.ImageSourceData: return new ExifByteArray(ExifTag.ImageSourceData, ExifDataType.Undefined); + case ExifTagValue.JPEGTables: + return new ExifByteArray(ExifTag.JPEGTables, ExifDataType.Undefined); + case ExifTagValue.OECF: + return new ExifByteArray(ExifTag.OECF, ExifDataType.Undefined); + case ExifTagValue.ExifVersion: + return new ExifByteArray(ExifTag.ExifVersion, ExifDataType.Undefined); + case ExifTagValue.ComponentsConfiguration: + return new ExifByteArray(ExifTag.ComponentsConfiguration, ExifDataType.Undefined); + case ExifTagValue.MakerNote: + return new ExifByteArray(ExifTag.MakerNote, ExifDataType.Undefined); + case ExifTagValue.FlashpixVersion: + return new ExifByteArray(ExifTag.FlashpixVersion, ExifDataType.Undefined); + case ExifTagValue.SpatialFrequencyResponse: + return new ExifByteArray(ExifTag.SpatialFrequencyResponse, ExifDataType.Undefined); + case ExifTagValue.SpatialFrequencyResponse2: + return new ExifByteArray(ExifTag.SpatialFrequencyResponse2, ExifDataType.Undefined); + case ExifTagValue.Noise: + return new ExifByteArray(ExifTag.Noise, ExifDataType.Undefined); + case ExifTagValue.CFAPattern: + return new ExifByteArray(ExifTag.CFAPattern, ExifDataType.Undefined); + case ExifTagValue.DeviceSettingDescription: + return new ExifByteArray(ExifTag.DeviceSettingDescription, ExifDataType.Undefined); + case ExifTagValue.ImageSourceData: + return new ExifByteArray(ExifTag.ImageSourceData, ExifDataType.Undefined); - case ExifTagValue.UserComment: return new ExifEncodedString(ExifTag.UserComment); - case ExifTagValue.GPSProcessingMethod: return new ExifEncodedString(ExifTag.GPSProcessingMethod); - case ExifTagValue.GPSAreaInformation: return new ExifEncodedString(ExifTag.GPSAreaInformation); + case ExifTagValue.UserComment: + return new ExifEncodedString(ExifTag.UserComment); + case ExifTagValue.GPSProcessingMethod: + return new ExifEncodedString(ExifTag.GPSProcessingMethod); + case ExifTagValue.GPSAreaInformation: + return new ExifEncodedString(ExifTag.GPSAreaInformation); - default: return null; + default: + return null; } } } diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs index b668a2a1f..1f2573795 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs @@ -1,6 +1,7 @@ // Copyright (c) Six Labors. // Licensed under the Apache License, Version 2.0. +using System; using SixLabors.ImageSharp.Metadata.Profiles.Exif; using Xunit; @@ -602,14 +603,18 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Exif.Values [MemberData(nameof(EncodedStringTags))] public void ExifEncodedStringTests(ExifTag tag) { - var expected = new EncodedString(EncodedString.CharacterCode.JIS, "test string"); - ExifValue value = ExifValues.Create(tag); + foreach (object code in Enum.GetValues(typeof(EncodedString.CharacterCode))) + { + var charCode = (EncodedString.CharacterCode)code; + var expected = new EncodedString(charCode, "test string"); + ExifValue value = ExifValues.Create(tag); - Assert.False(value.TrySetValue(123)); - Assert.True(value.TrySetValue(expected)); + Assert.False(value.TrySetValue(123)); + Assert.True(value.TrySetValue(expected)); - var typed = (ExifEncodedString)value; - Assert.Equal(expected, typed.Value); + var typed = (ExifEncodedString)value; + Assert.Equal(expected, typed.Value); + } } } } From 4736288e0456353408ba14539a10c434ce269fe3 Mon Sep 17 00:00:00 2001 From: Anton Firszov Date: Wed, 26 Jan 2022 00:14:47 +0100 Subject: [PATCH 018/244] API skeleton + tests for TotalUndisposedAllocationCount --- .../Diagnostics/MemoryDiagnostics.cs | 22 +++++ .../Allocators/MemoryDiagnosticsTests.cs | 94 +++++++++++++++++++ 2 files changed, 116 insertions(+) create mode 100644 src/ImageSharp/Diagnostics/MemoryDiagnostics.cs create mode 100644 tests/ImageSharp.Tests/Memory/Allocators/MemoryDiagnosticsTests.cs diff --git a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs new file mode 100644 index 000000000..fa9a1b8c2 --- /dev/null +++ b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs @@ -0,0 +1,22 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System; + +namespace SixLabors.ImageSharp.Diagnostics +{ + public readonly struct MemoryInfo + { + internal MemoryInfo(long totalUndisposedAllocationCount) + => this.TotalUndisposedAllocationCount = totalUndisposedAllocationCount; + + public long TotalUndisposedAllocationCount { get; } + } + + public static class MemoryDiagnostics + { + public static MemoryInfo GetMemoryInfo() => throw new NotImplementedException(); + + public static bool EnableStrictDisposeWatcher { get; set; } + } +} diff --git a/tests/ImageSharp.Tests/Memory/Allocators/MemoryDiagnosticsTests.cs b/tests/ImageSharp.Tests/Memory/Allocators/MemoryDiagnosticsTests.cs new file mode 100644 index 000000000..11a70d1cb --- /dev/null +++ b/tests/ImageSharp.Tests/Memory/Allocators/MemoryDiagnosticsTests.cs @@ -0,0 +1,94 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System; +using System.Buffers; +using System.Collections.Generic; +using System.Runtime.CompilerServices; +using Microsoft.DotNet.RemoteExecutor; +using SixLabors.ImageSharp.Diagnostics; +using SixLabors.ImageSharp.Memory; +using Xunit; + +namespace SixLabors.ImageSharp.Tests.Memory.Allocators +{ + public class MemoryDiagnosticsTests + { + private const int OneMb = 1 << 20; + + private static MemoryAllocator Allocator => Configuration.Default.MemoryAllocator; + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void AllocateDispose_Maintains_TotalUndisposedLogicalAllocationCount(bool isGroupOuter) + { + RemoteExecutor.Invoke(RunTest, isGroupOuter.ToString()).Dispose(); + + static void RunTest(string isGroupInner) + { + bool isGroup = bool.Parse(isGroupInner); + List buffers = new(); + + Assert.Equal(0, MemoryDiagnostics.GetMemoryInfo().TotalUndisposedAllocationCount); + for (int length = 1024; length <= 64 * OneMb; length *= 2) + { + long cntBefore = MemoryDiagnostics.GetMemoryInfo().TotalUndisposedAllocationCount; + IDisposable buffer = isGroup ? + Allocator.AllocateGroup(length, 1024) : + Allocator.Allocate(length); + buffers.Add(buffer); + long cntAfter = MemoryDiagnostics.GetMemoryInfo().TotalUndisposedAllocationCount; + Assert.True(cntAfter > cntBefore); + } + + foreach (IDisposable buffer in buffers) + { + long cntBefore = MemoryDiagnostics.GetMemoryInfo().TotalUndisposedAllocationCount; + buffer.Dispose(); + long cntAfter = MemoryDiagnostics.GetMemoryInfo().TotalUndisposedAllocationCount; + Assert.True(cntAfter < cntBefore); + } + + Assert.Equal(0, MemoryDiagnostics.GetMemoryInfo().TotalUndisposedAllocationCount); + } + } + + [Theory] + [InlineData(false)] + [InlineData(true)] + public void BufferAndGroupFinalizer_DoesNotReduce_TotalUndisposedLogicalAllocationCount(bool isGroupOuter) + { + RemoteExecutor.Invoke(RunTest, isGroupOuter.ToString()).Dispose(); + + static void RunTest(string isGroupInner) + { + bool isGroup = bool.Parse(isGroupInner); + Assert.Equal(0, MemoryDiagnostics.GetMemoryInfo().TotalUndisposedAllocationCount); + for (int length = 1024; length <= 64 * OneMb; length *= 2) + { + long cntBefore = MemoryDiagnostics.GetMemoryInfo().TotalUndisposedAllocationCount; + AllocateAndForget(length, isGroup); + GC.Collect(); + GC.WaitForPendingFinalizers(); + GC.Collect(); + long cntAfter = MemoryDiagnostics.GetMemoryInfo().TotalUndisposedAllocationCount; + Assert.True(cntAfter > cntBefore); + } + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static void AllocateAndForget(int length, bool isGroup) + { + if (isGroup) + { + _ = Allocator.AllocateGroup(length, 1024); + } + else + { + _ = Allocator.Allocate(length); + } + } + } + } +} From b16fd4c6859e0ebce36222c958c0d93631784702 Mon Sep 17 00:00:00 2001 From: Anton Firszov Date: Wed, 26 Jan 2022 01:44:55 +0100 Subject: [PATCH 019/244] implemented TotalUndisposedAllocationCount --- .../Diagnostics/MemoryDiagnostics.cs | 19 ++++---- src/ImageSharp/Diagnostics/MemoryInfo.cs | 13 ++++++ ...rd.cs => RefCountedMemoryLifetimeGuard.cs} | 46 +++++++++++-------- .../Internals/SharedArrayPoolBuffer{T}.cs | 2 +- ...iformUnmanagedMemoryPool.LifetimeGuards.cs | 4 +- .../Internals/UnmanagedBufferLifetimeGuard.cs | 2 +- .../MemoryGroup{T}.Owned.cs | 2 +- .../Allocators/MemoryDiagnosticsTests.cs | 1 - .../RefCountedLifetimeGuardTests.cs | 2 +- 9 files changed, 57 insertions(+), 34 deletions(-) create mode 100644 src/ImageSharp/Diagnostics/MemoryInfo.cs rename src/ImageSharp/Memory/Allocators/Internals/{RefCountedLifetimeGuard.cs => RefCountedMemoryLifetimeGuard.cs} (61%) diff --git a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs index fa9a1b8c2..419f7531f 100644 --- a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs +++ b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs @@ -2,21 +2,22 @@ // Licensed under the Apache License, Version 2.0. using System; +using System.Threading; namespace SixLabors.ImageSharp.Diagnostics { - public readonly struct MemoryInfo - { - internal MemoryInfo(long totalUndisposedAllocationCount) - => this.TotalUndisposedAllocationCount = totalUndisposedAllocationCount; - - public long TotalUndisposedAllocationCount { get; } - } - public static class MemoryDiagnostics { - public static MemoryInfo GetMemoryInfo() => throw new NotImplementedException(); + private static int totalUndisposedAllocationCount; + + public static MemoryInfo GetMemoryInfo() => new MemoryInfo(totalUndisposedAllocationCount); public static bool EnableStrictDisposeWatcher { get; set; } + + internal static void IncrementTotalUndisposedAllocationCount() => + Interlocked.Increment(ref totalUndisposedAllocationCount); + + internal static void DecrementTotalUndisposedAllocationCount() => + Interlocked.Decrement(ref totalUndisposedAllocationCount); } } diff --git a/src/ImageSharp/Diagnostics/MemoryInfo.cs b/src/ImageSharp/Diagnostics/MemoryInfo.cs new file mode 100644 index 000000000..54ae83bd0 --- /dev/null +++ b/src/ImageSharp/Diagnostics/MemoryInfo.cs @@ -0,0 +1,13 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +namespace SixLabors.ImageSharp.Diagnostics +{ + public readonly struct MemoryInfo + { + internal MemoryInfo(long totalUndisposedAllocationCount) + => this.TotalUndisposedAllocationCount = totalUndisposedAllocationCount; + + public long TotalUndisposedAllocationCount { get; } + } +} diff --git a/src/ImageSharp/Memory/Allocators/Internals/RefCountedLifetimeGuard.cs b/src/ImageSharp/Memory/Allocators/Internals/RefCountedMemoryLifetimeGuard.cs similarity index 61% rename from src/ImageSharp/Memory/Allocators/Internals/RefCountedLifetimeGuard.cs rename to src/ImageSharp/Memory/Allocators/Internals/RefCountedMemoryLifetimeGuard.cs index 61682aa56..534cec0f8 100644 --- a/src/ImageSharp/Memory/Allocators/Internals/RefCountedLifetimeGuard.cs +++ b/src/ImageSharp/Memory/Allocators/Internals/RefCountedMemoryLifetimeGuard.cs @@ -4,42 +4,33 @@ using System; using System.Runtime.InteropServices; using System.Threading; +using SixLabors.ImageSharp.Diagnostics; namespace SixLabors.ImageSharp.Memory.Internals { /// - /// Implements reference counting lifetime guard mechanism similar to the one provided by , - /// but without the restriction of the guarded object being a handle. + /// Implements reference counting lifetime guard mechanism for memory resources + /// also maintaining the current value of . /// - internal abstract class RefCountedLifetimeGuard : IDisposable + internal abstract class RefCountedMemoryLifetimeGuard : IDisposable { private int refCount = 1; private int disposed; private int released; - ~RefCountedLifetimeGuard() + public RefCountedMemoryLifetimeGuard() => MemoryDiagnostics.IncrementTotalUndisposedAllocationCount(); + + ~RefCountedMemoryLifetimeGuard() { Interlocked.Exchange(ref this.disposed, 1); - this.ReleaseRef(); + this.ReleaseRef(true); } public bool IsDisposed => this.disposed == 1; public void AddRef() => Interlocked.Increment(ref this.refCount); - public void ReleaseRef() - { - Interlocked.Decrement(ref this.refCount); - if (this.refCount == 0) - { - int wasReleased = Interlocked.Exchange(ref this.released, 1); - - if (wasReleased == 0) - { - this.Release(); - } - } - } + public void ReleaseRef() => this.ReleaseRef(false); public void Dispose() { @@ -52,5 +43,24 @@ namespace SixLabors.ImageSharp.Memory.Internals } protected abstract void Release(); + + private void ReleaseRef(bool finalizing) + { + Interlocked.Decrement(ref this.refCount); + if (this.refCount == 0) + { + int wasReleased = Interlocked.Exchange(ref this.released, 1); + + if (wasReleased == 0) + { + if (!finalizing) + { + MemoryDiagnostics.DecrementTotalUndisposedAllocationCount(); + } + + this.Release(); + } + } + } } } diff --git a/src/ImageSharp/Memory/Allocators/Internals/SharedArrayPoolBuffer{T}.cs b/src/ImageSharp/Memory/Allocators/Internals/SharedArrayPoolBuffer{T}.cs index 9302c67e7..2ea76da95 100644 --- a/src/ImageSharp/Memory/Allocators/Internals/SharedArrayPoolBuffer{T}.cs +++ b/src/ImageSharp/Memory/Allocators/Internals/SharedArrayPoolBuffer{T}.cs @@ -60,7 +60,7 @@ namespace SixLabors.ImageSharp.Memory.Internals } } - private sealed class LifetimeGuard : RefCountedLifetimeGuard + private sealed class LifetimeGuard : RefCountedMemoryLifetimeGuard { private byte[] array; diff --git a/src/ImageSharp/Memory/Allocators/Internals/UniformUnmanagedMemoryPool.LifetimeGuards.cs b/src/ImageSharp/Memory/Allocators/Internals/UniformUnmanagedMemoryPool.LifetimeGuards.cs index 666b24855..151fef69c 100644 --- a/src/ImageSharp/Memory/Allocators/Internals/UniformUnmanagedMemoryPool.LifetimeGuards.cs +++ b/src/ImageSharp/Memory/Allocators/Internals/UniformUnmanagedMemoryPool.LifetimeGuards.cs @@ -20,9 +20,9 @@ namespace SixLabors.ImageSharp.Memory.Internals return buffer; } - public RefCountedLifetimeGuard CreateGroupLifetimeGuard(UnmanagedMemoryHandle[] handles) => new GroupLifetimeGuard(this, handles); + public RefCountedMemoryLifetimeGuard CreateGroupLifetimeGuard(UnmanagedMemoryHandle[] handles) => new GroupLifetimeGuard(this, handles); - private sealed class GroupLifetimeGuard : RefCountedLifetimeGuard + private sealed class GroupLifetimeGuard : RefCountedMemoryLifetimeGuard { private readonly UniformUnmanagedMemoryPool pool; private readonly UnmanagedMemoryHandle[] handles; diff --git a/src/ImageSharp/Memory/Allocators/Internals/UnmanagedBufferLifetimeGuard.cs b/src/ImageSharp/Memory/Allocators/Internals/UnmanagedBufferLifetimeGuard.cs index 5f0759f20..822112024 100644 --- a/src/ImageSharp/Memory/Allocators/Internals/UnmanagedBufferLifetimeGuard.cs +++ b/src/ImageSharp/Memory/Allocators/Internals/UnmanagedBufferLifetimeGuard.cs @@ -6,7 +6,7 @@ namespace SixLabors.ImageSharp.Memory.Internals /// /// Defines a strategy for managing unmanaged memory ownership. /// - internal abstract class UnmanagedBufferLifetimeGuard : RefCountedLifetimeGuard + internal abstract class UnmanagedBufferLifetimeGuard : RefCountedMemoryLifetimeGuard { private UnmanagedMemoryHandle handle; diff --git a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Owned.cs b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Owned.cs index 21faf8e56..01aac3148 100644 --- a/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Owned.cs +++ b/src/ImageSharp/Memory/DiscontiguousBuffers/MemoryGroup{T}.Owned.cs @@ -18,7 +18,7 @@ namespace SixLabors.ImageSharp.Memory public sealed class Owned : MemoryGroup, IEnumerable> { private IMemoryOwner[] memoryOwners; - private RefCountedLifetimeGuard groupLifetimeGuard; + private RefCountedMemoryLifetimeGuard groupLifetimeGuard; public Owned(IMemoryOwner[] memoryOwners, int bufferLength, long totalLength, bool swappable) : base(bufferLength, totalLength) diff --git a/tests/ImageSharp.Tests/Memory/Allocators/MemoryDiagnosticsTests.cs b/tests/ImageSharp.Tests/Memory/Allocators/MemoryDiagnosticsTests.cs index 11a70d1cb..55f14fdfa 100644 --- a/tests/ImageSharp.Tests/Memory/Allocators/MemoryDiagnosticsTests.cs +++ b/tests/ImageSharp.Tests/Memory/Allocators/MemoryDiagnosticsTests.cs @@ -2,7 +2,6 @@ // Licensed under the Apache License, Version 2.0. using System; -using System.Buffers; using System.Collections.Generic; using System.Runtime.CompilerServices; using Microsoft.DotNet.RemoteExecutor; diff --git a/tests/ImageSharp.Tests/Memory/Allocators/RefCountedLifetimeGuardTests.cs b/tests/ImageSharp.Tests/Memory/Allocators/RefCountedLifetimeGuardTests.cs index 7fb3b7b7b..4b808e863 100644 --- a/tests/ImageSharp.Tests/Memory/Allocators/RefCountedLifetimeGuardTests.cs +++ b/tests/ImageSharp.Tests/Memory/Allocators/RefCountedLifetimeGuardTests.cs @@ -110,7 +110,7 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators } } - private class MockLifetimeGuard : RefCountedLifetimeGuard + private class MockLifetimeGuard : RefCountedMemoryLifetimeGuard { public int ReleaseInvocationCount { get; private set; } From cda6b24b63b33819bc2409a87d9be4323dcf2f41 Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Sun, 30 Jan 2022 15:24:43 +0300 Subject: [PATCH 020/244] Bug fixes of reading and writing (UCS2 and EncodedString) --- src/ImageSharp/ImageSharp.csproj | 1 + .../Profiles/Exif/ExifEncodedStringHelpers.cs | 36 ++++++++------ .../Metadata/Profiles/Exif/ExifReader.cs | 27 ++--------- .../Profiles/Exif/ExifUcs2StringHelpers.cs | 19 ++------ .../Metadata/Profiles/Exif/ExifWriter.cs | 41 +++++++++------- .../Profiles/Exif/Tags/ExifTag.String.cs | 25 ---------- .../Profiles/Exif/Tags/ExifTag.Ucs2String.cs | 34 ++++++++++++++ .../Profiles/Exif/Values/EncodedString.cs | 12 +++++ .../Profiles/Exif/Values/ExifEncodedString.cs | 8 ++++ .../Profiles/Exif/Values/ExifUcs2String.cs | 47 +++++++++++++++++++ .../Profiles/Exif/Values/ExifValues.cs | 11 +++-- .../Formats/Jpg/JpegDecoderTests.Metadata.cs | 40 ++++++++++++---- .../Profiles/Exif/ExifProfileTests.cs | 2 +- .../Profiles/Exif/Values/ExifValuesTests.cs | 45 +++++++++++++++--- 14 files changed, 233 insertions(+), 115 deletions(-) create mode 100644 src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Ucs2String.cs create mode 100644 src/ImageSharp/Metadata/Profiles/Exif/Values/ExifUcs2String.cs diff --git a/src/ImageSharp/ImageSharp.csproj b/src/ImageSharp/ImageSharp.csproj index 1b3a8e27f..7dac3c283 100644 --- a/src/ImageSharp/ImageSharp.csproj +++ b/src/ImageSharp/ImageSharp.csproj @@ -49,6 +49,7 @@ + diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs index 6c95780d8..d14c0c47d 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs @@ -12,9 +12,9 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif { public const int CharacterCodeBytesLength = 8; - private const ulong AsciiCode = 0x_41_53_43_49_49_00_00_00; - private const ulong JISCode = 0x_4A_49_53_00_00_00_00_00; - private const ulong UnicodeCode = 0x_55_4E_49_43_4F_44_45_00; + private const ulong AsciiCode = 0x_00_00_00_49_49_43_53_41; + private const ulong JISCode = 0x_00_00_00_00_00_53_49_4A; + private const ulong UnicodeCode = 0x_45_44_4F_43_49_4E_55; private const ulong UndefinedCode = 0x_00_00_00_00_00_00_00_00; private static ReadOnlySpan AsciiCodeBytes => new byte[] { 0x41, 0x53, 0x43, 0x49, 0x49, 0, 0, 0 }; @@ -25,7 +25,13 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif private static ReadOnlySpan UndefinedCodeBytes => new byte[] { 0, 0, 0, 0, 0, 0, 0, 0 }; - private static Encoding JIS0208Encoding => Encoding.GetEncoding(932); + private static Encoding JIS0208Encoding => CodePagesEncodingProvider.Instance.GetEncoding(932); + + public static bool IsEncodedString(ExifTagValue tag) => tag switch + { + ExifTagValue.UserComment or ExifTagValue.GPSProcessingMethod or ExifTagValue.GPSAreaInformation => true, + _ => false + }; public static ReadOnlySpan GetCodeBytes(CharacterCode code) => code switch { @@ -45,7 +51,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif _ => Encoding.UTF8 }; - public static bool TryCreate(ReadOnlySpan buffer, out EncodedString encodedString) + public static bool TryParse(ReadOnlySpan buffer, out EncodedString encodedString) { if (TryDetect(buffer, out CharacterCode code)) { @@ -61,17 +67,17 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif public static uint GetDataLength(EncodedString encodedString) => (uint)GetEncoding(encodedString.Code).GetByteCount(encodedString.Text) + CharacterCodeBytesLength; - public static bool IsEncodedString(ExifTagValue tag) + public static byte[] GetData(EncodedString encodedString) { - switch (tag) - { - case ExifTagValue.UserComment: - case ExifTagValue.GPSProcessingMethod: - case ExifTagValue.GPSAreaInformation: - return true; - default: - return false; - } + int length = (int)GetDataLength(encodedString); + byte[] buffer = new byte[length]; + + GetCodeBytes(encodedString.Code).CopyTo(buffer); + + string text = encodedString.Text; + GetEncoding(encodedString.Code).GetBytes(text, 0, text.Length, buffer, CharacterCodeBytesLength); + + return buffer; } private static bool TryDetect(ReadOnlySpan buffer, out CharacterCode code) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs index 323c73c9a..23ead7d66 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs @@ -220,10 +220,6 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif if (this.TryReadSpan(buffer)) { object value = this.ConvertValue(tag.Exif, tag.DataType, buffer, tag.NumberOfComponents > 1 || tag.Exif.IsArray); - if (value is EncodedString) - { - // Console.WriteLine("EncodedString tag: " + (ushort)tag.Exif.Tag); - } this.Add(values, tag.Exif, value); } @@ -248,7 +244,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif private byte ConvertToByte(ReadOnlySpan buffer) => buffer[0]; - private string ConvertToString(ReadOnlySpan buffer) + private string ConvertToString(Encoding encoding, ReadOnlySpan buffer) { int nullCharIndex = buffer.IndexOf((byte)0); @@ -257,7 +253,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif buffer = buffer.Slice(0, nullCharIndex); } - return ExifConstants.DefaultEncoding.GetString(buffer); + return encoding.GetString(buffer); } private object ConvertValue(ExifValue exifValue, ExifDataType dataType, ReadOnlySpan buffer, bool isArray) @@ -267,35 +263,20 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif return null; } - var tagValue = (ExifTagValue)(ushort)exifValue.Tag; - if (ExifUcs2StringHelpers.IsUcs2Tag(tagValue)) - { - return ExifUcs2StringHelpers.ConvertToString(buffer); - } - else if (ExifEncodedStringHelpers.IsEncodedString(tagValue)) - { - if (ExifEncodedStringHelpers.TryCreate(buffer, out EncodedString encodedString)) - { - return encodedString; - } - } - switch (dataType) { case ExifDataType.Unknown: return null; case ExifDataType.Ascii: - return this.ConvertToString(buffer); + return this.ConvertToString(ExifConstants.DefaultEncoding, buffer); case ExifDataType.Byte: case ExifDataType.Undefined: - { if (!isArray) { return this.ConvertToByte(buffer); } - return ExifEncodedStringHelpers.TryCreate(buffer, out EncodedString encodedString) ? encodedString : buffer.ToArray(); - } + return buffer.ToArray(); case ExifDataType.DoubleFloat: if (!isArray) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifUcs2StringHelpers.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifUcs2StringHelpers.cs index cff6fe612..82ea0eaba 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifUcs2StringHelpers.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifUcs2StringHelpers.cs @@ -10,21 +10,10 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif { public static Encoding Ucs2Encoding => Encoding.GetEncoding("UCS-2"); - public static bool IsUcs2Tag(ExifTagValue tag) + public static bool IsUcs2Tag(ExifTagValue tag) => tag switch { - switch (tag) - { - case ExifTagValue.XPAuthor: - case ExifTagValue.XPComment: - case ExifTagValue.XPKeywords: - case ExifTagValue.XPSubject: - case ExifTagValue.XPTitle: - return true; - default: - return false; - } - } - - public static string ConvertToString(ReadOnlySpan buffer) => Ucs2Encoding.GetString(buffer); + ExifTagValue.XPAuthor or ExifTagValue.XPComment or ExifTagValue.XPKeywords or ExifTagValue.XPSubject or ExifTagValue.XPTitle => true, + _ => false, + }; } } diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs index f52d2a314..2f1846a82 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs @@ -274,9 +274,9 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif { object value = exifValue.GetValue(); - if (exifValue.DataType == ExifDataType.Ascii) + if (ExifUcs2StringHelpers.IsUcs2Tag((ExifTagValue)(ushort)exifValue.Tag)) { - return (uint)(ExifUcs2StringHelpers.IsUcs2Tag((ExifTagValue)(ushort)exifValue.Tag) ? ExifUcs2StringHelpers.Ucs2Encoding : ExifConstants.DefaultEncoding).GetByteCount((string)value) + 1; + return (uint)ExifUcs2StringHelpers.Ucs2Encoding.GetByteCount((string)value); } if (value is EncodedString encodedString) @@ -284,6 +284,11 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif return ExifEncodedStringHelpers.GetDataLength(encodedString); } + if (exifValue.DataType == ExifDataType.Ascii) + { + return (uint)ExifConstants.DefaultEncoding.GetByteCount((string)value) + 1; + } + if (value is Array arrayValue) { return (uint)arrayValue.Length; @@ -378,21 +383,14 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif switch (dataType) { case ExifDataType.Ascii: - offset = Write((ExifUcs2StringHelpers.IsUcs2Tag((ExifTagValue)(ushort)exifValue.Tag) ? ExifUcs2StringHelpers.Ucs2Encoding : ExifConstants.DefaultEncoding).GetBytes((string)value), destination, offset); + offset = Write(ExifConstants.DefaultEncoding.GetBytes((string)value), destination, offset); destination[offset] = 0; return offset + 1; case ExifDataType.Byte: case ExifDataType.Undefined: - if (value is EncodedString encodedString) + if (value is byte[] array) { - ReadOnlySpan codeBytes = ExifEncodedStringHelpers.GetCodeBytes(encodedString.Code); - codeBytes.CopyTo(destination.Slice(offset)); - offset += codeBytes.Length; - - ReadOnlySpan dataBytes = ExifEncodedStringHelpers.GetEncoding(encodedString.Code).GetBytes(encodedString.Text); - dataBytes.CopyTo(destination.Slice(offset)); - offset += dataBytes.Length; - + offset = Write(array, destination, offset); return offset; } else @@ -441,14 +439,25 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif } } - internal static int WriteValue(IExifValue value, Span destination, int offset) + internal static int WriteValue(IExifValue exifValue, Span destination, int offset) { - if (value.IsArray) + object value = exifValue.GetValue(); + + if (ExifUcs2StringHelpers.IsUcs2Tag((ExifTagValue)(ushort)exifValue.Tag)) + { + value = ExifUcs2StringHelpers.Ucs2Encoding.GetBytes((string)value); + } + else if (value is EncodedString encodedString) + { + value = ExifEncodedStringHelpers.GetData(encodedString); + } + + if (exifValue.IsArray) { - return WriteArray(value, destination, offset); + return WriteArray(exifValue, destination, offset); } - return WriteValue(value, value.DataType, value.GetValue(), destination, offset); + return WriteValue(exifValue, exifValue.DataType, value, destination, offset); } } } diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.String.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.String.cs index 10d50dc6a..3fc353211 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.String.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.String.cs @@ -275,30 +275,5 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif /// Gets the GPSDateStamp exif tag. /// public static ExifTag GPSDateStamp { get; } = new ExifTag(ExifTagValue.GPSDateStamp); - - /// - /// Gets the title tag used by Windows (encoded in UCS2). - /// - public static ExifTag XPTitle => new ExifTag(ExifTagValue.XPTitle); - - /// - /// Gets the comment tag used by Windows (encoded in UCS2). - /// - public static ExifTag XPComment => new ExifTag(ExifTagValue.XPComment); - - /// - /// Gets the author tag used by Windows (encoded in UCS2). - /// - public static ExifTag XPAuthor => new ExifTag(ExifTagValue.XPAuthor); - - /// - /// Gets the keywords tag used by Windows (encoded in UCS2). - /// - public static ExifTag XPKeywords => new ExifTag(ExifTagValue.XPKeywords); - - /// - /// Gets the subject tag used by Windows (encoded in UCS2). - /// - public static ExifTag XPSubject => new ExifTag(ExifTagValue.XPSubject); } } diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Ucs2String.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Ucs2String.cs new file mode 100644 index 000000000..a6911d76d --- /dev/null +++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.Ucs2String.cs @@ -0,0 +1,34 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +namespace SixLabors.ImageSharp.Metadata.Profiles.Exif +{ + /// + public abstract partial class ExifTag + { + /// + /// Gets the title tag used by Windows (encoded in UCS2). + /// + public static ExifTag XPTitle => new ExifTag(ExifTagValue.XPTitle); + + /// + /// Gets the comment tag used by Windows (encoded in UCS2). + /// + public static ExifTag XPComment => new ExifTag(ExifTagValue.XPComment); + + /// + /// Gets the author tag used by Windows (encoded in UCS2). + /// + public static ExifTag XPAuthor => new ExifTag(ExifTagValue.XPAuthor); + + /// + /// Gets the keywords tag used by Windows (encoded in UCS2). + /// + public static ExifTag XPKeywords => new ExifTag(ExifTagValue.XPKeywords); + + /// + /// Gets the subject tag used by Windows (encoded in UCS2). + /// + public static ExifTag XPSubject => new ExifTag(ExifTagValue.XPSubject); + } +} diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs index 08181fc1f..910a7e06f 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs @@ -66,6 +66,18 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif /// public string Text { get; } + /// + /// Converts the specified to an instance of this type. + /// + /// The text value. + public static implicit operator EncodedString(string text) => new(text); + + /// + /// Converts the specified to a . + /// + /// The to convert. + public static explicit operator string(EncodedString encodedString) => encodedString.Text; + /// public override bool Equals(object obj) => obj is EncodedString other && this.Equals(other); diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifEncodedString.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifEncodedString.cs index 4055573c5..ba9fca5c8 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifEncodedString.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifEncodedString.cs @@ -38,6 +38,14 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif this.Value = new EncodedString(stringValue); return true; } + else if (value is byte[] buffer) + { + if (ExifEncodedStringHelpers.TryParse(buffer, out EncodedString encodedString)) + { + this.Value = encodedString; + return true; + } + } return false; } diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifUcs2String.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifUcs2String.cs new file mode 100644 index 000000000..42637925c --- /dev/null +++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifUcs2String.cs @@ -0,0 +1,47 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +namespace SixLabors.ImageSharp.Metadata.Profiles.Exif +{ + internal sealed class ExifUcs2String : ExifValue + { + public ExifUcs2String(ExifTag tag) + : base(tag) + { + } + + public ExifUcs2String(ExifTagValue tag) + : base(tag) + { + } + + private ExifUcs2String(ExifUcs2String value) + : base(value) + { + } + + public override ExifDataType DataType => ExifDataType.Byte; + + protected override string StringValue => this.Value; + + public override object GetValue() => this.Value; + + public override bool TrySetValue(object value) + { + if (base.TrySetValue(value)) + { + return true; + } + + if (value is byte[] buffer) + { + this.Value = ExifUcs2StringHelpers.Ucs2Encoding.GetString(buffer); + return true; + } + + return false; + } + + public override IExifValue DeepClone() => new ExifUcs2String(this); + } +} diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValues.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValues.cs index 54e809ba9..3795e47a4 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValues.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValues.cs @@ -280,11 +280,6 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif case ExifTagValue.GPSDestBearingRef: return new ExifString(ExifTag.GPSDestBearingRef); case ExifTagValue.GPSDestDistanceRef: return new ExifString(ExifTag.GPSDestDistanceRef); case ExifTagValue.GPSDateStamp: return new ExifString(ExifTag.GPSDateStamp); - case ExifTagValue.XPTitle: return new ExifString(ExifTag.XPTitle); - case ExifTagValue.XPComment: return new ExifString(ExifTag.XPComment); - case ExifTagValue.XPAuthor: return new ExifString(ExifTag.XPAuthor); - case ExifTagValue.XPKeywords: return new ExifString(ExifTag.XPKeywords); - case ExifTagValue.XPSubject: return new ExifString(ExifTag.XPSubject); case ExifTagValue.FileSource: return new ExifByte(ExifTag.FileSource, ExifDataType.Undefined); case ExifTagValue.SceneType: return new ExifByte(ExifTag.SceneType, ExifDataType.Undefined); @@ -302,6 +297,12 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif case ExifTagValue.DeviceSettingDescription: return new ExifByteArray(ExifTag.DeviceSettingDescription, ExifDataType.Undefined); case ExifTagValue.ImageSourceData: return new ExifByteArray(ExifTag.ImageSourceData, ExifDataType.Undefined); + case ExifTagValue.XPTitle: return new ExifUcs2String(ExifTag.XPTitle); + case ExifTagValue.XPComment: return new ExifUcs2String(ExifTag.XPComment); + case ExifTagValue.XPAuthor: return new ExifUcs2String(ExifTag.XPAuthor); + case ExifTagValue.XPKeywords: return new ExifUcs2String(ExifTag.XPKeywords); + case ExifTagValue.XPSubject: return new ExifUcs2String(ExifTag.XPSubject); + case ExifTagValue.UserComment: return new ExifEncodedString(ExifTag.UserComment); case ExifTagValue.GPSProcessingMethod: return new ExifEncodedString(ExifTag.GPSProcessingMethod); case ExifTagValue.GPSAreaInformation: return new ExifEncodedString(ExifTag.GPSAreaInformation); diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs index 6e0a79db0..85e5a54bf 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs @@ -303,32 +303,56 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg } [Fact] - public void ExifIfdStructure() + public void EncodedStringTags() { byte[] exifBytes; using var memoryStream = new MemoryStream(); using (var image = Image.Load(TestFile.GetInputFileFullPath(TestImages.Jpeg.Baseline.Calliphora))) { var exif = new ExifProfile(); - exif.SetValue(ExifTag.XPAuthor, "Dan Petitt"); - - exif.SetValue(ExifTag.XPTitle, "A bit of test metadata for image title"); - exif.SetValue(ExifTag.UserComment, new EncodedString(EncodedString.CharacterCode.ASCII, "A bit of normal comment text")); exif.SetValue(ExifTag.GPSDateStamp, "2022-01-06"); - exif.SetValue(ExifTag.XPKeywords, "Keywords"); - image.Metadata.ExifProfile = exif; + exif.SetValue(ExifTag.XPTitle, "A bit of test metadata for image title"); + exif.SetValue(ExifTag.XPComment, "A bit of test metadata for image comment"); + exif.SetValue(ExifTag.XPAuthor, "Dan Petitt"); + exif.SetValue(ExifTag.XPKeywords, "Keyword1;Keyword2"); + exif.SetValue(ExifTag.XPSubject, "This is a subject"); + + exif.SetValue(ExifTag.UserComment, new EncodedString(EncodedString.CharacterCode.ASCII, "user comment (ASCII)")); + exif.SetValue(ExifTag.GPSProcessingMethod, new EncodedString(EncodedString.CharacterCode.JIS, "GPS processing method (JIS)")); + exif.SetValue(ExifTag.GPSAreaInformation, new EncodedString(EncodedString.CharacterCode.Unicode, "GPS area info (Unicode)")); exifBytes = exif.ToByteArray(); + image.Metadata.ExifProfile = exif; + + image.Save(@"c:\\temp\1.jpeg"); image.Save(memoryStream, new JpegEncoder()); } memoryStream.Seek(0, SeekOrigin.Begin); using (var image = Image.Load(memoryStream)) { - Assert.NotNull(image.Metadata.ExifProfile); + ExifProfile exif = image.Metadata.ExifProfile; + Assert.NotNull(exif); + + Assert.Equal("2022-01-06", exif.GetValue(ExifTag.GPSDateStamp).Value); + + Assert.Equal("A bit of test metadata for image title", exif.GetValue(ExifTag.XPTitle).Value); + Assert.Equal("A bit of test metadata for image comment", exif.GetValue(ExifTag.XPComment).Value); + Assert.Equal("Dan Petitt", exif.GetValue(ExifTag.XPAuthor).Value); + Assert.Equal("Keyword1;Keyword2", exif.GetValue(ExifTag.XPKeywords).Value); + Assert.Equal("This is a subject", exif.GetValue(ExifTag.XPSubject).Value); + + Assert.Equal("user comment (ASCII)", exif.GetValue(ExifTag.UserComment).Value.Text); + Assert.Equal(EncodedString.CharacterCode.ASCII, exif.GetValue(ExifTag.UserComment).Value.Code); + + Assert.Equal("GPS processing method (JIS)", exif.GetValue(ExifTag.GPSProcessingMethod).Value.Text); + Assert.Equal(EncodedString.CharacterCode.JIS, exif.GetValue(ExifTag.GPSProcessingMethod).Value.Code); + + Assert.Equal("GPS area info (Unicode)", exif.GetValue(ExifTag.GPSAreaInformation).Value.Text); + Assert.Equal(EncodedString.CharacterCode.Unicode, exif.GetValue(ExifTag.GPSAreaInformation).Value.Code); } } } diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs index 2b68d2fd1..9b589e58e 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs @@ -591,7 +591,7 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Exif foreach (IExifValue value in profile.Values) { Assert.NotNull(value.GetValue()); - } + } IExifValue software = profile.GetValue(ExifTag.Software); Assert.Equal("Windows Photo Editor 10.0.10011.16384", software.Value); diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs index b668a2a1f..acb614c61 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs @@ -1,6 +1,8 @@ // Copyright (c) Six Labors. // Licensed under the Apache License, Version 2.0. +using System; +using System.Text; using SixLabors.ImageSharp.Metadata.Profiles.Exif; using Xunit; @@ -291,11 +293,6 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Exif.Values { ExifTag.GPSDestBearingRef }, { ExifTag.GPSDestDistanceRef }, { ExifTag.GPSDateStamp }, - { ExifTag.XPTitle }, - { ExifTag.XPComment }, - { ExifTag.XPAuthor }, - { ExifTag.XPKeywords }, - { ExifTag.XPSubject }, }; public static TheoryData UndefinedTags => new TheoryData @@ -327,6 +324,15 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Exif.Values { ExifTag.GPSAreaInformation } }; + public static TheoryData Ucs2StringTags => new TheoryData + { + { ExifTag.XPTitle }, + { ExifTag.XPComment }, + { ExifTag.XPAuthor }, + { ExifTag.XPKeywords }, + { ExifTag.XPSubject }, + }; + [Theory] [MemberData(nameof(ByteTags))] public void ExifByteTests(ExifTag tag) @@ -602,13 +608,38 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Exif.Values [MemberData(nameof(EncodedStringTags))] public void ExifEncodedStringTests(ExifTag tag) { - var expected = new EncodedString(EncodedString.CharacterCode.JIS, "test string"); + foreach (object code in Enum.GetValues(typeof(EncodedString.CharacterCode))) + { + var charCode = (EncodedString.CharacterCode)code; + + const string expectedText = "test string"; + var expected = new EncodedString(charCode, expectedText); + ExifValue value = ExifValues.Create(tag); + + Assert.False(value.TrySetValue(123)); + Assert.True(value.TrySetValue(expected)); + + var typed = (ExifEncodedString)value; + Assert.Equal(expected, typed.Value); + Assert.Equal(expectedText, (string)typed.Value); + Assert.Equal(charCode, typed.Value.Code); + } + } + + [Theory] + [MemberData(nameof(Ucs2StringTags))] + public void ExifUcs2StringTests(ExifTag tag) + { + const string expected = "Dan Petitt"; ExifValue value = ExifValues.Create(tag); Assert.False(value.TrySetValue(123)); Assert.True(value.TrySetValue(expected)); - var typed = (ExifEncodedString)value; + var typed = (ExifUcs2String)value; + Assert.Equal(expected, typed.Value); + + Assert.True(value.TrySetValue(Encoding.GetEncoding("UCS-2").GetBytes(expected))); Assert.Equal(expected, typed.Value); } } From 2ed1b6d4ec0e6e0bdccdd24ffc954f74f3586784 Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Sun, 30 Jan 2022 15:25:46 +0300 Subject: [PATCH 021/244] format --- .../Profiles/Exif/Values/ExifValues.cs | 804 ++++++++++++------ 1 file changed, 536 insertions(+), 268 deletions(-) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValues.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValues.cs index 3795e47a4..a92d062a4 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValues.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValues.cs @@ -15,21 +15,36 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif { switch (dataType) { - case ExifDataType.Byte: return isArray ? (ExifValue)new ExifByteArray(tag, dataType) : new ExifByte(tag, dataType); - case ExifDataType.DoubleFloat: return isArray ? (ExifValue)new ExifDoubleArray(tag) : new ExifDouble(tag); - case ExifDataType.SingleFloat: return isArray ? (ExifValue)new ExifFloatArray(tag) : new ExifFloat(tag); - case ExifDataType.Long: return isArray ? (ExifValue)new ExifLongArray(tag) : new ExifLong(tag); - case ExifDataType.Long8: return isArray ? (ExifValue)new ExifLong8Array(tag) : new ExifLong8(tag); - case ExifDataType.Rational: return isArray ? (ExifValue)new ExifRationalArray(tag) : new ExifRational(tag); - case ExifDataType.Short: return isArray ? (ExifValue)new ExifShortArray(tag) : new ExifShort(tag); - case ExifDataType.SignedByte: return isArray ? (ExifValue)new ExifSignedByteArray(tag) : new ExifSignedByte(tag); - case ExifDataType.SignedLong: return isArray ? (ExifValue)new ExifSignedLongArray(tag) : new ExifSignedLong(tag); - case ExifDataType.SignedLong8: return isArray ? (ExifValue)new ExifSignedLong8Array(tag) : new ExifSignedLong8(tag); - case ExifDataType.SignedRational: return isArray ? (ExifValue)new ExifSignedRationalArray(tag) : new ExifSignedRational(tag); - case ExifDataType.SignedShort: return isArray ? (ExifValue)new ExifSignedShortArray(tag) : new ExifSignedShort(tag); - case ExifDataType.Ascii: return new ExifString(tag); - case ExifDataType.Undefined: return isArray ? (ExifValue)new ExifByteArray(tag, dataType) : new ExifByte(tag, dataType); - default: return null; + case ExifDataType.Byte: + return isArray ? (ExifValue)new ExifByteArray(tag, dataType) : new ExifByte(tag, dataType); + case ExifDataType.DoubleFloat: + return isArray ? (ExifValue)new ExifDoubleArray(tag) : new ExifDouble(tag); + case ExifDataType.SingleFloat: + return isArray ? (ExifValue)new ExifFloatArray(tag) : new ExifFloat(tag); + case ExifDataType.Long: + return isArray ? (ExifValue)new ExifLongArray(tag) : new ExifLong(tag); + case ExifDataType.Long8: + return isArray ? (ExifValue)new ExifLong8Array(tag) : new ExifLong8(tag); + case ExifDataType.Rational: + return isArray ? (ExifValue)new ExifRationalArray(tag) : new ExifRational(tag); + case ExifDataType.Short: + return isArray ? (ExifValue)new ExifShortArray(tag) : new ExifShort(tag); + case ExifDataType.SignedByte: + return isArray ? (ExifValue)new ExifSignedByteArray(tag) : new ExifSignedByte(tag); + case ExifDataType.SignedLong: + return isArray ? (ExifValue)new ExifSignedLongArray(tag) : new ExifSignedLong(tag); + case ExifDataType.SignedLong8: + return isArray ? (ExifValue)new ExifSignedLong8Array(tag) : new ExifSignedLong8(tag); + case ExifDataType.SignedRational: + return isArray ? (ExifValue)new ExifSignedRationalArray(tag) : new ExifSignedRational(tag); + case ExifDataType.SignedShort: + return isArray ? (ExifValue)new ExifSignedShortArray(tag) : new ExifSignedShort(tag); + case ExifDataType.Ascii: + return new ExifString(tag); + case ExifDataType.Undefined: + return isArray ? (ExifValue)new ExifByteArray(tag, dataType) : new ExifByte(tag, dataType); + default: + return null; } } @@ -37,277 +52,530 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif { switch (tag) { - case ExifTagValue.FaxProfile: return new ExifByte(ExifTag.FaxProfile, ExifDataType.Byte); - case ExifTagValue.ModeNumber: return new ExifByte(ExifTag.ModeNumber, ExifDataType.Byte); - case ExifTagValue.GPSAltitudeRef: return new ExifByte(ExifTag.GPSAltitudeRef, ExifDataType.Byte); + case ExifTagValue.FaxProfile: + return new ExifByte(ExifTag.FaxProfile, ExifDataType.Byte); + case ExifTagValue.ModeNumber: + return new ExifByte(ExifTag.ModeNumber, ExifDataType.Byte); + case ExifTagValue.GPSAltitudeRef: + return new ExifByte(ExifTag.GPSAltitudeRef, ExifDataType.Byte); - case ExifTagValue.ClipPath: return new ExifByteArray(ExifTag.ClipPath, ExifDataType.Byte); - case ExifTagValue.VersionYear: return new ExifByteArray(ExifTag.VersionYear, ExifDataType.Byte); - case ExifTagValue.XMP: return new ExifByteArray(ExifTag.XMP, ExifDataType.Byte); - case ExifTagValue.CFAPattern2: return new ExifByteArray(ExifTag.CFAPattern2, ExifDataType.Byte); - case ExifTagValue.TIFFEPStandardID: return new ExifByteArray(ExifTag.TIFFEPStandardID, ExifDataType.Byte); - case ExifTagValue.GPSVersionID: return new ExifByteArray(ExifTag.GPSVersionID, ExifDataType.Byte); + case ExifTagValue.ClipPath: + return new ExifByteArray(ExifTag.ClipPath, ExifDataType.Byte); + case ExifTagValue.VersionYear: + return new ExifByteArray(ExifTag.VersionYear, ExifDataType.Byte); + case ExifTagValue.XMP: + return new ExifByteArray(ExifTag.XMP, ExifDataType.Byte); + case ExifTagValue.CFAPattern2: + return new ExifByteArray(ExifTag.CFAPattern2, ExifDataType.Byte); + case ExifTagValue.TIFFEPStandardID: + return new ExifByteArray(ExifTag.TIFFEPStandardID, ExifDataType.Byte); + case ExifTagValue.GPSVersionID: + return new ExifByteArray(ExifTag.GPSVersionID, ExifDataType.Byte); - case ExifTagValue.PixelScale: return new ExifDoubleArray(ExifTag.PixelScale); - case ExifTagValue.IntergraphMatrix: return new ExifDoubleArray(ExifTag.IntergraphMatrix); - case ExifTagValue.ModelTiePoint: return new ExifDoubleArray(ExifTag.ModelTiePoint); - case ExifTagValue.ModelTransform: return new ExifDoubleArray(ExifTag.ModelTransform); + case ExifTagValue.PixelScale: + return new ExifDoubleArray(ExifTag.PixelScale); + case ExifTagValue.IntergraphMatrix: + return new ExifDoubleArray(ExifTag.IntergraphMatrix); + case ExifTagValue.ModelTiePoint: + return new ExifDoubleArray(ExifTag.ModelTiePoint); + case ExifTagValue.ModelTransform: + return new ExifDoubleArray(ExifTag.ModelTransform); - case ExifTagValue.SubfileType: return new ExifLong(ExifTag.SubfileType); - case ExifTagValue.SubIFDOffset: return new ExifLong(ExifTag.SubIFDOffset); - case ExifTagValue.GPSIFDOffset: return new ExifLong(ExifTag.GPSIFDOffset); - case ExifTagValue.T4Options: return new ExifLong(ExifTag.T4Options); - case ExifTagValue.T6Options: return new ExifLong(ExifTag.T6Options); - case ExifTagValue.XClipPathUnits: return new ExifLong(ExifTag.XClipPathUnits); - case ExifTagValue.YClipPathUnits: return new ExifLong(ExifTag.YClipPathUnits); - case ExifTagValue.ProfileType: return new ExifLong(ExifTag.ProfileType); - case ExifTagValue.CodingMethods: return new ExifLong(ExifTag.CodingMethods); - case ExifTagValue.T82ptions: return new ExifLong(ExifTag.T82ptions); - case ExifTagValue.JPEGInterchangeFormat: return new ExifLong(ExifTag.JPEGInterchangeFormat); - case ExifTagValue.JPEGInterchangeFormatLength: return new ExifLong(ExifTag.JPEGInterchangeFormatLength); - case ExifTagValue.MDFileTag: return new ExifLong(ExifTag.MDFileTag); - case ExifTagValue.StandardOutputSensitivity: return new ExifLong(ExifTag.StandardOutputSensitivity); - case ExifTagValue.RecommendedExposureIndex: return new ExifLong(ExifTag.RecommendedExposureIndex); - case ExifTagValue.ISOSpeed: return new ExifLong(ExifTag.ISOSpeed); - case ExifTagValue.ISOSpeedLatitudeyyy: return new ExifLong(ExifTag.ISOSpeedLatitudeyyy); - case ExifTagValue.ISOSpeedLatitudezzz: return new ExifLong(ExifTag.ISOSpeedLatitudezzz); - case ExifTagValue.FaxRecvParams: return new ExifLong(ExifTag.FaxRecvParams); - case ExifTagValue.FaxRecvTime: return new ExifLong(ExifTag.FaxRecvTime); - case ExifTagValue.ImageNumber: return new ExifLong(ExifTag.ImageNumber); + case ExifTagValue.SubfileType: + return new ExifLong(ExifTag.SubfileType); + case ExifTagValue.SubIFDOffset: + return new ExifLong(ExifTag.SubIFDOffset); + case ExifTagValue.GPSIFDOffset: + return new ExifLong(ExifTag.GPSIFDOffset); + case ExifTagValue.T4Options: + return new ExifLong(ExifTag.T4Options); + case ExifTagValue.T6Options: + return new ExifLong(ExifTag.T6Options); + case ExifTagValue.XClipPathUnits: + return new ExifLong(ExifTag.XClipPathUnits); + case ExifTagValue.YClipPathUnits: + return new ExifLong(ExifTag.YClipPathUnits); + case ExifTagValue.ProfileType: + return new ExifLong(ExifTag.ProfileType); + case ExifTagValue.CodingMethods: + return new ExifLong(ExifTag.CodingMethods); + case ExifTagValue.T82ptions: + return new ExifLong(ExifTag.T82ptions); + case ExifTagValue.JPEGInterchangeFormat: + return new ExifLong(ExifTag.JPEGInterchangeFormat); + case ExifTagValue.JPEGInterchangeFormatLength: + return new ExifLong(ExifTag.JPEGInterchangeFormatLength); + case ExifTagValue.MDFileTag: + return new ExifLong(ExifTag.MDFileTag); + case ExifTagValue.StandardOutputSensitivity: + return new ExifLong(ExifTag.StandardOutputSensitivity); + case ExifTagValue.RecommendedExposureIndex: + return new ExifLong(ExifTag.RecommendedExposureIndex); + case ExifTagValue.ISOSpeed: + return new ExifLong(ExifTag.ISOSpeed); + case ExifTagValue.ISOSpeedLatitudeyyy: + return new ExifLong(ExifTag.ISOSpeedLatitudeyyy); + case ExifTagValue.ISOSpeedLatitudezzz: + return new ExifLong(ExifTag.ISOSpeedLatitudezzz); + case ExifTagValue.FaxRecvParams: + return new ExifLong(ExifTag.FaxRecvParams); + case ExifTagValue.FaxRecvTime: + return new ExifLong(ExifTag.FaxRecvTime); + case ExifTagValue.ImageNumber: + return new ExifLong(ExifTag.ImageNumber); - case ExifTagValue.FreeOffsets: return new ExifLongArray(ExifTag.FreeOffsets); - case ExifTagValue.FreeByteCounts: return new ExifLongArray(ExifTag.FreeByteCounts); - case ExifTagValue.ColorResponseUnit: return new ExifLongArray(ExifTag.ColorResponseUnit); - case ExifTagValue.TileOffsets: return new ExifLongArray(ExifTag.TileOffsets); - case ExifTagValue.SMinSampleValue: return new ExifLongArray(ExifTag.SMinSampleValue); - case ExifTagValue.SMaxSampleValue: return new ExifLongArray(ExifTag.SMaxSampleValue); - case ExifTagValue.JPEGQTables: return new ExifLongArray(ExifTag.JPEGQTables); - case ExifTagValue.JPEGDCTables: return new ExifLongArray(ExifTag.JPEGDCTables); - case ExifTagValue.JPEGACTables: return new ExifLongArray(ExifTag.JPEGACTables); - case ExifTagValue.StripRowCounts: return new ExifLongArray(ExifTag.StripRowCounts); - case ExifTagValue.IntergraphRegisters: return new ExifLongArray(ExifTag.IntergraphRegisters); - case ExifTagValue.TimeZoneOffset: return new ExifLongArray(ExifTag.TimeZoneOffset); - case ExifTagValue.SubIFDs: return new ExifLongArray(ExifTag.SubIFDs); + case ExifTagValue.FreeOffsets: + return new ExifLongArray(ExifTag.FreeOffsets); + case ExifTagValue.FreeByteCounts: + return new ExifLongArray(ExifTag.FreeByteCounts); + case ExifTagValue.ColorResponseUnit: + return new ExifLongArray(ExifTag.ColorResponseUnit); + case ExifTagValue.TileOffsets: + return new ExifLongArray(ExifTag.TileOffsets); + case ExifTagValue.SMinSampleValue: + return new ExifLongArray(ExifTag.SMinSampleValue); + case ExifTagValue.SMaxSampleValue: + return new ExifLongArray(ExifTag.SMaxSampleValue); + case ExifTagValue.JPEGQTables: + return new ExifLongArray(ExifTag.JPEGQTables); + case ExifTagValue.JPEGDCTables: + return new ExifLongArray(ExifTag.JPEGDCTables); + case ExifTagValue.JPEGACTables: + return new ExifLongArray(ExifTag.JPEGACTables); + case ExifTagValue.StripRowCounts: + return new ExifLongArray(ExifTag.StripRowCounts); + case ExifTagValue.IntergraphRegisters: + return new ExifLongArray(ExifTag.IntergraphRegisters); + case ExifTagValue.TimeZoneOffset: + return new ExifLongArray(ExifTag.TimeZoneOffset); + case ExifTagValue.SubIFDs: + return new ExifLongArray(ExifTag.SubIFDs); - case ExifTagValue.ImageWidth: return new ExifNumber(ExifTag.ImageWidth); - case ExifTagValue.ImageLength: return new ExifNumber(ExifTag.ImageLength); - case ExifTagValue.RowsPerStrip: return new ExifNumber(ExifTag.RowsPerStrip); - case ExifTagValue.TileWidth: return new ExifNumber(ExifTag.TileWidth); - case ExifTagValue.TileLength: return new ExifNumber(ExifTag.TileLength); - case ExifTagValue.BadFaxLines: return new ExifNumber(ExifTag.BadFaxLines); - case ExifTagValue.ConsecutiveBadFaxLines: return new ExifNumber(ExifTag.ConsecutiveBadFaxLines); - case ExifTagValue.PixelXDimension: return new ExifNumber(ExifTag.PixelXDimension); - case ExifTagValue.PixelYDimension: return new ExifNumber(ExifTag.PixelYDimension); + case ExifTagValue.ImageWidth: + return new ExifNumber(ExifTag.ImageWidth); + case ExifTagValue.ImageLength: + return new ExifNumber(ExifTag.ImageLength); + case ExifTagValue.RowsPerStrip: + return new ExifNumber(ExifTag.RowsPerStrip); + case ExifTagValue.TileWidth: + return new ExifNumber(ExifTag.TileWidth); + case ExifTagValue.TileLength: + return new ExifNumber(ExifTag.TileLength); + case ExifTagValue.BadFaxLines: + return new ExifNumber(ExifTag.BadFaxLines); + case ExifTagValue.ConsecutiveBadFaxLines: + return new ExifNumber(ExifTag.ConsecutiveBadFaxLines); + case ExifTagValue.PixelXDimension: + return new ExifNumber(ExifTag.PixelXDimension); + case ExifTagValue.PixelYDimension: + return new ExifNumber(ExifTag.PixelYDimension); - case ExifTagValue.StripByteCounts: return new ExifNumberArray(ExifTag.StripByteCounts); - case ExifTagValue.StripOffsets: return new ExifNumberArray(ExifTag.StripOffsets); - case ExifTagValue.TileByteCounts: return new ExifNumberArray(ExifTag.TileByteCounts); - case ExifTagValue.ImageLayer: return new ExifNumberArray(ExifTag.ImageLayer); + case ExifTagValue.StripByteCounts: + return new ExifNumberArray(ExifTag.StripByteCounts); + case ExifTagValue.StripOffsets: + return new ExifNumberArray(ExifTag.StripOffsets); + case ExifTagValue.TileByteCounts: + return new ExifNumberArray(ExifTag.TileByteCounts); + case ExifTagValue.ImageLayer: + return new ExifNumberArray(ExifTag.ImageLayer); - case ExifTagValue.XPosition: return new ExifRational(ExifTag.XPosition); - case ExifTagValue.YPosition: return new ExifRational(ExifTag.YPosition); - case ExifTagValue.XResolution: return new ExifRational(ExifTag.XResolution); - case ExifTagValue.YResolution: return new ExifRational(ExifTag.YResolution); - case ExifTagValue.BatteryLevel: return new ExifRational(ExifTag.BatteryLevel); - case ExifTagValue.ExposureTime: return new ExifRational(ExifTag.ExposureTime); - case ExifTagValue.FNumber: return new ExifRational(ExifTag.FNumber); - case ExifTagValue.MDScalePixel: return new ExifRational(ExifTag.MDScalePixel); - case ExifTagValue.CompressedBitsPerPixel: return new ExifRational(ExifTag.CompressedBitsPerPixel); - case ExifTagValue.ApertureValue: return new ExifRational(ExifTag.ApertureValue); - case ExifTagValue.MaxApertureValue: return new ExifRational(ExifTag.MaxApertureValue); - case ExifTagValue.SubjectDistance: return new ExifRational(ExifTag.SubjectDistance); - case ExifTagValue.FocalLength: return new ExifRational(ExifTag.FocalLength); - case ExifTagValue.FlashEnergy2: return new ExifRational(ExifTag.FlashEnergy2); - case ExifTagValue.FocalPlaneXResolution2: return new ExifRational(ExifTag.FocalPlaneXResolution2); - case ExifTagValue.FocalPlaneYResolution2: return new ExifRational(ExifTag.FocalPlaneYResolution2); - case ExifTagValue.ExposureIndex2: return new ExifRational(ExifTag.ExposureIndex2); - case ExifTagValue.Humidity: return new ExifRational(ExifTag.Humidity); - case ExifTagValue.Pressure: return new ExifRational(ExifTag.Pressure); - case ExifTagValue.Acceleration: return new ExifRational(ExifTag.Acceleration); - case ExifTagValue.FlashEnergy: return new ExifRational(ExifTag.FlashEnergy); - case ExifTagValue.FocalPlaneXResolution: return new ExifRational(ExifTag.FocalPlaneXResolution); - case ExifTagValue.FocalPlaneYResolution: return new ExifRational(ExifTag.FocalPlaneYResolution); - case ExifTagValue.ExposureIndex: return new ExifRational(ExifTag.ExposureIndex); - case ExifTagValue.DigitalZoomRatio: return new ExifRational(ExifTag.DigitalZoomRatio); - case ExifTagValue.GPSAltitude: return new ExifRational(ExifTag.GPSAltitude); - case ExifTagValue.GPSDOP: return new ExifRational(ExifTag.GPSDOP); - case ExifTagValue.GPSSpeed: return new ExifRational(ExifTag.GPSSpeed); - case ExifTagValue.GPSTrack: return new ExifRational(ExifTag.GPSTrack); - case ExifTagValue.GPSImgDirection: return new ExifRational(ExifTag.GPSImgDirection); - case ExifTagValue.GPSDestBearing: return new ExifRational(ExifTag.GPSDestBearing); - case ExifTagValue.GPSDestDistance: return new ExifRational(ExifTag.GPSDestDistance); + case ExifTagValue.XPosition: + return new ExifRational(ExifTag.XPosition); + case ExifTagValue.YPosition: + return new ExifRational(ExifTag.YPosition); + case ExifTagValue.XResolution: + return new ExifRational(ExifTag.XResolution); + case ExifTagValue.YResolution: + return new ExifRational(ExifTag.YResolution); + case ExifTagValue.BatteryLevel: + return new ExifRational(ExifTag.BatteryLevel); + case ExifTagValue.ExposureTime: + return new ExifRational(ExifTag.ExposureTime); + case ExifTagValue.FNumber: + return new ExifRational(ExifTag.FNumber); + case ExifTagValue.MDScalePixel: + return new ExifRational(ExifTag.MDScalePixel); + case ExifTagValue.CompressedBitsPerPixel: + return new ExifRational(ExifTag.CompressedBitsPerPixel); + case ExifTagValue.ApertureValue: + return new ExifRational(ExifTag.ApertureValue); + case ExifTagValue.MaxApertureValue: + return new ExifRational(ExifTag.MaxApertureValue); + case ExifTagValue.SubjectDistance: + return new ExifRational(ExifTag.SubjectDistance); + case ExifTagValue.FocalLength: + return new ExifRational(ExifTag.FocalLength); + case ExifTagValue.FlashEnergy2: + return new ExifRational(ExifTag.FlashEnergy2); + case ExifTagValue.FocalPlaneXResolution2: + return new ExifRational(ExifTag.FocalPlaneXResolution2); + case ExifTagValue.FocalPlaneYResolution2: + return new ExifRational(ExifTag.FocalPlaneYResolution2); + case ExifTagValue.ExposureIndex2: + return new ExifRational(ExifTag.ExposureIndex2); + case ExifTagValue.Humidity: + return new ExifRational(ExifTag.Humidity); + case ExifTagValue.Pressure: + return new ExifRational(ExifTag.Pressure); + case ExifTagValue.Acceleration: + return new ExifRational(ExifTag.Acceleration); + case ExifTagValue.FlashEnergy: + return new ExifRational(ExifTag.FlashEnergy); + case ExifTagValue.FocalPlaneXResolution: + return new ExifRational(ExifTag.FocalPlaneXResolution); + case ExifTagValue.FocalPlaneYResolution: + return new ExifRational(ExifTag.FocalPlaneYResolution); + case ExifTagValue.ExposureIndex: + return new ExifRational(ExifTag.ExposureIndex); + case ExifTagValue.DigitalZoomRatio: + return new ExifRational(ExifTag.DigitalZoomRatio); + case ExifTagValue.GPSAltitude: + return new ExifRational(ExifTag.GPSAltitude); + case ExifTagValue.GPSDOP: + return new ExifRational(ExifTag.GPSDOP); + case ExifTagValue.GPSSpeed: + return new ExifRational(ExifTag.GPSSpeed); + case ExifTagValue.GPSTrack: + return new ExifRational(ExifTag.GPSTrack); + case ExifTagValue.GPSImgDirection: + return new ExifRational(ExifTag.GPSImgDirection); + case ExifTagValue.GPSDestBearing: + return new ExifRational(ExifTag.GPSDestBearing); + case ExifTagValue.GPSDestDistance: + return new ExifRational(ExifTag.GPSDestDistance); - case ExifTagValue.WhitePoint: return new ExifRationalArray(ExifTag.WhitePoint); - case ExifTagValue.PrimaryChromaticities: return new ExifRationalArray(ExifTag.PrimaryChromaticities); - case ExifTagValue.YCbCrCoefficients: return new ExifRationalArray(ExifTag.YCbCrCoefficients); - case ExifTagValue.ReferenceBlackWhite: return new ExifRationalArray(ExifTag.ReferenceBlackWhite); - case ExifTagValue.GPSLatitude: return new ExifRationalArray(ExifTag.GPSLatitude); - case ExifTagValue.GPSLongitude: return new ExifRationalArray(ExifTag.GPSLongitude); - case ExifTagValue.GPSTimestamp: return new ExifRationalArray(ExifTag.GPSTimestamp); - case ExifTagValue.GPSDestLatitude: return new ExifRationalArray(ExifTag.GPSDestLatitude); - case ExifTagValue.GPSDestLongitude: return new ExifRationalArray(ExifTag.GPSDestLongitude); - case ExifTagValue.LensSpecification: return new ExifRationalArray(ExifTag.LensSpecification); + case ExifTagValue.WhitePoint: + return new ExifRationalArray(ExifTag.WhitePoint); + case ExifTagValue.PrimaryChromaticities: + return new ExifRationalArray(ExifTag.PrimaryChromaticities); + case ExifTagValue.YCbCrCoefficients: + return new ExifRationalArray(ExifTag.YCbCrCoefficients); + case ExifTagValue.ReferenceBlackWhite: + return new ExifRationalArray(ExifTag.ReferenceBlackWhite); + case ExifTagValue.GPSLatitude: + return new ExifRationalArray(ExifTag.GPSLatitude); + case ExifTagValue.GPSLongitude: + return new ExifRationalArray(ExifTag.GPSLongitude); + case ExifTagValue.GPSTimestamp: + return new ExifRationalArray(ExifTag.GPSTimestamp); + case ExifTagValue.GPSDestLatitude: + return new ExifRationalArray(ExifTag.GPSDestLatitude); + case ExifTagValue.GPSDestLongitude: + return new ExifRationalArray(ExifTag.GPSDestLongitude); + case ExifTagValue.LensSpecification: + return new ExifRationalArray(ExifTag.LensSpecification); - case ExifTagValue.OldSubfileType: return new ExifShort(ExifTag.OldSubfileType); - case ExifTagValue.Compression: return new ExifShort(ExifTag.Compression); - case ExifTagValue.PhotometricInterpretation: return new ExifShort(ExifTag.PhotometricInterpretation); - case ExifTagValue.Thresholding: return new ExifShort(ExifTag.Thresholding); - case ExifTagValue.CellWidth: return new ExifShort(ExifTag.CellWidth); - case ExifTagValue.CellLength: return new ExifShort(ExifTag.CellLength); - case ExifTagValue.FillOrder: return new ExifShort(ExifTag.FillOrder); - case ExifTagValue.Orientation: return new ExifShort(ExifTag.Orientation); - case ExifTagValue.SamplesPerPixel: return new ExifShort(ExifTag.SamplesPerPixel); - case ExifTagValue.PlanarConfiguration: return new ExifShort(ExifTag.PlanarConfiguration); - case ExifTagValue.Predictor: return new ExifShort(ExifTag.Predictor); - case ExifTagValue.GrayResponseUnit: return new ExifShort(ExifTag.GrayResponseUnit); - case ExifTagValue.ResolutionUnit: return new ExifShort(ExifTag.ResolutionUnit); - case ExifTagValue.CleanFaxData: return new ExifShort(ExifTag.CleanFaxData); - case ExifTagValue.InkSet: return new ExifShort(ExifTag.InkSet); - case ExifTagValue.NumberOfInks: return new ExifShort(ExifTag.NumberOfInks); - case ExifTagValue.DotRange: return new ExifShort(ExifTag.DotRange); - case ExifTagValue.Indexed: return new ExifShort(ExifTag.Indexed); - case ExifTagValue.OPIProxy: return new ExifShort(ExifTag.OPIProxy); - case ExifTagValue.JPEGProc: return new ExifShort(ExifTag.JPEGProc); - case ExifTagValue.JPEGRestartInterval: return new ExifShort(ExifTag.JPEGRestartInterval); - case ExifTagValue.YCbCrPositioning: return new ExifShort(ExifTag.YCbCrPositioning); - case ExifTagValue.Rating: return new ExifShort(ExifTag.Rating); - case ExifTagValue.RatingPercent: return new ExifShort(ExifTag.RatingPercent); - case ExifTagValue.ExposureProgram: return new ExifShort(ExifTag.ExposureProgram); - case ExifTagValue.Interlace: return new ExifShort(ExifTag.Interlace); - case ExifTagValue.SelfTimerMode: return new ExifShort(ExifTag.SelfTimerMode); - case ExifTagValue.SensitivityType: return new ExifShort(ExifTag.SensitivityType); - case ExifTagValue.MeteringMode: return new ExifShort(ExifTag.MeteringMode); - case ExifTagValue.LightSource: return new ExifShort(ExifTag.LightSource); - case ExifTagValue.FocalPlaneResolutionUnit2: return new ExifShort(ExifTag.FocalPlaneResolutionUnit2); - case ExifTagValue.SensingMethod2: return new ExifShort(ExifTag.SensingMethod2); - case ExifTagValue.Flash: return new ExifShort(ExifTag.Flash); - case ExifTagValue.ColorSpace: return new ExifShort(ExifTag.ColorSpace); - case ExifTagValue.FocalPlaneResolutionUnit: return new ExifShort(ExifTag.FocalPlaneResolutionUnit); - case ExifTagValue.SensingMethod: return new ExifShort(ExifTag.SensingMethod); - case ExifTagValue.CustomRendered: return new ExifShort(ExifTag.CustomRendered); - case ExifTagValue.ExposureMode: return new ExifShort(ExifTag.ExposureMode); - case ExifTagValue.WhiteBalance: return new ExifShort(ExifTag.WhiteBalance); - case ExifTagValue.FocalLengthIn35mmFilm: return new ExifShort(ExifTag.FocalLengthIn35mmFilm); - case ExifTagValue.SceneCaptureType: return new ExifShort(ExifTag.SceneCaptureType); - case ExifTagValue.GainControl: return new ExifShort(ExifTag.GainControl); - case ExifTagValue.Contrast: return new ExifShort(ExifTag.Contrast); - case ExifTagValue.Saturation: return new ExifShort(ExifTag.Saturation); - case ExifTagValue.Sharpness: return new ExifShort(ExifTag.Sharpness); - case ExifTagValue.SubjectDistanceRange: return new ExifShort(ExifTag.SubjectDistanceRange); - case ExifTagValue.GPSDifferential: return new ExifShort(ExifTag.GPSDifferential); + case ExifTagValue.OldSubfileType: + return new ExifShort(ExifTag.OldSubfileType); + case ExifTagValue.Compression: + return new ExifShort(ExifTag.Compression); + case ExifTagValue.PhotometricInterpretation: + return new ExifShort(ExifTag.PhotometricInterpretation); + case ExifTagValue.Thresholding: + return new ExifShort(ExifTag.Thresholding); + case ExifTagValue.CellWidth: + return new ExifShort(ExifTag.CellWidth); + case ExifTagValue.CellLength: + return new ExifShort(ExifTag.CellLength); + case ExifTagValue.FillOrder: + return new ExifShort(ExifTag.FillOrder); + case ExifTagValue.Orientation: + return new ExifShort(ExifTag.Orientation); + case ExifTagValue.SamplesPerPixel: + return new ExifShort(ExifTag.SamplesPerPixel); + case ExifTagValue.PlanarConfiguration: + return new ExifShort(ExifTag.PlanarConfiguration); + case ExifTagValue.Predictor: + return new ExifShort(ExifTag.Predictor); + case ExifTagValue.GrayResponseUnit: + return new ExifShort(ExifTag.GrayResponseUnit); + case ExifTagValue.ResolutionUnit: + return new ExifShort(ExifTag.ResolutionUnit); + case ExifTagValue.CleanFaxData: + return new ExifShort(ExifTag.CleanFaxData); + case ExifTagValue.InkSet: + return new ExifShort(ExifTag.InkSet); + case ExifTagValue.NumberOfInks: + return new ExifShort(ExifTag.NumberOfInks); + case ExifTagValue.DotRange: + return new ExifShort(ExifTag.DotRange); + case ExifTagValue.Indexed: + return new ExifShort(ExifTag.Indexed); + case ExifTagValue.OPIProxy: + return new ExifShort(ExifTag.OPIProxy); + case ExifTagValue.JPEGProc: + return new ExifShort(ExifTag.JPEGProc); + case ExifTagValue.JPEGRestartInterval: + return new ExifShort(ExifTag.JPEGRestartInterval); + case ExifTagValue.YCbCrPositioning: + return new ExifShort(ExifTag.YCbCrPositioning); + case ExifTagValue.Rating: + return new ExifShort(ExifTag.Rating); + case ExifTagValue.RatingPercent: + return new ExifShort(ExifTag.RatingPercent); + case ExifTagValue.ExposureProgram: + return new ExifShort(ExifTag.ExposureProgram); + case ExifTagValue.Interlace: + return new ExifShort(ExifTag.Interlace); + case ExifTagValue.SelfTimerMode: + return new ExifShort(ExifTag.SelfTimerMode); + case ExifTagValue.SensitivityType: + return new ExifShort(ExifTag.SensitivityType); + case ExifTagValue.MeteringMode: + return new ExifShort(ExifTag.MeteringMode); + case ExifTagValue.LightSource: + return new ExifShort(ExifTag.LightSource); + case ExifTagValue.FocalPlaneResolutionUnit2: + return new ExifShort(ExifTag.FocalPlaneResolutionUnit2); + case ExifTagValue.SensingMethod2: + return new ExifShort(ExifTag.SensingMethod2); + case ExifTagValue.Flash: + return new ExifShort(ExifTag.Flash); + case ExifTagValue.ColorSpace: + return new ExifShort(ExifTag.ColorSpace); + case ExifTagValue.FocalPlaneResolutionUnit: + return new ExifShort(ExifTag.FocalPlaneResolutionUnit); + case ExifTagValue.SensingMethod: + return new ExifShort(ExifTag.SensingMethod); + case ExifTagValue.CustomRendered: + return new ExifShort(ExifTag.CustomRendered); + case ExifTagValue.ExposureMode: + return new ExifShort(ExifTag.ExposureMode); + case ExifTagValue.WhiteBalance: + return new ExifShort(ExifTag.WhiteBalance); + case ExifTagValue.FocalLengthIn35mmFilm: + return new ExifShort(ExifTag.FocalLengthIn35mmFilm); + case ExifTagValue.SceneCaptureType: + return new ExifShort(ExifTag.SceneCaptureType); + case ExifTagValue.GainControl: + return new ExifShort(ExifTag.GainControl); + case ExifTagValue.Contrast: + return new ExifShort(ExifTag.Contrast); + case ExifTagValue.Saturation: + return new ExifShort(ExifTag.Saturation); + case ExifTagValue.Sharpness: + return new ExifShort(ExifTag.Sharpness); + case ExifTagValue.SubjectDistanceRange: + return new ExifShort(ExifTag.SubjectDistanceRange); + case ExifTagValue.GPSDifferential: + return new ExifShort(ExifTag.GPSDifferential); - case ExifTagValue.BitsPerSample: return new ExifShortArray(ExifTag.BitsPerSample); - case ExifTagValue.MinSampleValue: return new ExifShortArray(ExifTag.MinSampleValue); - case ExifTagValue.MaxSampleValue: return new ExifShortArray(ExifTag.MaxSampleValue); - case ExifTagValue.GrayResponseCurve: return new ExifShortArray(ExifTag.GrayResponseCurve); - case ExifTagValue.ColorMap: return new ExifShortArray(ExifTag.ColorMap); - case ExifTagValue.ExtraSamples: return new ExifShortArray(ExifTag.ExtraSamples); - case ExifTagValue.PageNumber: return new ExifShortArray(ExifTag.PageNumber); - case ExifTagValue.TransferFunction: return new ExifShortArray(ExifTag.TransferFunction); - case ExifTagValue.HalftoneHints: return new ExifShortArray(ExifTag.HalftoneHints); - case ExifTagValue.SampleFormat: return new ExifShortArray(ExifTag.SampleFormat); - case ExifTagValue.TransferRange: return new ExifShortArray(ExifTag.TransferRange); - case ExifTagValue.DefaultImageColor: return new ExifShortArray(ExifTag.DefaultImageColor); - case ExifTagValue.JPEGLosslessPredictors: return new ExifShortArray(ExifTag.JPEGLosslessPredictors); - case ExifTagValue.JPEGPointTransforms: return new ExifShortArray(ExifTag.JPEGPointTransforms); - case ExifTagValue.YCbCrSubsampling: return new ExifShortArray(ExifTag.YCbCrSubsampling); - case ExifTagValue.CFARepeatPatternDim: return new ExifShortArray(ExifTag.CFARepeatPatternDim); - case ExifTagValue.IntergraphPacketData: return new ExifShortArray(ExifTag.IntergraphPacketData); - case ExifTagValue.ISOSpeedRatings: return new ExifShortArray(ExifTag.ISOSpeedRatings); - case ExifTagValue.SubjectArea: return new ExifShortArray(ExifTag.SubjectArea); - case ExifTagValue.SubjectLocation: return new ExifShortArray(ExifTag.SubjectLocation); + case ExifTagValue.BitsPerSample: + return new ExifShortArray(ExifTag.BitsPerSample); + case ExifTagValue.MinSampleValue: + return new ExifShortArray(ExifTag.MinSampleValue); + case ExifTagValue.MaxSampleValue: + return new ExifShortArray(ExifTag.MaxSampleValue); + case ExifTagValue.GrayResponseCurve: + return new ExifShortArray(ExifTag.GrayResponseCurve); + case ExifTagValue.ColorMap: + return new ExifShortArray(ExifTag.ColorMap); + case ExifTagValue.ExtraSamples: + return new ExifShortArray(ExifTag.ExtraSamples); + case ExifTagValue.PageNumber: + return new ExifShortArray(ExifTag.PageNumber); + case ExifTagValue.TransferFunction: + return new ExifShortArray(ExifTag.TransferFunction); + case ExifTagValue.HalftoneHints: + return new ExifShortArray(ExifTag.HalftoneHints); + case ExifTagValue.SampleFormat: + return new ExifShortArray(ExifTag.SampleFormat); + case ExifTagValue.TransferRange: + return new ExifShortArray(ExifTag.TransferRange); + case ExifTagValue.DefaultImageColor: + return new ExifShortArray(ExifTag.DefaultImageColor); + case ExifTagValue.JPEGLosslessPredictors: + return new ExifShortArray(ExifTag.JPEGLosslessPredictors); + case ExifTagValue.JPEGPointTransforms: + return new ExifShortArray(ExifTag.JPEGPointTransforms); + case ExifTagValue.YCbCrSubsampling: + return new ExifShortArray(ExifTag.YCbCrSubsampling); + case ExifTagValue.CFARepeatPatternDim: + return new ExifShortArray(ExifTag.CFARepeatPatternDim); + case ExifTagValue.IntergraphPacketData: + return new ExifShortArray(ExifTag.IntergraphPacketData); + case ExifTagValue.ISOSpeedRatings: + return new ExifShortArray(ExifTag.ISOSpeedRatings); + case ExifTagValue.SubjectArea: + return new ExifShortArray(ExifTag.SubjectArea); + case ExifTagValue.SubjectLocation: + return new ExifShortArray(ExifTag.SubjectLocation); - case ExifTagValue.ShutterSpeedValue: return new ExifSignedRational(ExifTag.ShutterSpeedValue); - case ExifTagValue.BrightnessValue: return new ExifSignedRational(ExifTag.BrightnessValue); - case ExifTagValue.ExposureBiasValue: return new ExifSignedRational(ExifTag.ExposureBiasValue); - case ExifTagValue.AmbientTemperature: return new ExifSignedRational(ExifTag.AmbientTemperature); - case ExifTagValue.WaterDepth: return new ExifSignedRational(ExifTag.WaterDepth); - case ExifTagValue.CameraElevationAngle: return new ExifSignedRational(ExifTag.CameraElevationAngle); + case ExifTagValue.ShutterSpeedValue: + return new ExifSignedRational(ExifTag.ShutterSpeedValue); + case ExifTagValue.BrightnessValue: + return new ExifSignedRational(ExifTag.BrightnessValue); + case ExifTagValue.ExposureBiasValue: + return new ExifSignedRational(ExifTag.ExposureBiasValue); + case ExifTagValue.AmbientTemperature: + return new ExifSignedRational(ExifTag.AmbientTemperature); + case ExifTagValue.WaterDepth: + return new ExifSignedRational(ExifTag.WaterDepth); + case ExifTagValue.CameraElevationAngle: + return new ExifSignedRational(ExifTag.CameraElevationAngle); - case ExifTagValue.Decode: return new ExifSignedRationalArray(ExifTag.Decode); + case ExifTagValue.Decode: + return new ExifSignedRationalArray(ExifTag.Decode); - case ExifTagValue.ImageDescription: return new ExifString(ExifTag.ImageDescription); - case ExifTagValue.Make: return new ExifString(ExifTag.Make); - case ExifTagValue.Model: return new ExifString(ExifTag.Model); - case ExifTagValue.Software: return new ExifString(ExifTag.Software); - case ExifTagValue.DateTime: return new ExifString(ExifTag.DateTime); - case ExifTagValue.Artist: return new ExifString(ExifTag.Artist); - case ExifTagValue.HostComputer: return new ExifString(ExifTag.HostComputer); - case ExifTagValue.Copyright: return new ExifString(ExifTag.Copyright); - case ExifTagValue.DocumentName: return new ExifString(ExifTag.DocumentName); - case ExifTagValue.PageName: return new ExifString(ExifTag.PageName); - case ExifTagValue.InkNames: return new ExifString(ExifTag.InkNames); - case ExifTagValue.TargetPrinter: return new ExifString(ExifTag.TargetPrinter); - case ExifTagValue.ImageID: return new ExifString(ExifTag.ImageID); - case ExifTagValue.MDLabName: return new ExifString(ExifTag.MDLabName); - case ExifTagValue.MDSampleInfo: return new ExifString(ExifTag.MDSampleInfo); - case ExifTagValue.MDPrepDate: return new ExifString(ExifTag.MDPrepDate); - case ExifTagValue.MDPrepTime: return new ExifString(ExifTag.MDPrepTime); - case ExifTagValue.MDFileUnits: return new ExifString(ExifTag.MDFileUnits); - case ExifTagValue.SEMInfo: return new ExifString(ExifTag.SEMInfo); - case ExifTagValue.SpectralSensitivity: return new ExifString(ExifTag.SpectralSensitivity); - case ExifTagValue.DateTimeOriginal: return new ExifString(ExifTag.DateTimeOriginal); - case ExifTagValue.DateTimeDigitized: return new ExifString(ExifTag.DateTimeDigitized); - case ExifTagValue.SubsecTime: return new ExifString(ExifTag.SubsecTime); - case ExifTagValue.SubsecTimeOriginal: return new ExifString(ExifTag.SubsecTimeOriginal); - case ExifTagValue.SubsecTimeDigitized: return new ExifString(ExifTag.SubsecTimeDigitized); - case ExifTagValue.RelatedSoundFile: return new ExifString(ExifTag.RelatedSoundFile); - case ExifTagValue.FaxSubaddress: return new ExifString(ExifTag.FaxSubaddress); - case ExifTagValue.OffsetTime: return new ExifString(ExifTag.OffsetTime); - case ExifTagValue.OffsetTimeOriginal: return new ExifString(ExifTag.OffsetTimeOriginal); - case ExifTagValue.OffsetTimeDigitized: return new ExifString(ExifTag.OffsetTimeDigitized); - case ExifTagValue.SecurityClassification: return new ExifString(ExifTag.SecurityClassification); - case ExifTagValue.ImageHistory: return new ExifString(ExifTag.ImageHistory); - case ExifTagValue.ImageUniqueID: return new ExifString(ExifTag.ImageUniqueID); - case ExifTagValue.OwnerName: return new ExifString(ExifTag.OwnerName); - case ExifTagValue.SerialNumber: return new ExifString(ExifTag.SerialNumber); - case ExifTagValue.LensMake: return new ExifString(ExifTag.LensMake); - case ExifTagValue.LensModel: return new ExifString(ExifTag.LensModel); - case ExifTagValue.LensSerialNumber: return new ExifString(ExifTag.LensSerialNumber); - case ExifTagValue.GDALMetadata: return new ExifString(ExifTag.GDALMetadata); - case ExifTagValue.GDALNoData: return new ExifString(ExifTag.GDALNoData); - case ExifTagValue.GPSLatitudeRef: return new ExifString(ExifTag.GPSLatitudeRef); - case ExifTagValue.GPSLongitudeRef: return new ExifString(ExifTag.GPSLongitudeRef); - case ExifTagValue.GPSSatellites: return new ExifString(ExifTag.GPSSatellites); - case ExifTagValue.GPSStatus: return new ExifString(ExifTag.GPSStatus); - case ExifTagValue.GPSMeasureMode: return new ExifString(ExifTag.GPSMeasureMode); - case ExifTagValue.GPSSpeedRef: return new ExifString(ExifTag.GPSSpeedRef); - case ExifTagValue.GPSTrackRef: return new ExifString(ExifTag.GPSTrackRef); - case ExifTagValue.GPSImgDirectionRef: return new ExifString(ExifTag.GPSImgDirectionRef); - case ExifTagValue.GPSMapDatum: return new ExifString(ExifTag.GPSMapDatum); - case ExifTagValue.GPSDestLatitudeRef: return new ExifString(ExifTag.GPSDestLatitudeRef); - case ExifTagValue.GPSDestLongitudeRef: return new ExifString(ExifTag.GPSDestLongitudeRef); - case ExifTagValue.GPSDestBearingRef: return new ExifString(ExifTag.GPSDestBearingRef); - case ExifTagValue.GPSDestDistanceRef: return new ExifString(ExifTag.GPSDestDistanceRef); - case ExifTagValue.GPSDateStamp: return new ExifString(ExifTag.GPSDateStamp); + case ExifTagValue.ImageDescription: + return new ExifString(ExifTag.ImageDescription); + case ExifTagValue.Make: + return new ExifString(ExifTag.Make); + case ExifTagValue.Model: + return new ExifString(ExifTag.Model); + case ExifTagValue.Software: + return new ExifString(ExifTag.Software); + case ExifTagValue.DateTime: + return new ExifString(ExifTag.DateTime); + case ExifTagValue.Artist: + return new ExifString(ExifTag.Artist); + case ExifTagValue.HostComputer: + return new ExifString(ExifTag.HostComputer); + case ExifTagValue.Copyright: + return new ExifString(ExifTag.Copyright); + case ExifTagValue.DocumentName: + return new ExifString(ExifTag.DocumentName); + case ExifTagValue.PageName: + return new ExifString(ExifTag.PageName); + case ExifTagValue.InkNames: + return new ExifString(ExifTag.InkNames); + case ExifTagValue.TargetPrinter: + return new ExifString(ExifTag.TargetPrinter); + case ExifTagValue.ImageID: + return new ExifString(ExifTag.ImageID); + case ExifTagValue.MDLabName: + return new ExifString(ExifTag.MDLabName); + case ExifTagValue.MDSampleInfo: + return new ExifString(ExifTag.MDSampleInfo); + case ExifTagValue.MDPrepDate: + return new ExifString(ExifTag.MDPrepDate); + case ExifTagValue.MDPrepTime: + return new ExifString(ExifTag.MDPrepTime); + case ExifTagValue.MDFileUnits: + return new ExifString(ExifTag.MDFileUnits); + case ExifTagValue.SEMInfo: + return new ExifString(ExifTag.SEMInfo); + case ExifTagValue.SpectralSensitivity: + return new ExifString(ExifTag.SpectralSensitivity); + case ExifTagValue.DateTimeOriginal: + return new ExifString(ExifTag.DateTimeOriginal); + case ExifTagValue.DateTimeDigitized: + return new ExifString(ExifTag.DateTimeDigitized); + case ExifTagValue.SubsecTime: + return new ExifString(ExifTag.SubsecTime); + case ExifTagValue.SubsecTimeOriginal: + return new ExifString(ExifTag.SubsecTimeOriginal); + case ExifTagValue.SubsecTimeDigitized: + return new ExifString(ExifTag.SubsecTimeDigitized); + case ExifTagValue.RelatedSoundFile: + return new ExifString(ExifTag.RelatedSoundFile); + case ExifTagValue.FaxSubaddress: + return new ExifString(ExifTag.FaxSubaddress); + case ExifTagValue.OffsetTime: + return new ExifString(ExifTag.OffsetTime); + case ExifTagValue.OffsetTimeOriginal: + return new ExifString(ExifTag.OffsetTimeOriginal); + case ExifTagValue.OffsetTimeDigitized: + return new ExifString(ExifTag.OffsetTimeDigitized); + case ExifTagValue.SecurityClassification: + return new ExifString(ExifTag.SecurityClassification); + case ExifTagValue.ImageHistory: + return new ExifString(ExifTag.ImageHistory); + case ExifTagValue.ImageUniqueID: + return new ExifString(ExifTag.ImageUniqueID); + case ExifTagValue.OwnerName: + return new ExifString(ExifTag.OwnerName); + case ExifTagValue.SerialNumber: + return new ExifString(ExifTag.SerialNumber); + case ExifTagValue.LensMake: + return new ExifString(ExifTag.LensMake); + case ExifTagValue.LensModel: + return new ExifString(ExifTag.LensModel); + case ExifTagValue.LensSerialNumber: + return new ExifString(ExifTag.LensSerialNumber); + case ExifTagValue.GDALMetadata: + return new ExifString(ExifTag.GDALMetadata); + case ExifTagValue.GDALNoData: + return new ExifString(ExifTag.GDALNoData); + case ExifTagValue.GPSLatitudeRef: + return new ExifString(ExifTag.GPSLatitudeRef); + case ExifTagValue.GPSLongitudeRef: + return new ExifString(ExifTag.GPSLongitudeRef); + case ExifTagValue.GPSSatellites: + return new ExifString(ExifTag.GPSSatellites); + case ExifTagValue.GPSStatus: + return new ExifString(ExifTag.GPSStatus); + case ExifTagValue.GPSMeasureMode: + return new ExifString(ExifTag.GPSMeasureMode); + case ExifTagValue.GPSSpeedRef: + return new ExifString(ExifTag.GPSSpeedRef); + case ExifTagValue.GPSTrackRef: + return new ExifString(ExifTag.GPSTrackRef); + case ExifTagValue.GPSImgDirectionRef: + return new ExifString(ExifTag.GPSImgDirectionRef); + case ExifTagValue.GPSMapDatum: + return new ExifString(ExifTag.GPSMapDatum); + case ExifTagValue.GPSDestLatitudeRef: + return new ExifString(ExifTag.GPSDestLatitudeRef); + case ExifTagValue.GPSDestLongitudeRef: + return new ExifString(ExifTag.GPSDestLongitudeRef); + case ExifTagValue.GPSDestBearingRef: + return new ExifString(ExifTag.GPSDestBearingRef); + case ExifTagValue.GPSDestDistanceRef: + return new ExifString(ExifTag.GPSDestDistanceRef); + case ExifTagValue.GPSDateStamp: + return new ExifString(ExifTag.GPSDateStamp); - case ExifTagValue.FileSource: return new ExifByte(ExifTag.FileSource, ExifDataType.Undefined); - case ExifTagValue.SceneType: return new ExifByte(ExifTag.SceneType, ExifDataType.Undefined); + case ExifTagValue.FileSource: + return new ExifByte(ExifTag.FileSource, ExifDataType.Undefined); + case ExifTagValue.SceneType: + return new ExifByte(ExifTag.SceneType, ExifDataType.Undefined); - case ExifTagValue.JPEGTables: return new ExifByteArray(ExifTag.JPEGTables, ExifDataType.Undefined); - case ExifTagValue.OECF: return new ExifByteArray(ExifTag.OECF, ExifDataType.Undefined); - case ExifTagValue.ExifVersion: return new ExifByteArray(ExifTag.ExifVersion, ExifDataType.Undefined); - case ExifTagValue.ComponentsConfiguration: return new ExifByteArray(ExifTag.ComponentsConfiguration, ExifDataType.Undefined); - case ExifTagValue.MakerNote: return new ExifByteArray(ExifTag.MakerNote, ExifDataType.Undefined); - case ExifTagValue.FlashpixVersion: return new ExifByteArray(ExifTag.FlashpixVersion, ExifDataType.Undefined); - case ExifTagValue.SpatialFrequencyResponse: return new ExifByteArray(ExifTag.SpatialFrequencyResponse, ExifDataType.Undefined); - case ExifTagValue.SpatialFrequencyResponse2: return new ExifByteArray(ExifTag.SpatialFrequencyResponse2, ExifDataType.Undefined); - case ExifTagValue.Noise: return new ExifByteArray(ExifTag.Noise, ExifDataType.Undefined); - case ExifTagValue.CFAPattern: return new ExifByteArray(ExifTag.CFAPattern, ExifDataType.Undefined); - case ExifTagValue.DeviceSettingDescription: return new ExifByteArray(ExifTag.DeviceSettingDescription, ExifDataType.Undefined); - case ExifTagValue.ImageSourceData: return new ExifByteArray(ExifTag.ImageSourceData, ExifDataType.Undefined); + case ExifTagValue.JPEGTables: + return new ExifByteArray(ExifTag.JPEGTables, ExifDataType.Undefined); + case ExifTagValue.OECF: + return new ExifByteArray(ExifTag.OECF, ExifDataType.Undefined); + case ExifTagValue.ExifVersion: + return new ExifByteArray(ExifTag.ExifVersion, ExifDataType.Undefined); + case ExifTagValue.ComponentsConfiguration: + return new ExifByteArray(ExifTag.ComponentsConfiguration, ExifDataType.Undefined); + case ExifTagValue.MakerNote: + return new ExifByteArray(ExifTag.MakerNote, ExifDataType.Undefined); + case ExifTagValue.FlashpixVersion: + return new ExifByteArray(ExifTag.FlashpixVersion, ExifDataType.Undefined); + case ExifTagValue.SpatialFrequencyResponse: + return new ExifByteArray(ExifTag.SpatialFrequencyResponse, ExifDataType.Undefined); + case ExifTagValue.SpatialFrequencyResponse2: + return new ExifByteArray(ExifTag.SpatialFrequencyResponse2, ExifDataType.Undefined); + case ExifTagValue.Noise: + return new ExifByteArray(ExifTag.Noise, ExifDataType.Undefined); + case ExifTagValue.CFAPattern: + return new ExifByteArray(ExifTag.CFAPattern, ExifDataType.Undefined); + case ExifTagValue.DeviceSettingDescription: + return new ExifByteArray(ExifTag.DeviceSettingDescription, ExifDataType.Undefined); + case ExifTagValue.ImageSourceData: + return new ExifByteArray(ExifTag.ImageSourceData, ExifDataType.Undefined); - case ExifTagValue.XPTitle: return new ExifUcs2String(ExifTag.XPTitle); - case ExifTagValue.XPComment: return new ExifUcs2String(ExifTag.XPComment); - case ExifTagValue.XPAuthor: return new ExifUcs2String(ExifTag.XPAuthor); - case ExifTagValue.XPKeywords: return new ExifUcs2String(ExifTag.XPKeywords); - case ExifTagValue.XPSubject: return new ExifUcs2String(ExifTag.XPSubject); + case ExifTagValue.XPTitle: + return new ExifUcs2String(ExifTag.XPTitle); + case ExifTagValue.XPComment: + return new ExifUcs2String(ExifTag.XPComment); + case ExifTagValue.XPAuthor: + return new ExifUcs2String(ExifTag.XPAuthor); + case ExifTagValue.XPKeywords: + return new ExifUcs2String(ExifTag.XPKeywords); + case ExifTagValue.XPSubject: + return new ExifUcs2String(ExifTag.XPSubject); - case ExifTagValue.UserComment: return new ExifEncodedString(ExifTag.UserComment); - case ExifTagValue.GPSProcessingMethod: return new ExifEncodedString(ExifTag.GPSProcessingMethod); - case ExifTagValue.GPSAreaInformation: return new ExifEncodedString(ExifTag.GPSAreaInformation); + case ExifTagValue.UserComment: + return new ExifEncodedString(ExifTag.UserComment); + case ExifTagValue.GPSProcessingMethod: + return new ExifEncodedString(ExifTag.GPSProcessingMethod); + case ExifTagValue.GPSAreaInformation: + return new ExifEncodedString(ExifTag.GPSAreaInformation); - default: return null; + default: + return null; } } } From ac9a98a55294987a98a529e00ca667717c9c126e Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Sun, 30 Jan 2022 15:34:56 +0300 Subject: [PATCH 022/244] cleanup --- .../Formats/Jpg/JpegDecoderTests.Metadata.cs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs index 85e5a54bf..95f72f107 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs @@ -305,7 +305,6 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg [Fact] public void EncodedStringTags() { - byte[] exifBytes; using var memoryStream = new MemoryStream(); using (var image = Image.Load(TestFile.GetInputFileFullPath(TestImages.Jpeg.Baseline.Calliphora))) { @@ -323,11 +322,8 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg exif.SetValue(ExifTag.GPSProcessingMethod, new EncodedString(EncodedString.CharacterCode.JIS, "GPS processing method (JIS)")); exif.SetValue(ExifTag.GPSAreaInformation, new EncodedString(EncodedString.CharacterCode.Unicode, "GPS area info (Unicode)")); - exifBytes = exif.ToByteArray(); - image.Metadata.ExifProfile = exif; - image.Save(@"c:\\temp\1.jpeg"); image.Save(memoryStream, new JpegEncoder()); } @@ -351,7 +347,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg Assert.Equal("GPS processing method (JIS)", exif.GetValue(ExifTag.GPSProcessingMethod).Value.Text); Assert.Equal(EncodedString.CharacterCode.JIS, exif.GetValue(ExifTag.GPSProcessingMethod).Value.Code); - Assert.Equal("GPS area info (Unicode)", exif.GetValue(ExifTag.GPSAreaInformation).Value.Text); + Assert.Equal("GPS area info (Unicode)", (string)exif.GetValue(ExifTag.GPSAreaInformation).Value); Assert.Equal(EncodedString.CharacterCode.Unicode, exif.GetValue(ExifTag.GPSAreaInformation).Value.Code); } } From 7b5dd176b2deb7d3bde70c07b4e4f02d0b52d9e5 Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Sun, 30 Jan 2022 16:01:57 +0300 Subject: [PATCH 023/244] cleanup --- .../Metadata/Profiles/Exif/ExifReader.cs | 17 ++++++++--------- .../Metadata/Profiles/Exif/ExifWriter.cs | 6 +++--- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs index a4fd1aa73..9b5e098c8 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs @@ -219,7 +219,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif this.Seek(tag.Offset); if (this.TryReadSpan(buffer)) { - object value = this.ConvertValue(tag.Exif, tag.DataType, buffer, tag.NumberOfComponents > 1 || tag.Exif.IsArray); + object value = this.ConvertValue(tag.DataType, buffer, tag.NumberOfComponents > 1 || tag.Exif.IsArray); this.Add(values, tag.Exif, value); } } @@ -241,9 +241,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif return result; } - private byte ConvertToByte(ReadOnlySpan buffer) => buffer[0]; - - private string ConvertToString(Encoding encoding, ReadOnlySpan buffer) + private static string ConvertToString(Encoding encoding, ReadOnlySpan buffer) { int nullCharIndex = buffer.IndexOf((byte)0); @@ -255,7 +253,9 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif return encoding.GetString(buffer); } - private object ConvertValue(ExifValue exifValue, ExifDataType dataType, ReadOnlySpan buffer, bool isArray) + private byte ConvertToByte(ReadOnlySpan buffer) => buffer[0]; + + private object ConvertValue(ExifDataType dataType, ReadOnlySpan buffer, bool isArray) { if (buffer.Length == 0) { @@ -267,7 +267,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif case ExifDataType.Unknown: return null; case ExifDataType.Ascii: - return this.ConvertToString(ExifConstants.DefaultEncoding, buffer); + return ConvertToString(ExifConstants.DefaultEncoding, buffer); case ExifDataType.Byte: case ExifDataType.Undefined: if (!isArray) @@ -276,7 +276,6 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif } return buffer.ToArray(); - case ExifDataType.DoubleFloat: if (!isArray) { @@ -415,7 +414,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif } else { - object value = this.ConvertValue(exifValue, dataType, offsetBuffer.Slice(0, (int)size), numberOfComponents > 1 || exifValue.IsArray); + object value = this.ConvertValue(dataType, offsetBuffer.Slice(0, (int)size), numberOfComponents > 1 || exifValue.IsArray); this.Add(values, exifValue, value); } } @@ -489,7 +488,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif } else { - object value = this.ConvertValue(exifValue, dataType, offsetBuffer.Slice(0, (int)size), numberOfComponents > 1 || exifValue.IsArray); + object value = this.ConvertValue(dataType, offsetBuffer.Slice(0, (int)size), numberOfComponents > 1 || exifValue.IsArray); this.Add(values, exifValue, value); } } diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs index 2f1846a82..8982062c8 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs @@ -302,7 +302,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif int newOffset = offset; foreach (object obj in (Array)value.GetValue()) { - newOffset = WriteValue(value, value.DataType, obj, destination, newOffset); + newOffset = WriteValue(value.DataType, obj, destination, newOffset); } return newOffset; @@ -378,7 +378,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif BinaryPrimitives.WriteInt32LittleEndian(destination.Slice(4, 4), value.Denominator); } - private static int WriteValue(IExifValue exifValue, ExifDataType dataType, object value, Span destination, int offset) + private static int WriteValue(ExifDataType dataType, object value, Span destination, int offset) { switch (dataType) { @@ -457,7 +457,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif return WriteArray(exifValue, destination, offset); } - return WriteValue(exifValue, exifValue.DataType, value, destination, offset); + return WriteValue(exifValue.DataType, value, destination, offset); } } } From 3054c5b75dc9d28503721890e679f9177a6e7c18 Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Sun, 30 Jan 2022 16:02:24 +0300 Subject: [PATCH 024/244] add encoded string tags to common tests --- .../ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs index 9b589e58e..de071a650 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs @@ -51,6 +51,8 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Exif { ExifTag.ImageDescription, "ImageDescription" }, { ExifTag.ExposureTime, new Rational(1.0 / 1600.0) }, { ExifTag.Model, "Model" }, + { ExifTag.XPAuthor, "The XPAuthor text" }, + { ExifTag.UserComment, new EncodedString(EncodedString.CharacterCode.Unicode, "The Unicode text") }, }; [Theory] From 5dcbcfd619c0bd662188e095c1d8b819b8c7edef Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Sun, 30 Jan 2022 16:35:45 +0300 Subject: [PATCH 025/244] add test tag --- .../ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs index de071a650..a85985227 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs @@ -53,6 +53,7 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Exif { ExifTag.Model, "Model" }, { ExifTag.XPAuthor, "The XPAuthor text" }, { ExifTag.UserComment, new EncodedString(EncodedString.CharacterCode.Unicode, "The Unicode text") }, + { ExifTag.GPSAreaInformation, new EncodedString("Default constructor text (GPSAreaInformation)") }, }; [Theory] From 361eb85b35d1215d833ed72838dbbf4c6e21ce9f Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Sun, 30 Jan 2022 16:46:17 +0300 Subject: [PATCH 026/244] comment --- src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs index 8982062c8..7baff7513 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs @@ -390,6 +390,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif case ExifDataType.Undefined: if (value is byte[] array) { + // used by encoded strings (which dataType is Byte/Undefined) offset = Write(array, destination, offset); return offset; } From 62ca84242e2999201f9e38a9dc494acb6a500f2b Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Sun, 30 Jan 2022 17:33:41 +0300 Subject: [PATCH 027/244] Add test --- .../Formats/Jpg/JpegDecoderTests.Metadata.cs | 45 ++++++++++++------- tests/ImageSharp.Tests/TestImages.cs | 1 + .../baseline/Calliphora_encoded_strings.jpg | 3 ++ 3 files changed, 34 insertions(+), 15 deletions(-) create mode 100644 tests/Images/Input/Jpg/baseline/Calliphora_encoded_strings.jpg diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs index 95f72f107..296ca6af4 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs @@ -303,7 +303,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg } [Fact] - public void EncodedStringTags() + public void EncodedStringTags_WriteAndRead() { using var memoryStream = new MemoryStream(); using (var image = Image.Load(TestFile.GetInputFileFullPath(TestImages.Jpeg.Baseline.Calliphora))) @@ -331,25 +331,40 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg using (var image = Image.Load(memoryStream)) { ExifProfile exif = image.Metadata.ExifProfile; - Assert.NotNull(exif); + VerifyEncodedStrings(exif); + } + } + + [Fact] + public void EncodedStringTags_Read() + { + using (var image = Image.Load(TestFile.GetInputFileFullPath(TestImages.Jpeg.Baseline.Calliphora_EncodedStrings))) + { + ExifProfile exif = image.Metadata.ExifProfile; + VerifyEncodedStrings(exif); + } + } - Assert.Equal("2022-01-06", exif.GetValue(ExifTag.GPSDateStamp).Value); + private static void VerifyEncodedStrings(ExifProfile exif) + { + Assert.NotNull(exif); - Assert.Equal("A bit of test metadata for image title", exif.GetValue(ExifTag.XPTitle).Value); - Assert.Equal("A bit of test metadata for image comment", exif.GetValue(ExifTag.XPComment).Value); - Assert.Equal("Dan Petitt", exif.GetValue(ExifTag.XPAuthor).Value); - Assert.Equal("Keyword1;Keyword2", exif.GetValue(ExifTag.XPKeywords).Value); - Assert.Equal("This is a subject", exif.GetValue(ExifTag.XPSubject).Value); + Assert.Equal("2022-01-06", exif.GetValue(ExifTag.GPSDateStamp).Value); - Assert.Equal("user comment (ASCII)", exif.GetValue(ExifTag.UserComment).Value.Text); - Assert.Equal(EncodedString.CharacterCode.ASCII, exif.GetValue(ExifTag.UserComment).Value.Code); + Assert.Equal("A bit of test metadata for image title", exif.GetValue(ExifTag.XPTitle).Value); + Assert.Equal("A bit of test metadata for image comment", exif.GetValue(ExifTag.XPComment).Value); + Assert.Equal("Dan Petitt", exif.GetValue(ExifTag.XPAuthor).Value); + Assert.Equal("Keyword1;Keyword2", exif.GetValue(ExifTag.XPKeywords).Value); + Assert.Equal("This is a subject", exif.GetValue(ExifTag.XPSubject).Value); - Assert.Equal("GPS processing method (JIS)", exif.GetValue(ExifTag.GPSProcessingMethod).Value.Text); - Assert.Equal(EncodedString.CharacterCode.JIS, exif.GetValue(ExifTag.GPSProcessingMethod).Value.Code); + Assert.Equal("user comment (ASCII)", exif.GetValue(ExifTag.UserComment).Value.Text); + Assert.Equal(EncodedString.CharacterCode.ASCII, exif.GetValue(ExifTag.UserComment).Value.Code); - Assert.Equal("GPS area info (Unicode)", (string)exif.GetValue(ExifTag.GPSAreaInformation).Value); - Assert.Equal(EncodedString.CharacterCode.Unicode, exif.GetValue(ExifTag.GPSAreaInformation).Value.Code); - } + Assert.Equal("GPS processing method (JIS)", exif.GetValue(ExifTag.GPSProcessingMethod).Value.Text); + Assert.Equal(EncodedString.CharacterCode.JIS, exif.GetValue(ExifTag.GPSProcessingMethod).Value.Code); + + Assert.Equal("GPS area info (Unicode)", (string)exif.GetValue(ExifTag.GPSAreaInformation).Value); + Assert.Equal(EncodedString.CharacterCode.Unicode, exif.GetValue(ExifTag.GPSAreaInformation).Value.Code); } } } diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index bce22799d..172cfd716 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -191,6 +191,7 @@ namespace SixLabors.ImageSharp.Tests public const string Exif = "Jpg/baseline/exif.jpg"; public const string Floorplan = "Jpg/baseline/Floorplan.jpg"; public const string Calliphora = "Jpg/baseline/Calliphora.jpg"; + public const string Calliphora_EncodedStrings = "Jpg/baseline/Calliphora_encoded_strings.jpg"; public const string Ycck = "Jpg/baseline/ycck.jpg"; public const string Turtle420 = "Jpg/baseline/turtle.jpg"; public const string GammaDalaiLamaGray = "Jpg/baseline/gamma_dalai_lama_gray.jpg"; diff --git a/tests/Images/Input/Jpg/baseline/Calliphora_encoded_strings.jpg b/tests/Images/Input/Jpg/baseline/Calliphora_encoded_strings.jpg new file mode 100644 index 000000000..6551f0d05 --- /dev/null +++ b/tests/Images/Input/Jpg/baseline/Calliphora_encoded_strings.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1e4398f3573ab7fd2aaeb88462061edff27f9fa0c86d8ec84808a736807fcdce +size 258077 From 19a7b8c62ec2f7bc65a85cfe68f11e1c2b8ac611 Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Sun, 30 Jan 2022 17:59:41 +0300 Subject: [PATCH 028/244] update JIS test --- .../Formats/Jpg/JpegDecoderTests.Metadata.cs | 12 ++++++------ .../Jpg/baseline/Calliphora_encoded_strings.jpg | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs index 296ca6af4..2cd15bdba 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs @@ -318,8 +318,8 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg exif.SetValue(ExifTag.XPKeywords, "Keyword1;Keyword2"); exif.SetValue(ExifTag.XPSubject, "This is a subject"); - exif.SetValue(ExifTag.UserComment, new EncodedString(EncodedString.CharacterCode.ASCII, "user comment (ASCII)")); - exif.SetValue(ExifTag.GPSProcessingMethod, new EncodedString(EncodedString.CharacterCode.JIS, "GPS processing method (JIS)")); + exif.SetValue(ExifTag.UserComment, new EncodedString(EncodedString.CharacterCode.JIS, "本日は晴天なり(JIS)")); + exif.SetValue(ExifTag.GPSProcessingMethod, new EncodedString(EncodedString.CharacterCode.ASCII, "GPS processing method (ASCII)")); exif.SetValue(ExifTag.GPSAreaInformation, new EncodedString(EncodedString.CharacterCode.Unicode, "GPS area info (Unicode)")); image.Metadata.ExifProfile = exif; @@ -357,11 +357,11 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg Assert.Equal("Keyword1;Keyword2", exif.GetValue(ExifTag.XPKeywords).Value); Assert.Equal("This is a subject", exif.GetValue(ExifTag.XPSubject).Value); - Assert.Equal("user comment (ASCII)", exif.GetValue(ExifTag.UserComment).Value.Text); - Assert.Equal(EncodedString.CharacterCode.ASCII, exif.GetValue(ExifTag.UserComment).Value.Code); + Assert.Equal("本日は晴天なり(JIS)", exif.GetValue(ExifTag.UserComment).Value.Text); + Assert.Equal(EncodedString.CharacterCode.JIS, exif.GetValue(ExifTag.UserComment).Value.Code); - Assert.Equal("GPS processing method (JIS)", exif.GetValue(ExifTag.GPSProcessingMethod).Value.Text); - Assert.Equal(EncodedString.CharacterCode.JIS, exif.GetValue(ExifTag.GPSProcessingMethod).Value.Code); + Assert.Equal("GPS processing method (ASCII)", exif.GetValue(ExifTag.GPSProcessingMethod).Value.Text); + Assert.Equal(EncodedString.CharacterCode.ASCII, exif.GetValue(ExifTag.GPSProcessingMethod).Value.Code); Assert.Equal("GPS area info (Unicode)", (string)exif.GetValue(ExifTag.GPSAreaInformation).Value); Assert.Equal(EncodedString.CharacterCode.Unicode, exif.GetValue(ExifTag.GPSAreaInformation).Value.Code); diff --git a/tests/Images/Input/Jpg/baseline/Calliphora_encoded_strings.jpg b/tests/Images/Input/Jpg/baseline/Calliphora_encoded_strings.jpg index 6551f0d05..948d7825e 100644 --- a/tests/Images/Input/Jpg/baseline/Calliphora_encoded_strings.jpg +++ b/tests/Images/Input/Jpg/baseline/Calliphora_encoded_strings.jpg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1e4398f3573ab7fd2aaeb88462061edff27f9fa0c86d8ec84808a736807fcdce -size 258077 +oid sha256:9fd6fa56680f00e8834203c8094e79c582c9cc0146b36e7607a6f5453f058237 +size 258078 From c292e65df5f99c9cfb80306a7053242366f94e63 Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Sun, 30 Jan 2022 18:21:17 +0300 Subject: [PATCH 029/244] comment --- src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs index 910a7e06f..e9cd27427 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/EncodedString.cs @@ -12,6 +12,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif { /// /// Initializes a new instance of the struct. + /// Default use Unicode character code. /// /// The text value. public EncodedString(string text) From d01dfe8e26f65541b9008fb630e8ef61220effa4 Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Sun, 30 Jan 2022 20:05:33 +0300 Subject: [PATCH 030/244] change JIS encoding, update test --- .../Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs | 4 +++- .../Formats/Jpg/JpegDecoderTests.Metadata.cs | 6 ++++-- .../Input/Jpg/baseline/Calliphora_encoded_strings.jpg | 4 ++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs index d14c0c47d..8b047fef9 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs @@ -25,7 +25,9 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif private static ReadOnlySpan UndefinedCodeBytes => new byte[] { 0, 0, 0, 0, 0, 0, 0, 0 }; - private static Encoding JIS0208Encoding => CodePagesEncodingProvider.Instance.GetEncoding(932); + // 20932 EUC-JP Japanese (JIS 0208-1990 and 0212-1990) + // https://docs.microsoft.com/en-us/dotnet/api/system.text.encoding?view=net-6.0 + private static Encoding JIS0208Encoding => CodePagesEncodingProvider.Instance.GetEncoding(20932); public static bool IsEncodedString(ExifTagValue tag) => tag switch { diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs index 2cd15bdba..840cc9f68 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs @@ -318,7 +318,9 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg exif.SetValue(ExifTag.XPKeywords, "Keyword1;Keyword2"); exif.SetValue(ExifTag.XPSubject, "This is a subject"); - exif.SetValue(ExifTag.UserComment, new EncodedString(EncodedString.CharacterCode.JIS, "本日は晴天なり(JIS)")); + // exif.SetValue(ExifTag.UserComment, new EncodedString(EncodedString.CharacterCode.JIS, "ビッ")); + exif.SetValue(ExifTag.UserComment, new EncodedString(EncodedString.CharacterCode.JIS, "eng comment text (JIS)")); + exif.SetValue(ExifTag.GPSProcessingMethod, new EncodedString(EncodedString.CharacterCode.ASCII, "GPS processing method (ASCII)")); exif.SetValue(ExifTag.GPSAreaInformation, new EncodedString(EncodedString.CharacterCode.Unicode, "GPS area info (Unicode)")); @@ -357,7 +359,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg Assert.Equal("Keyword1;Keyword2", exif.GetValue(ExifTag.XPKeywords).Value); Assert.Equal("This is a subject", exif.GetValue(ExifTag.XPSubject).Value); - Assert.Equal("本日は晴天なり(JIS)", exif.GetValue(ExifTag.UserComment).Value.Text); + Assert.Equal("eng comment text (JIS)", exif.GetValue(ExifTag.UserComment).Value.Text); Assert.Equal(EncodedString.CharacterCode.JIS, exif.GetValue(ExifTag.UserComment).Value.Code); Assert.Equal("GPS processing method (ASCII)", exif.GetValue(ExifTag.GPSProcessingMethod).Value.Text); diff --git a/tests/Images/Input/Jpg/baseline/Calliphora_encoded_strings.jpg b/tests/Images/Input/Jpg/baseline/Calliphora_encoded_strings.jpg index 948d7825e..b652ed2e5 100644 --- a/tests/Images/Input/Jpg/baseline/Calliphora_encoded_strings.jpg +++ b/tests/Images/Input/Jpg/baseline/Calliphora_encoded_strings.jpg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9fd6fa56680f00e8834203c8094e79c582c9cc0146b36e7607a6f5453f058237 -size 258078 +oid sha256:59f76d2935a619d128a63d6bfcd5ce9feec492a7f5175327e47554c90b4ec242 +size 258081 From ab3ca30fb05a3029c54e9da573df9103651ed2e9 Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Sun, 30 Jan 2022 20:16:14 +0300 Subject: [PATCH 031/244] cleanup --- .../Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs index 8b047fef9..71aeb9db3 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs @@ -25,7 +25,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif private static ReadOnlySpan UndefinedCodeBytes => new byte[] { 0, 0, 0, 0, 0, 0, 0, 0 }; - // 20932 EUC-JP Japanese (JIS 0208-1990 and 0212-1990) + // 20932 EUC-JP Japanese (JIS 0208-1990 and 0212-1990) // https://docs.microsoft.com/en-us/dotnet/api/system.text.encoding?view=net-6.0 private static Encoding JIS0208Encoding => CodePagesEncodingProvider.Instance.GetEncoding(20932); From 855d1aa1c585918eb97c1177af0be00200439ae5 Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Sun, 30 Jan 2022 20:30:12 +0300 Subject: [PATCH 032/244] minor test --- .../Metadata/Profiles/Exif/Values/ExifValuesTests.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs index acb614c61..aaad4e230 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/Values/ExifValuesTests.cs @@ -612,6 +612,8 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Exif.Values { var charCode = (EncodedString.CharacterCode)code; + Assert.Equal(ExifEncodedStringHelpers.CharacterCodeBytesLength, ExifEncodedStringHelpers.GetCodeBytes(charCode).Length); + const string expectedText = "test string"; var expected = new EncodedString(charCode, expectedText); ExifValue value = ExifValues.Create(tag); From 96c1c725f94dcb8d5882c22af68c3f46a9d5582e Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sun, 30 Jan 2022 18:41:56 +0100 Subject: [PATCH 033/244] Write ALPH chunk (only uncompressed for now) --- src/ImageSharp/Formats/Webp/AlphaEncoder.cs | 42 ++++++++++++++++++ .../Formats/Webp/BitWriter/BitWriterBase.cs | 43 ++++++++++++++++++- .../Formats/Webp/BitWriter/Vp8BitWriter.cs | 35 ++++++++++++--- .../Formats/Webp/Lossy/Vp8Encoder.cs | 13 ++++-- .../Formats/Webp/Lossy/YuvConversion.cs | 11 ++++- 5 files changed, 133 insertions(+), 11 deletions(-) create mode 100644 src/ImageSharp/Formats/Webp/AlphaEncoder.cs diff --git a/src/ImageSharp/Formats/Webp/AlphaEncoder.cs b/src/ImageSharp/Formats/Webp/AlphaEncoder.cs new file mode 100644 index 000000000..06c114c71 --- /dev/null +++ b/src/ImageSharp/Formats/Webp/AlphaEncoder.cs @@ -0,0 +1,42 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System; +using System.Buffers; +using SixLabors.ImageSharp.Memory; +using SixLabors.ImageSharp.PixelFormats; + +namespace SixLabors.ImageSharp.Formats.Webp +{ + /// + /// Encodes the alpha channel data. + /// Data is either compressed as lossless webp image or uncompressed. + /// + internal static class AlphaEncoder + { + public static byte[] EncodeAlpha(Image image, Configuration configuration, MemoryAllocator memoryAllocator) + where TPixel : unmanaged, IPixel + { + Buffer2D imageBuffer = image.Frames.RootFrame.PixelBuffer; + int height = image.Height; + int width = image.Width; + byte[] alphaData = new byte[width * height]; + + using IMemoryOwner rowBuffer = memoryAllocator.Allocate(width); + Span rgbaRow = rowBuffer.GetSpan(); + + for (int y = 0; y < height; y++) + { + Span rowSpan = imageBuffer.DangerousGetRowSpan(y); + PixelOperations.Instance.ToRgba32(configuration, rowSpan, rgbaRow); + int offset = y * width; + for (int x = 0; x < width; x++) + { + alphaData[offset + x] = rgbaRow[x].A; + } + } + + return alphaData; + } + } +} diff --git a/src/ImageSharp/Formats/Webp/BitWriter/BitWriterBase.cs b/src/ImageSharp/Formats/Webp/BitWriter/BitWriterBase.cs index ac039be79..b33f7987c 100644 --- a/src/ImageSharp/Formats/Webp/BitWriter/BitWriterBase.cs +++ b/src/ImageSharp/Formats/Webp/BitWriter/BitWriterBase.cs @@ -94,7 +94,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter /// Calculates the chunk size of EXIF or XMP metadata. /// /// The metadata profile bytes. - /// The exif chunk size in bytes. + /// The metadata chunk size in bytes. protected uint MetadataChunkSize(byte[] metadataBytes) { uint metaSize = (uint)metadataBytes.Length; @@ -103,6 +103,19 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter return metaChunkSize; } + /// + /// Calculates the chunk size of a alpha chunk. + /// + /// The alpha chunk bytes. + /// The alpha data chunk size in bytes. + protected uint AlphaChunkSize(byte[] alphaBytes) + { + uint alphaSize = (uint)alphaBytes.Length + 1; + uint alphaChunkSize = WebpConstants.ChunkHeaderSize + alphaSize + (alphaSize & 1); + + return alphaChunkSize; + } + /// /// Writes a metadata profile (EXIF or XMP) to the stream. /// @@ -128,6 +141,34 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter } } + /// + /// Writes the alpha chunk to the stream. + /// + /// The stream to write to. + /// The alpha channel data bytes. + protected void WriteAlphaChunk(Stream stream, byte[] dataBytes) + { + DebugGuard.NotNull(dataBytes, nameof(dataBytes)); + + uint size = (uint)dataBytes.Length + 1; + Span buf = this.scratchBuffer.AsSpan(0, 4); + BinaryPrimitives.WriteUInt32BigEndian(buf, (uint)WebpChunkType.Alpha); + stream.Write(buf); + BinaryPrimitives.WriteUInt32LittleEndian(buf, size); + stream.Write(buf); + + // Write flags, all zero for now. + stream.WriteByte(0); + + stream.Write(dataBytes); + + // Add padding byte if needed. + if ((size & 1) == 1) + { + stream.WriteByte(0); + } + } + /// /// Writes a VP8X header to the stream. /// diff --git a/src/ImageSharp/Formats/Webp/BitWriter/Vp8BitWriter.cs b/src/ImageSharp/Formats/Webp/BitWriter/Vp8BitWriter.cs index 4e91bedb0..3f16fc89b 100644 --- a/src/ImageSharp/Formats/Webp/BitWriter/Vp8BitWriter.cs +++ b/src/ImageSharp/Formats/Webp/BitWriter/Vp8BitWriter.cs @@ -409,7 +409,8 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter /// The width of the image. /// The height of the image. /// Flag indicating, if a alpha channel is present. - public void WriteEncodedImageToStream(Stream stream, ExifProfile exifProfile, XmpProfile xmpProfile, uint width, uint height, bool hasAlpha) + /// The alpha channel data. + public void WriteEncodedImageToStream(Stream stream, ExifProfile exifProfile, XmpProfile xmpProfile, uint width, uint height, bool hasAlpha, byte[] alphaData) { bool isVp8X = false; byte[] exifBytes = null; @@ -418,7 +419,6 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter if (exifProfile != null) { isVp8X = true; - riffSize += ExtendedFileChunkSize; exifBytes = exifProfile.ToByteArray(); riffSize += this.MetadataChunkSize(exifBytes); } @@ -426,11 +426,21 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter if (xmpProfile != null) { isVp8X = true; - riffSize += ExtendedFileChunkSize; xmpBytes = xmpProfile.Data; riffSize += this.MetadataChunkSize(xmpBytes); } + if (hasAlpha) + { + isVp8X = true; + riffSize += this.AlphaChunkSize(alphaData); + } + + if (isVp8X) + { + riffSize += ExtendedFileChunkSize; + } + this.Finish(); uint numBytes = (uint)this.NumBytes(); int mbSize = this.enc.Mbw * this.enc.Mbh; @@ -451,7 +461,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter riffSize += WebpConstants.TagSize + WebpConstants.ChunkHeaderSize + vp8Size; // Emit headers and partition #0 - this.WriteWebpHeaders(stream, size0, vp8Size, riffSize, isVp8X, width, height, exifProfile, xmpProfile, hasAlpha); + this.WriteWebpHeaders(stream, size0, vp8Size, riffSize, isVp8X, width, height, exifProfile, xmpProfile, hasAlpha, alphaData); bitWriterPartZero.WriteToStream(stream); // Write the encoded image to the stream. @@ -639,7 +649,18 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter while (it.Next()); } - private void WriteWebpHeaders(Stream stream, uint size0, uint vp8Size, uint riffSize, bool isVp8X, uint width, uint height, ExifProfile exifProfile, XmpProfile xmpProfile, bool hasAlpha) + private void WriteWebpHeaders( + Stream stream, + uint size0, + uint vp8Size, + uint riffSize, + bool isVp8X, + uint width, + uint height, + ExifProfile exifProfile, + XmpProfile xmpProfile, + bool hasAlpha, + byte[] alphaData) { this.WriteRiffHeader(stream, riffSize); @@ -647,6 +668,10 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter if (isVp8X) { this.WriteVp8XHeader(stream, exifProfile, xmpProfile, width, height, hasAlpha); + if (hasAlpha) + { + this.WriteAlphaChunk(stream, alphaData); + } } this.WriteVp8Header(stream, vp8Size); diff --git a/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs b/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs index 022232050..48af53960 100644 --- a/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs +++ b/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs @@ -300,7 +300,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy Span y = this.Y.GetSpan(); Span u = this.U.GetSpan(); Span v = this.V.GetSpan(); - YuvConversion.ConvertRgbToYuv(image, this.configuration, this.memoryAllocator, y, u, v); + bool hasAlpha = YuvConversion.ConvertRgbToYuv(image, this.configuration, this.memoryAllocator, y, u, v); int yStride = width; int uvStride = (yStride + 1) >> 1; @@ -322,8 +322,13 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy int expectedSize = this.Mbw * this.Mbh * averageBytesPerMacroBlock; this.bitWriter = new Vp8BitWriter(expectedSize, this); - // TODO: EncodeAlpha(); - bool hasAlpha = false; + // Extract and encode alpha data, if present. + byte[] alphaData = null; + if (hasAlpha) + { + // TODO: This can potentially run in an separate task. + alphaData = AlphaEncoder.EncodeAlpha(image, this.configuration, this.memoryAllocator); + } // Stats-collection loop. this.StatLoop(width, height, yStride, uvStride); @@ -358,7 +363,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy // Write bytes from the bitwriter buffer to the stream. ImageMetadata metadata = image.Metadata; metadata.SyncProfiles(); - this.bitWriter.WriteEncodedImageToStream(stream, metadata.ExifProfile, metadata.XmpProfile, (uint)width, (uint)height, hasAlpha); + this.bitWriter.WriteEncodedImageToStream(stream, metadata.ExifProfile, metadata.XmpProfile, (uint)width, (uint)height, hasAlpha, alphaData); } /// diff --git a/src/ImageSharp/Formats/Webp/Lossy/YuvConversion.cs b/src/ImageSharp/Formats/Webp/Lossy/YuvConversion.cs index 7a731f428..878bebd10 100644 --- a/src/ImageSharp/Formats/Webp/Lossy/YuvConversion.cs +++ b/src/ImageSharp/Formats/Webp/Lossy/YuvConversion.cs @@ -318,7 +318,8 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy /// Span to store the luma component of the image. /// Span to store the u component of the image. /// Span to store the v component of the image. - public static void ConvertRgbToYuv(Image image, Configuration configuration, MemoryAllocator memoryAllocator, Span y, Span u, Span v) + /// true, if the image contains alpha data. + public static bool ConvertRgbToYuv(Image image, Configuration configuration, MemoryAllocator memoryAllocator, Span y, Span u, Span v) where TPixel : unmanaged, IPixel { Buffer2D imageBuffer = image.Frames.RootFrame.PixelBuffer; @@ -335,6 +336,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy Span bgraRow1 = bgraRow1Buffer.GetSpan(); int uvRowIndex = 0; int rowIndex; + bool hasAlpha = false; for (rowIndex = 0; rowIndex < height - 1; rowIndex += 2) { Span rowSpan = imageBuffer.DangerousGetRowSpan(rowIndex); @@ -343,6 +345,10 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy PixelOperations.Instance.ToBgra32(configuration, nextRowSpan, bgraRow1); bool rowsHaveAlpha = WebpCommonUtils.CheckNonOpaque(bgraRow0) && WebpCommonUtils.CheckNonOpaque(bgraRow1); + if (rowsHaveAlpha) + { + hasAlpha = true; + } // Downsample U/V planes, two rows at a time. if (!rowsHaveAlpha) @@ -375,10 +381,13 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy else { AccumulateRgba(bgraRow0, bgraRow0, tmpRgbSpan, width); + hasAlpha = true; } ConvertRgbaToUv(tmpRgbSpan, u.Slice(uvRowIndex * uvWidth), v.Slice(uvRowIndex * uvWidth), uvWidth); } + + return hasAlpha; } /// From 9d155a55aaddd488896537635cb29338cb9e2431 Mon Sep 17 00:00:00 2001 From: Anton Firszov Date: Tue, 1 Feb 2022 01:41:23 +0100 Subject: [PATCH 034/244] finalize and document the API --- .../Diagnostics/MemoryDiagnostics.cs | 44 +++++++++++++- src/ImageSharp/Diagnostics/MemoryInfo.cs | 13 ---- .../RefCountedMemoryLifetimeGuard.cs | 17 +++++- .../Allocators/MemoryDiagnosticsTests.cs | 59 ++++++++++++++----- 4 files changed, 101 insertions(+), 32 deletions(-) delete mode 100644 src/ImageSharp/Diagnostics/MemoryInfo.cs diff --git a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs index 419f7531f..6bd81d7e5 100644 --- a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs +++ b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs @@ -6,18 +6,58 @@ using System.Threading; namespace SixLabors.ImageSharp.Diagnostics { + /// + /// Represents the method to handle . + /// + public delegate void UndisposedMemoryResourceDelegate(string allocationStackTrace); + + /// + /// Utilities to track memory usage and detect memory leaks from not disposing ImageSharp objects. + /// public static class MemoryDiagnostics { private static int totalUndisposedAllocationCount; - public static MemoryInfo GetMemoryInfo() => new MemoryInfo(totalUndisposedAllocationCount); + private static UndisposedMemoryResourceDelegate undisposedMemoryResource; + private static int undisposedMemoryResourceSubscriptionCounter; + + /// + /// Fires when an ImageSharp object's undisposed memory resource leaks to the finalizer. + /// The event brings significant overhead, and is intended to be used for troubleshooting only. + /// For production diagnostics, use . + /// + public static event UndisposedMemoryResourceDelegate UndisposedAllocation + { + add + { + Interlocked.Increment(ref undisposedMemoryResourceSubscriptionCounter); + undisposedMemoryResource += value; + } + + remove + { + undisposedMemoryResource -= value; + Interlocked.Decrement(ref undisposedMemoryResourceSubscriptionCounter); + } + } - public static bool EnableStrictDisposeWatcher { get; set; } + /// + /// Gets a value indicating the total number of memory resource objects leaked to the finalizer. + /// + public static int TotalUndisposedAllocationCount => totalUndisposedAllocationCount; + + internal static bool MemoryResourceLeakedSubscribed => undisposedMemoryResourceSubscriptionCounter > 0; internal static void IncrementTotalUndisposedAllocationCount() => Interlocked.Increment(ref totalUndisposedAllocationCount); internal static void DecrementTotalUndisposedAllocationCount() => Interlocked.Decrement(ref totalUndisposedAllocationCount); + + internal static void RaiseUndisposedMemoryResource(string allocationStackTrace) + { + // Schedule on the ThreadPool, to avoid user callback messing up the finalizer thread. + ThreadPool.QueueUserWorkItem(_ => undisposedMemoryResource?.Invoke(allocationStackTrace)); + } } } diff --git a/src/ImageSharp/Diagnostics/MemoryInfo.cs b/src/ImageSharp/Diagnostics/MemoryInfo.cs deleted file mode 100644 index 54ae83bd0..000000000 --- a/src/ImageSharp/Diagnostics/MemoryInfo.cs +++ /dev/null @@ -1,13 +0,0 @@ -// Copyright (c) Six Labors. -// Licensed under the Apache License, Version 2.0. - -namespace SixLabors.ImageSharp.Diagnostics -{ - public readonly struct MemoryInfo - { - internal MemoryInfo(long totalUndisposedAllocationCount) - => this.TotalUndisposedAllocationCount = totalUndisposedAllocationCount; - - public long TotalUndisposedAllocationCount { get; } - } -} diff --git a/src/ImageSharp/Memory/Allocators/Internals/RefCountedMemoryLifetimeGuard.cs b/src/ImageSharp/Memory/Allocators/Internals/RefCountedMemoryLifetimeGuard.cs index 534cec0f8..333ef85c2 100644 --- a/src/ImageSharp/Memory/Allocators/Internals/RefCountedMemoryLifetimeGuard.cs +++ b/src/ImageSharp/Memory/Allocators/Internals/RefCountedMemoryLifetimeGuard.cs @@ -10,15 +10,24 @@ namespace SixLabors.ImageSharp.Memory.Internals { /// /// Implements reference counting lifetime guard mechanism for memory resources - /// also maintaining the current value of . + /// and maintains the value of . /// internal abstract class RefCountedMemoryLifetimeGuard : IDisposable { private int refCount = 1; private int disposed; private int released; + private string allocationStackTrace; - public RefCountedMemoryLifetimeGuard() => MemoryDiagnostics.IncrementTotalUndisposedAllocationCount(); + protected RefCountedMemoryLifetimeGuard() + { + if (MemoryDiagnostics.MemoryResourceLeakedSubscribed) + { + this.allocationStackTrace = Environment.StackTrace; + } + + MemoryDiagnostics.IncrementTotalUndisposedAllocationCount(); + } ~RefCountedMemoryLifetimeGuard() { @@ -57,6 +66,10 @@ namespace SixLabors.ImageSharp.Memory.Internals { MemoryDiagnostics.DecrementTotalUndisposedAllocationCount(); } + else if (this.allocationStackTrace != null) + { + MemoryDiagnostics.RaiseUndisposedMemoryResource(this.allocationStackTrace); + } this.Release(); } diff --git a/tests/ImageSharp.Tests/Memory/Allocators/MemoryDiagnosticsTests.cs b/tests/ImageSharp.Tests/Memory/Allocators/MemoryDiagnosticsTests.cs index 55f14fdfa..5fab655cb 100644 --- a/tests/ImageSharp.Tests/Memory/Allocators/MemoryDiagnosticsTests.cs +++ b/tests/ImageSharp.Tests/Memory/Allocators/MemoryDiagnosticsTests.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using System.Runtime.CompilerServices; +using System.Threading; using Microsoft.DotNet.RemoteExecutor; using SixLabors.ImageSharp.Diagnostics; using SixLabors.ImageSharp.Memory; @@ -20,60 +21,88 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators [Theory] [InlineData(false)] [InlineData(true)] - public void AllocateDispose_Maintains_TotalUndisposedLogicalAllocationCount(bool isGroupOuter) + public void PerfectCleanup_NoLeaksReported(bool isGroupOuter) { RemoteExecutor.Invoke(RunTest, isGroupOuter.ToString()).Dispose(); static void RunTest(string isGroupInner) { bool isGroup = bool.Parse(isGroupInner); + int leakCounter = 0; + MemoryDiagnostics.UndisposedAllocation += _ => Interlocked.Increment(ref leakCounter); + List buffers = new(); - Assert.Equal(0, MemoryDiagnostics.GetMemoryInfo().TotalUndisposedAllocationCount); + Assert.Equal(0, MemoryDiagnostics.TotalUndisposedAllocationCount); for (int length = 1024; length <= 64 * OneMb; length *= 2) { - long cntBefore = MemoryDiagnostics.GetMemoryInfo().TotalUndisposedAllocationCount; + long cntBefore = MemoryDiagnostics.TotalUndisposedAllocationCount; IDisposable buffer = isGroup ? Allocator.AllocateGroup(length, 1024) : Allocator.Allocate(length); buffers.Add(buffer); - long cntAfter = MemoryDiagnostics.GetMemoryInfo().TotalUndisposedAllocationCount; + long cntAfter = MemoryDiagnostics.TotalUndisposedAllocationCount; Assert.True(cntAfter > cntBefore); } foreach (IDisposable buffer in buffers) { - long cntBefore = MemoryDiagnostics.GetMemoryInfo().TotalUndisposedAllocationCount; + long cntBefore = MemoryDiagnostics.TotalUndisposedAllocationCount; buffer.Dispose(); - long cntAfter = MemoryDiagnostics.GetMemoryInfo().TotalUndisposedAllocationCount; + long cntAfter = MemoryDiagnostics.TotalUndisposedAllocationCount; Assert.True(cntAfter < cntBefore); } - Assert.Equal(0, MemoryDiagnostics.GetMemoryInfo().TotalUndisposedAllocationCount); + Assert.Equal(0, MemoryDiagnostics.TotalUndisposedAllocationCount); + Assert.Equal(0, leakCounter); } } [Theory] - [InlineData(false)] - [InlineData(true)] - public void BufferAndGroupFinalizer_DoesNotReduce_TotalUndisposedLogicalAllocationCount(bool isGroupOuter) + [InlineData(false, false)] + [InlineData(false, true)] + [InlineData(true, false)] + [InlineData(true, true)] + public void MissingCleanup_LeaksAreReported(bool isGroupOuter, bool subscribeLeakHandleOuter) { - RemoteExecutor.Invoke(RunTest, isGroupOuter.ToString()).Dispose(); + RemoteExecutor.Invoke(RunTest, isGroupOuter.ToString(), subscribeLeakHandleOuter.ToString()).Dispose(); - static void RunTest(string isGroupInner) + static void RunTest(string isGroupInner, string subscribeLeakHandleInner) { bool isGroup = bool.Parse(isGroupInner); - Assert.Equal(0, MemoryDiagnostics.GetMemoryInfo().TotalUndisposedAllocationCount); + bool subscribeLeakHandle = bool.Parse(subscribeLeakHandleInner); + int leakCounter = 0; + bool stackTraceOk = true; + if (subscribeLeakHandle) + { + MemoryDiagnostics.UndisposedAllocation += stackTrace => + { + Interlocked.Increment(ref leakCounter); + stackTraceOk &= stackTrace.Contains(nameof(RunTest)) && stackTrace.Contains(nameof(AllocateAndForget)); + Assert.Contains(nameof(AllocateAndForget), stackTrace); + }; + } + + Assert.Equal(0, MemoryDiagnostics.TotalUndisposedAllocationCount); for (int length = 1024; length <= 64 * OneMb; length *= 2) { - long cntBefore = MemoryDiagnostics.GetMemoryInfo().TotalUndisposedAllocationCount; + long cntBefore = MemoryDiagnostics.TotalUndisposedAllocationCount; AllocateAndForget(length, isGroup); GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); - long cntAfter = MemoryDiagnostics.GetMemoryInfo().TotalUndisposedAllocationCount; + long cntAfter = MemoryDiagnostics.TotalUndisposedAllocationCount; Assert.True(cntAfter > cntBefore); } + + if (subscribeLeakHandle) + { + // Make sure at least some of the leak callbacks have time to complete on the ThreadPool + Thread.Sleep(200); + Assert.True(leakCounter > 3, $"leakCounter did not count enough leaks ({leakCounter} only)"); + } + + Assert.True(stackTraceOk); } [MethodImpl(MethodImplOptions.NoInlining)] From 6078c0eb925a0ec02905d3bd6bfd370ae7cccbac Mon Sep 17 00:00:00 2001 From: Anton Firszov Date: Tue, 1 Feb 2022 01:50:10 +0100 Subject: [PATCH 035/244] Revert "attempt to re-enable RentReturnRelease_SubsequentRentReturnsDifferentHandles on Mac" This reverts commit bbbf687477a66843219552b445562688ee843f9b. --- .../Memory/Allocators/UniformUnmanagedMemoryPoolTests.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.cs b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.cs index 4ab2c93a5..7d98eff61 100644 --- a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.cs +++ b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.cs @@ -245,7 +245,10 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators cleanup.Register(b1); } - [Theory] + public static readonly bool IsNotMacOS = !TestEnvironment.IsOSX; + + // TODO: Investigate MacOS failures + [ConditionalTheory(nameof(IsNotMacOS))] [InlineData(false)] [InlineData(true)] public void RentReturnRelease_SubsequentRentReturnsDifferentHandles(bool multiple) From d1929412289d3c8bb5bc3974cc47e0b811f0e75f Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Tue, 1 Feb 2022 10:23:08 +0100 Subject: [PATCH 036/244] Add lossless alpha compression --- src/ImageSharp/Formats/Webp/AlphaEncoder.cs | 86 ++++++++++++++++++- .../Formats/Webp/BitWriter/BitWriterBase.cs | 11 ++- .../Formats/Webp/BitWriter/Vp8BitWriter.cs | 10 ++- .../Formats/Webp/Lossless/Vp8LEncoder.cs | 31 ++++++- .../Formats/Webp/Lossy/Vp8Encoder.cs | 14 +-- .../Formats/Webp/WebpEncoderCore.cs | 6 +- 6 files changed, 134 insertions(+), 24 deletions(-) diff --git a/src/ImageSharp/Formats/Webp/AlphaEncoder.cs b/src/ImageSharp/Formats/Webp/AlphaEncoder.cs index 06c114c71..571da5bb2 100644 --- a/src/ImageSharp/Formats/Webp/AlphaEncoder.cs +++ b/src/ImageSharp/Formats/Webp/AlphaEncoder.cs @@ -3,18 +3,98 @@ using System; using System.Buffers; +using SixLabors.ImageSharp.Advanced; +using SixLabors.ImageSharp.Formats.Webp.Lossless; using SixLabors.ImageSharp.Memory; using SixLabors.ImageSharp.PixelFormats; namespace SixLabors.ImageSharp.Formats.Webp { /// - /// Encodes the alpha channel data. - /// Data is either compressed as lossless webp image or uncompressed. + /// Methods for encoding the alpha data of a VP8 image. /// internal static class AlphaEncoder { - public static byte[] EncodeAlpha(Image image, Configuration configuration, MemoryAllocator memoryAllocator) + /// + /// Encodes the alpha channel data. + /// Data is either compressed as lossless webp image or uncompressed. + /// + /// The pixel format. + /// The to encode from. + /// The global configuration. + /// The memory manager. + /// Indicates, if the data should be compressed with the lossless webp compression. + /// The alpha data. + public static byte[] EncodeAlpha(Image image, Configuration configuration, MemoryAllocator memoryAllocator, bool compress) + where TPixel : unmanaged, IPixel + { + byte[] alphaData = ExtractAlphaChannel(image, configuration, memoryAllocator); + int width = image.Width; + int height = image.Height; + if (compress) + { + WebpEncodingMethod effort = WebpEncodingMethod.Default; + int quality = 8 * (int)effort; + using var lossLessEncoder = new Vp8LEncoder( + memoryAllocator, + configuration, + width, + height, + quality, + effort, + WebpTransparentColorMode.Preserve, + false, + 0); + + // The transparency information will be stored in the green channel of the ARGB quadruplet. + // The green channel is allowed extra transformation steps in the specification -- unlike the other channels, + // that can improve compression. + using Image alphaAsImage = DispatchAlphaToGreen(image, alphaData); + + return lossLessEncoder.EncodeAlphaImageData(alphaAsImage); + } + + return alphaData; + } + + /// + /// Store the transparency in the green channel. + /// + /// The pixel format. + /// The to encode from. + /// A byte sequence of length width * height, containing all the 8-bit transparency values in scan order. + /// The transparency image. + private static Image DispatchAlphaToGreen(Image image, byte[] alphaData) + where TPixel : unmanaged, IPixel + { + int width = image.Width; + int height = image.Height; + var alphaAsImage = new Image(width, height); + + for (int y = 0; y < height; y++) + { + Memory rowBuffer = alphaAsImage.DangerousGetPixelRowMemory(y); + Span pixelRow = rowBuffer.Span; + Span alphaRow = alphaData.AsSpan(y * width, width); + for (int x = 0; x < width; x++) + { + // Leave A/R/B channels zero'd. + pixelRow[x] = new Rgba32(0, alphaRow[x], 0, 0); + } + } + + return alphaAsImage; + } + + /// + /// Extract the alpha data of the image. + /// + /// The pixel format. + /// The to encode from. + /// The global configuration. + /// The memory manager. + /// A byte sequence of length width * height, containing all the 8-bit transparency values in scan order. + private static byte[] ExtractAlphaChannel(Image image, Configuration configuration, MemoryAllocator memoryAllocator) where TPixel : unmanaged, IPixel { Buffer2D imageBuffer = image.Frames.RootFrame.PixelBuffer; diff --git a/src/ImageSharp/Formats/Webp/BitWriter/BitWriterBase.cs b/src/ImageSharp/Formats/Webp/BitWriter/BitWriterBase.cs index b33f7987c..84c9d3f13 100644 --- a/src/ImageSharp/Formats/Webp/BitWriter/BitWriterBase.cs +++ b/src/ImageSharp/Formats/Webp/BitWriter/BitWriterBase.cs @@ -146,7 +146,8 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter /// /// The stream to write to. /// The alpha channel data bytes. - protected void WriteAlphaChunk(Stream stream, byte[] dataBytes) + /// Indicates, if the alpha channel data is compressed. + protected void WriteAlphaChunk(Stream stream, byte[] dataBytes, bool alphaDataIsCompressed) { DebugGuard.NotNull(dataBytes, nameof(dataBytes)); @@ -157,9 +158,13 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter BinaryPrimitives.WriteUInt32LittleEndian(buf, size); stream.Write(buf); - // Write flags, all zero for now. - stream.WriteByte(0); + byte flags = 0; + if (alphaDataIsCompressed) + { + flags |= 1; + } + stream.WriteByte(flags); stream.Write(dataBytes); // Add padding byte if needed. diff --git a/src/ImageSharp/Formats/Webp/BitWriter/Vp8BitWriter.cs b/src/ImageSharp/Formats/Webp/BitWriter/Vp8BitWriter.cs index 3f16fc89b..577a87e6a 100644 --- a/src/ImageSharp/Formats/Webp/BitWriter/Vp8BitWriter.cs +++ b/src/ImageSharp/Formats/Webp/BitWriter/Vp8BitWriter.cs @@ -410,7 +410,8 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter /// The height of the image. /// Flag indicating, if a alpha channel is present. /// The alpha channel data. - public void WriteEncodedImageToStream(Stream stream, ExifProfile exifProfile, XmpProfile xmpProfile, uint width, uint height, bool hasAlpha, byte[] alphaData) + /// Indicates, if the alpha data is compressed. + public void WriteEncodedImageToStream(Stream stream, ExifProfile exifProfile, XmpProfile xmpProfile, uint width, uint height, bool hasAlpha, byte[] alphaData, bool alphaDataIsCompressed) { bool isVp8X = false; byte[] exifBytes = null; @@ -461,7 +462,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter riffSize += WebpConstants.TagSize + WebpConstants.ChunkHeaderSize + vp8Size; // Emit headers and partition #0 - this.WriteWebpHeaders(stream, size0, vp8Size, riffSize, isVp8X, width, height, exifProfile, xmpProfile, hasAlpha, alphaData); + this.WriteWebpHeaders(stream, size0, vp8Size, riffSize, isVp8X, width, height, exifProfile, xmpProfile, hasAlpha, alphaData, alphaDataIsCompressed); bitWriterPartZero.WriteToStream(stream); // Write the encoded image to the stream. @@ -660,7 +661,8 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter ExifProfile exifProfile, XmpProfile xmpProfile, bool hasAlpha, - byte[] alphaData) + byte[] alphaData, + bool alphaDataIsCompressed) { this.WriteRiffHeader(stream, riffSize); @@ -670,7 +672,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter this.WriteVp8XHeader(stream, exifProfile, xmpProfile, width, height, hasAlpha); if (hasAlpha) { - this.WriteAlphaChunk(stream, alphaData); + this.WriteAlphaChunk(stream, alphaData, alphaDataIsCompressed); } } diff --git a/src/ImageSharp/Formats/Webp/Lossless/Vp8LEncoder.cs b/src/ImageSharp/Formats/Webp/Lossless/Vp8LEncoder.cs index e9dce913a..797d0794f 100644 --- a/src/ImageSharp/Formats/Webp/Lossless/Vp8LEncoder.cs +++ b/src/ImageSharp/Formats/Webp/Lossless/Vp8LEncoder.cs @@ -228,7 +228,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossless public Vp8LHashChain HashChain { get; } /// - /// Encodes the image to the specified stream from the . + /// Encodes the image as lossless webp to the specified stream. /// /// The pixel format. /// The to encode from. @@ -236,10 +236,12 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossless public void Encode(Image image, Stream stream) where TPixel : unmanaged, IPixel { - image.Metadata.SyncProfiles(); int width = image.Width; int height = image.Height; + ImageMetadata metadata = image.Metadata; + metadata.SyncProfiles(); + // Convert image pixels to bgra array. bool hasAlpha = this.ConvertPixelsToBgra(image, width, height); @@ -253,11 +255,32 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossless this.EncodeStream(image); // Write bytes from the bitwriter buffer to the stream. - ImageMetadata metadata = image.Metadata; - metadata.SyncProfiles(); this.bitWriter.WriteEncodedImageToStream(stream, metadata.ExifProfile, metadata.XmpProfile, (uint)width, (uint)height, hasAlpha); } + /// + /// Encodes the alpha image data using the webp lossless compression. + /// + /// The type of the pixel. + /// The to encode from. + /// The encoded alpha stream. + public byte[] EncodeAlphaImageData(Image image) + where TPixel : unmanaged, IPixel + { + int width = image.Width; + int height = image.Height; + + // Convert image pixels to bgra array. + this.ConvertPixelsToBgra(image, width, height); + + // The image-stream does NOT contain any headers describing the image dimension, the dimension is already known. + this.EncodeStream(image); + this.bitWriter.Finish(); + using var ms = new MemoryStream(); + this.bitWriter.WriteToStream(ms); + return ms.ToArray(); + } + /// /// Writes the image size to the bitwriter buffer. /// diff --git a/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs b/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs index 48af53960..d8bd8f759 100644 --- a/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs +++ b/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs @@ -71,10 +71,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy /// private int uvAlpha; - /// - /// Scratch buffer to reduce allocations. - /// - private readonly int[] scratch = new int[16]; + private readonly bool alphaCompression; private readonly byte[] averageBytesPerMb = { 50, 24, 16, 9, 7, 5, 3, 2 }; @@ -105,6 +102,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy /// Number of entropy-analysis passes (in [1..10]). /// The filter the strength of the deblocking filter, between 0 (no filtering) and 100 (maximum filtering). /// The spatial noise shaping. 0=off, 100=maximum. + /// If true, the alpha channel will be compressed with the lossless compression. public Vp8Encoder( MemoryAllocator memoryAllocator, Configuration configuration, @@ -114,7 +112,8 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy WebpEncodingMethod method, int entropyPasses, int filterStrength, - int spatialNoiseShaping) + int spatialNoiseShaping, + bool alphaCompression) { this.memoryAllocator = memoryAllocator; this.configuration = configuration; @@ -125,6 +124,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy this.entropyPasses = Numerics.Clamp(entropyPasses, 1, 10); this.filterStrength = Numerics.Clamp(filterStrength, 0, 100); this.spatialNoiseShaping = Numerics.Clamp(spatialNoiseShaping, 0, 100); + this.alphaCompression = alphaCompression; this.rdOptLevel = method is WebpEncodingMethod.BestQuality ? Vp8RdLevel.RdOptTrellisAll : method >= WebpEncodingMethod.Level5 ? Vp8RdLevel.RdOptTrellis : method >= WebpEncodingMethod.Level3 ? Vp8RdLevel.RdOptBasic @@ -327,7 +327,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy if (hasAlpha) { // TODO: This can potentially run in an separate task. - alphaData = AlphaEncoder.EncodeAlpha(image, this.configuration, this.memoryAllocator); + alphaData = AlphaEncoder.EncodeAlpha(image, this.configuration, this.memoryAllocator, this.alphaCompression); } // Stats-collection loop. @@ -363,7 +363,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy // Write bytes from the bitwriter buffer to the stream. ImageMetadata metadata = image.Metadata; metadata.SyncProfiles(); - this.bitWriter.WriteEncodedImageToStream(stream, metadata.ExifProfile, metadata.XmpProfile, (uint)width, (uint)height, hasAlpha, alphaData); + this.bitWriter.WriteEncodedImageToStream(stream, metadata.ExifProfile, metadata.XmpProfile, (uint)width, (uint)height, hasAlpha, alphaData, this.alphaCompression); } /// diff --git a/src/ImageSharp/Formats/Webp/WebpEncoderCore.cs b/src/ImageSharp/Formats/Webp/WebpEncoderCore.cs index 195fa62bd..deed08b72 100644 --- a/src/ImageSharp/Formats/Webp/WebpEncoderCore.cs +++ b/src/ImageSharp/Formats/Webp/WebpEncoderCore.cs @@ -22,7 +22,6 @@ namespace SixLabors.ImageSharp.Formats.Webp private readonly MemoryAllocator memoryAllocator; /// - /// TODO: not used at the moment. /// Indicating whether the alpha plane should be compressed with Webp lossless format. /// private readonly bool alphaCompression; @@ -100,7 +99,7 @@ namespace SixLabors.ImageSharp.Formats.Webp } /// - /// Encodes the image to the specified stream from the . + /// Encodes the image as webp to the specified stream. /// /// The pixel format. /// The to encode from. @@ -149,7 +148,8 @@ namespace SixLabors.ImageSharp.Formats.Webp this.method, this.entropyPasses, this.filterStrength, - this.spatialNoiseShaping); + this.spatialNoiseShaping, + this.alphaCompression); enc.Encode(image, stream); } } From 8b8993dadc37a8a7970d4bcf26b1f043b860df60 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Tue, 1 Feb 2022 11:19:40 +0100 Subject: [PATCH 037/244] Add encode lossy webp with alpha tests --- .../Formats/WebP/WebpEncoderTests.cs | 40 +++++++++++++------ tests/ImageSharp.Tests/TestImages.cs | 1 + tests/Images/Input/Png/transparency.png | 3 ++ 3 files changed, 32 insertions(+), 12 deletions(-) create mode 100644 tests/Images/Input/Png/transparency.png diff --git a/tests/ImageSharp.Tests/Formats/WebP/WebpEncoderTests.cs b/tests/ImageSharp.Tests/Formats/WebP/WebpEncoderTests.cs index 7043549b2..7c74429ed 100644 --- a/tests/ImageSharp.Tests/Formats/WebP/WebpEncoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/WebP/WebpEncoderTests.cs @@ -167,18 +167,6 @@ namespace SixLabors.ImageSharp.Tests.Formats.Webp image.VerifyEncoder(provider, "webp", testOutputDetails, encoder); } - [Theory] - [WithFile(TestPatternOpaque, PixelTypes.Rgba32)] - [WithFile(TestPatternOpaqueSmall, PixelTypes.Rgba32)] - public void Encode_Lossless_WorksWithTestPattern(TestImageProvider provider) - where TPixel : unmanaged, IPixel - { - using Image image = provider.GetImage(); - - var encoder = new WebpEncoder() { FileFormat = WebpFileFormatType.Lossless }; - image.VerifyEncoder(provider, "webp", string.Empty, encoder); - } - [Fact] public void Encode_Lossless_OneByOnePixel_Works() { @@ -279,6 +267,34 @@ namespace SixLabors.ImageSharp.Tests.Formats.Webp image.VerifyEncoder(provider, "webp", testOutputDetails, encoder, customComparer: GetComparer(quality)); } + [Theory] + [WithFile(TestImages.Png.Transparency, PixelTypes.Rgba32, false)] + [WithFile(TestImages.Png.Transparency, PixelTypes.Rgba32, true)] + public void Encode_Lossy_WithAlpha_Works(TestImageProvider provider, bool compressed) + where TPixel : unmanaged, IPixel + { + var encoder = new WebpEncoder() + { + FileFormat = WebpFileFormatType.Lossy, + UseAlphaCompression = compressed + }; + + using Image image = provider.GetImage(); + image.VerifyEncoder(provider, "webp", $"with_alpha_compressed_{compressed}", encoder, ImageComparer.Tolerant(0.04f)); + } + + [Theory] + [WithFile(TestPatternOpaque, PixelTypes.Rgba32)] + [WithFile(TestPatternOpaqueSmall, PixelTypes.Rgba32)] + public void Encode_Lossless_WorksWithTestPattern(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + using Image image = provider.GetImage(); + + var encoder = new WebpEncoder() { FileFormat = WebpFileFormatType.Lossless }; + image.VerifyEncoder(provider, "webp", string.Empty, encoder); + } + [Theory] [WithFile(TestPatternOpaque, PixelTypes.Rgba32)] [WithFile(TestPatternOpaqueSmall, PixelTypes.Rgba32)] diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index bce22799d..a73d26243 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -15,6 +15,7 @@ namespace SixLabors.ImageSharp.Tests { public static class Png { + public const string Transparency = "Png/transparency.png"; public const string P1 = "Png/pl.png"; public const string Pd = "Png/pd.png"; public const string Blur = "Png/blur.png"; diff --git a/tests/Images/Input/Png/transparency.png b/tests/Images/Input/Png/transparency.png new file mode 100644 index 000000000..26de0f2d1 --- /dev/null +++ b/tests/Images/Input/Png/transparency.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:843bea4db378f52935e2f19f60d289df8ebe20ddde3977c63225f1d58a10bd62 +size 48119 From d398ae744555d87cf71da22a02ed8fb50127ff00 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Tue, 1 Feb 2022 11:25:03 +0100 Subject: [PATCH 038/244] Default alpha compression to true --- src/ImageSharp/Formats/Webp/IWebpEncoderOptions.cs | 1 + src/ImageSharp/Formats/Webp/WebpEncoder.cs | 2 +- src/ImageSharp/Formats/Webp/WebpEncoderCore.cs | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/ImageSharp/Formats/Webp/IWebpEncoderOptions.cs b/src/ImageSharp/Formats/Webp/IWebpEncoderOptions.cs index d119d3031..57ec32753 100644 --- a/src/ImageSharp/Formats/Webp/IWebpEncoderOptions.cs +++ b/src/ImageSharp/Formats/Webp/IWebpEncoderOptions.cs @@ -31,6 +31,7 @@ namespace SixLabors.ImageSharp.Formats.Webp /// /// Gets a value indicating whether the alpha plane should be compressed with Webp lossless format. + /// Defaults to true. /// bool UseAlphaCompression { get; } diff --git a/src/ImageSharp/Formats/Webp/WebpEncoder.cs b/src/ImageSharp/Formats/Webp/WebpEncoder.cs index bdcbb194b..d0b60d18c 100644 --- a/src/ImageSharp/Formats/Webp/WebpEncoder.cs +++ b/src/ImageSharp/Formats/Webp/WebpEncoder.cs @@ -24,7 +24,7 @@ namespace SixLabors.ImageSharp.Formats.Webp public WebpEncodingMethod Method { get; set; } = WebpEncodingMethod.Default; /// - public bool UseAlphaCompression { get; set; } + public bool UseAlphaCompression { get; set; } = true; /// public int EntropyPasses { get; set; } = 1; diff --git a/src/ImageSharp/Formats/Webp/WebpEncoderCore.cs b/src/ImageSharp/Formats/Webp/WebpEncoderCore.cs index deed08b72..0fbff81fe 100644 --- a/src/ImageSharp/Formats/Webp/WebpEncoderCore.cs +++ b/src/ImageSharp/Formats/Webp/WebpEncoderCore.cs @@ -23,6 +23,7 @@ namespace SixLabors.ImageSharp.Formats.Webp /// /// Indicating whether the alpha plane should be compressed with Webp lossless format. + /// Defaults to true. /// private readonly bool alphaCompression; From cf672b99aeaa80d734edfa0a7ca0e2e36b590526 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Tue, 1 Feb 2022 12:10:19 +0100 Subject: [PATCH 039/244] Use memory allocator for alpha data --- src/ImageSharp/Formats/Webp/AlphaEncoder.cs | 26 ++++++++++++------- .../Formats/Webp/BitWriter/BitWriterBase.cs | 12 ++++++--- .../Formats/Webp/BitWriter/Vp8BitWriter.cs | 12 +++++++-- .../Formats/Webp/Lossless/Vp8LEncoder.cs | 13 +++++----- .../Formats/Webp/Lossy/Vp8Encoder.cs | 22 +++++++++++++--- 5 files changed, 59 insertions(+), 26 deletions(-) diff --git a/src/ImageSharp/Formats/Webp/AlphaEncoder.cs b/src/ImageSharp/Formats/Webp/AlphaEncoder.cs index 571da5bb2..38497281f 100644 --- a/src/ImageSharp/Formats/Webp/AlphaEncoder.cs +++ b/src/ImageSharp/Formats/Webp/AlphaEncoder.cs @@ -24,13 +24,15 @@ namespace SixLabors.ImageSharp.Formats.Webp /// The global configuration. /// The memory manager. /// Indicates, if the data should be compressed with the lossless webp compression. - /// The alpha data. - public static byte[] EncodeAlpha(Image image, Configuration configuration, MemoryAllocator memoryAllocator, bool compress) + /// The size in bytes of the alpha data. + /// The encoded alpha data. + public static IMemoryOwner EncodeAlpha(Image image, Configuration configuration, MemoryAllocator memoryAllocator, bool compress, out int size) where TPixel : unmanaged, IPixel { - byte[] alphaData = ExtractAlphaChannel(image, configuration, memoryAllocator); int width = image.Width; int height = image.Height; + IMemoryOwner alphaData = ExtractAlphaChannel(image, configuration, memoryAllocator); + if (compress) { WebpEncodingMethod effort = WebpEncodingMethod.Default; @@ -49,11 +51,14 @@ namespace SixLabors.ImageSharp.Formats.Webp // The transparency information will be stored in the green channel of the ARGB quadruplet. // The green channel is allowed extra transformation steps in the specification -- unlike the other channels, // that can improve compression. - using Image alphaAsImage = DispatchAlphaToGreen(image, alphaData); + using Image alphaAsImage = DispatchAlphaToGreen(image, alphaData.GetSpan()); + + size = lossLessEncoder.EncodeAlphaImageData(alphaAsImage, alphaData); - return lossLessEncoder.EncodeAlphaImageData(alphaAsImage); + return alphaData; } + size = width * height; return alphaData; } @@ -64,7 +69,7 @@ namespace SixLabors.ImageSharp.Formats.Webp /// The to encode from. /// A byte sequence of length width * height, containing all the 8-bit transparency values in scan order. /// The transparency image. - private static Image DispatchAlphaToGreen(Image image, byte[] alphaData) + private static Image DispatchAlphaToGreen(Image image, Span alphaData) where TPixel : unmanaged, IPixel { int width = image.Width; @@ -75,7 +80,7 @@ namespace SixLabors.ImageSharp.Formats.Webp { Memory rowBuffer = alphaAsImage.DangerousGetPixelRowMemory(y); Span pixelRow = rowBuffer.Span; - Span alphaRow = alphaData.AsSpan(y * width, width); + Span alphaRow = alphaData.Slice(y * width, width); for (int x = 0; x < width; x++) { // Leave A/R/B channels zero'd. @@ -94,13 +99,14 @@ namespace SixLabors.ImageSharp.Formats.Webp /// The global configuration. /// The memory manager. /// A byte sequence of length width * height, containing all the 8-bit transparency values in scan order. - private static byte[] ExtractAlphaChannel(Image image, Configuration configuration, MemoryAllocator memoryAllocator) + private static IMemoryOwner ExtractAlphaChannel(Image image, Configuration configuration, MemoryAllocator memoryAllocator) where TPixel : unmanaged, IPixel { Buffer2D imageBuffer = image.Frames.RootFrame.PixelBuffer; int height = image.Height; int width = image.Width; - byte[] alphaData = new byte[width * height]; + IMemoryOwner alphaDataBuffer = memoryAllocator.Allocate(width * height); + Span alphaData = alphaDataBuffer.GetSpan(); using IMemoryOwner rowBuffer = memoryAllocator.Allocate(width); Span rgbaRow = rowBuffer.GetSpan(); @@ -116,7 +122,7 @@ namespace SixLabors.ImageSharp.Formats.Webp } } - return alphaData; + return alphaDataBuffer; } } } diff --git a/src/ImageSharp/Formats/Webp/BitWriter/BitWriterBase.cs b/src/ImageSharp/Formats/Webp/BitWriter/BitWriterBase.cs index 84c9d3f13..fc1accfde 100644 --- a/src/ImageSharp/Formats/Webp/BitWriter/BitWriterBase.cs +++ b/src/ImageSharp/Formats/Webp/BitWriter/BitWriterBase.cs @@ -47,6 +47,12 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter /// The stream to write to. public void WriteToStream(Stream stream) => stream.Write(this.Buffer.AsSpan(0, this.NumBytes())); + /// + /// Writes the encoded bytes of the image to the given buffer. Call Finish() before this. + /// + /// The destination buffer. + public void WriteToBuffer(Span dest) => this.Buffer.AsSpan(0, this.NumBytes()).CopyTo(dest); + /// /// Resizes the buffer to write to. /// @@ -108,7 +114,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter /// /// The alpha chunk bytes. /// The alpha data chunk size in bytes. - protected uint AlphaChunkSize(byte[] alphaBytes) + protected uint AlphaChunkSize(Span alphaBytes) { uint alphaSize = (uint)alphaBytes.Length + 1; uint alphaChunkSize = WebpConstants.ChunkHeaderSize + alphaSize + (alphaSize & 1); @@ -147,10 +153,8 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter /// The stream to write to. /// The alpha channel data bytes. /// Indicates, if the alpha channel data is compressed. - protected void WriteAlphaChunk(Stream stream, byte[] dataBytes, bool alphaDataIsCompressed) + protected void WriteAlphaChunk(Stream stream, Span dataBytes, bool alphaDataIsCompressed) { - DebugGuard.NotNull(dataBytes, nameof(dataBytes)); - uint size = (uint)dataBytes.Length + 1; Span buf = this.scratchBuffer.AsSpan(0, 4); BinaryPrimitives.WriteUInt32BigEndian(buf, (uint)WebpChunkType.Alpha); diff --git a/src/ImageSharp/Formats/Webp/BitWriter/Vp8BitWriter.cs b/src/ImageSharp/Formats/Webp/BitWriter/Vp8BitWriter.cs index 577a87e6a..fa6e09d87 100644 --- a/src/ImageSharp/Formats/Webp/BitWriter/Vp8BitWriter.cs +++ b/src/ImageSharp/Formats/Webp/BitWriter/Vp8BitWriter.cs @@ -411,7 +411,15 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter /// Flag indicating, if a alpha channel is present. /// The alpha channel data. /// Indicates, if the alpha data is compressed. - public void WriteEncodedImageToStream(Stream stream, ExifProfile exifProfile, XmpProfile xmpProfile, uint width, uint height, bool hasAlpha, byte[] alphaData, bool alphaDataIsCompressed) + public void WriteEncodedImageToStream( + Stream stream, + ExifProfile exifProfile, + XmpProfile xmpProfile, + uint width, + uint height, + bool hasAlpha, + Span alphaData, + bool alphaDataIsCompressed) { bool isVp8X = false; byte[] exifBytes = null; @@ -661,7 +669,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter ExifProfile exifProfile, XmpProfile xmpProfile, bool hasAlpha, - byte[] alphaData, + Span alphaData, bool alphaDataIsCompressed) { this.WriteRiffHeader(stream, riffSize); diff --git a/src/ImageSharp/Formats/Webp/Lossless/Vp8LEncoder.cs b/src/ImageSharp/Formats/Webp/Lossless/Vp8LEncoder.cs index 797d0794f..ece9aefd0 100644 --- a/src/ImageSharp/Formats/Webp/Lossless/Vp8LEncoder.cs +++ b/src/ImageSharp/Formats/Webp/Lossless/Vp8LEncoder.cs @@ -263,8 +263,9 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossless /// /// The type of the pixel. /// The to encode from. - /// The encoded alpha stream. - public byte[] EncodeAlphaImageData(Image image) + /// The destination buffer to write the encoded alpha data to. + /// The size of the data in bytes. + public int EncodeAlphaImageData(Image image, IMemoryOwner alphaData) where TPixel : unmanaged, IPixel { int width = image.Width; @@ -273,12 +274,12 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossless // Convert image pixels to bgra array. this.ConvertPixelsToBgra(image, width, height); - // The image-stream does NOT contain any headers describing the image dimension, the dimension is already known. + // The image-stream will NOT contain any headers describing the image dimension, the dimension is already known. this.EncodeStream(image); this.bitWriter.Finish(); - using var ms = new MemoryStream(); - this.bitWriter.WriteToStream(ms); - return ms.ToArray(); + int size = this.bitWriter.NumBytes(); + this.bitWriter.WriteToBuffer(alphaData.GetSpan()); + return size; } /// diff --git a/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs b/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs index d8bd8f759..4b7f3f5c8 100644 --- a/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs +++ b/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs @@ -241,6 +241,11 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy public int DqUvDc { get; private set; } + /// + /// Gets or sets the alpha data. + /// + private IMemoryOwner AlphaData { get; set; } + /// /// Gets the luma component. /// @@ -322,12 +327,12 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy int expectedSize = this.Mbw * this.Mbh * averageBytesPerMacroBlock; this.bitWriter = new Vp8BitWriter(expectedSize, this); - // Extract and encode alpha data, if present. - byte[] alphaData = null; + // Extract and encode alpha channel data, if present. + int alphaDataSize = 0; if (hasAlpha) { // TODO: This can potentially run in an separate task. - alphaData = AlphaEncoder.EncodeAlpha(image, this.configuration, this.memoryAllocator, this.alphaCompression); + this.AlphaData = AlphaEncoder.EncodeAlpha(image, this.configuration, this.memoryAllocator, this.alphaCompression, out alphaDataSize); } // Stats-collection loop. @@ -363,7 +368,15 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy // Write bytes from the bitwriter buffer to the stream. ImageMetadata metadata = image.Metadata; metadata.SyncProfiles(); - this.bitWriter.WriteEncodedImageToStream(stream, metadata.ExifProfile, metadata.XmpProfile, (uint)width, (uint)height, hasAlpha, alphaData, this.alphaCompression); + this.bitWriter.WriteEncodedImageToStream( + stream, + metadata.ExifProfile, + metadata.XmpProfile, + (uint)width, + (uint)height, + hasAlpha, + hasAlpha ? this.AlphaData.GetSpan().Slice(0, alphaDataSize) : Span.Empty, + this.alphaCompression); } /// @@ -372,6 +385,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy this.Y.Dispose(); this.U.Dispose(); this.V.Dispose(); + this.AlphaData?.Dispose(); } /// From b12ad7596e3e1b5c91d87332f167afe340f65226 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Tue, 1 Feb 2022 12:50:28 +0100 Subject: [PATCH 040/244] Leave alpha data uncompressed, if compression does not yield in smaller data --- src/ImageSharp/Formats/Webp/Lossless/Vp8LEncoder.cs | 11 ++++++++++- src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs | 9 ++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/ImageSharp/Formats/Webp/Lossless/Vp8LEncoder.cs b/src/ImageSharp/Formats/Webp/Lossless/Vp8LEncoder.cs index ece9aefd0..30d65562a 100644 --- a/src/ImageSharp/Formats/Webp/Lossless/Vp8LEncoder.cs +++ b/src/ImageSharp/Formats/Webp/Lossless/Vp8LEncoder.cs @@ -264,12 +264,15 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossless /// The type of the pixel. /// The to encode from. /// The destination buffer to write the encoded alpha data to. - /// The size of the data in bytes. + /// The size of the compressed data in bytes. + /// If the size of the data is the same as the pixel count, the compression would not yield in smaller data and is left uncompressed. + /// public int EncodeAlphaImageData(Image image, IMemoryOwner alphaData) where TPixel : unmanaged, IPixel { int width = image.Width; int height = image.Height; + int pixelCount = width * height; // Convert image pixels to bgra array. this.ConvertPixelsToBgra(image, width, height); @@ -278,6 +281,12 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossless this.EncodeStream(image); this.bitWriter.Finish(); int size = this.bitWriter.NumBytes(); + if (size >= pixelCount) + { + // Compressing would not yield in smaller data -> leave the data uncompressed. + return pixelCount; + } + this.bitWriter.WriteToBuffer(alphaData.GetSpan()); return size; } diff --git a/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs b/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs index 4b7f3f5c8..60bdee362 100644 --- a/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs +++ b/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs @@ -302,6 +302,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy { int width = image.Width; int height = image.Height; + int pixelCount = width * height; Span y = this.Y.GetSpan(); Span u = this.U.GetSpan(); Span v = this.V.GetSpan(); @@ -329,10 +330,16 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy // Extract and encode alpha channel data, if present. int alphaDataSize = 0; + bool alphaCompressionSucceeded = false; if (hasAlpha) { // TODO: This can potentially run in an separate task. this.AlphaData = AlphaEncoder.EncodeAlpha(image, this.configuration, this.memoryAllocator, this.alphaCompression, out alphaDataSize); + if (alphaDataSize < pixelCount) + { + // Only use compressed data, if the compressed data is actually smaller then the uncompressed data. + alphaCompressionSucceeded = true; + } } // Stats-collection loop. @@ -376,7 +383,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy (uint)height, hasAlpha, hasAlpha ? this.AlphaData.GetSpan().Slice(0, alphaDataSize) : Span.Empty, - this.alphaCompression); + this.alphaCompression && alphaCompressionSucceeded); } /// From 5d502980c27fa8cabbe3ee1d706d729aefbdcc8f Mon Sep 17 00:00:00 2001 From: Ildar Khayrutdinov Date: Tue, 1 Feb 2022 15:08:29 +0300 Subject: [PATCH 041/244] memory improvements --- .../Profiles/Exif/ExifEncodedStringHelpers.cs | 22 +++++++++++++------ .../Profiles/Exif/ExifUcs2StringHelpers.cs | 2 ++ .../Metadata/Profiles/Exif/ExifWriter.cs | 19 ++++------------ 3 files changed, 21 insertions(+), 22 deletions(-) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs index 71aeb9db3..5fd613b1f 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs @@ -69,17 +69,25 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif public static uint GetDataLength(EncodedString encodedString) => (uint)GetEncoding(encodedString.Code).GetByteCount(encodedString.Text) + CharacterCodeBytesLength; - public static byte[] GetData(EncodedString encodedString) + public static int Write(EncodedString encodedString, Span destination) { - int length = (int)GetDataLength(encodedString); - byte[] buffer = new byte[length]; - - GetCodeBytes(encodedString.Code).CopyTo(buffer); + GetCodeBytes(encodedString.Code).CopyTo(destination); string text = encodedString.Text; - GetEncoding(encodedString.Code).GetBytes(text, 0, text.Length, buffer, CharacterCodeBytesLength); + int count = Write(GetEncoding(encodedString.Code), text, destination.Slice(CharacterCodeBytesLength)); + + return CharacterCodeBytesLength + count; + } - return buffer; + public static unsafe int Write(Encoding encoding, string value, Span destination) + { + fixed (char* c = value) + { + fixed (byte* b = destination) + { + return encoding.GetBytes(c, value.Length, b, destination.Length); + } + } } private static bool TryDetect(ReadOnlySpan buffer, out CharacterCode code) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifUcs2StringHelpers.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifUcs2StringHelpers.cs index 82ea0eaba..ccc1c80ad 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifUcs2StringHelpers.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifUcs2StringHelpers.cs @@ -15,5 +15,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif ExifTagValue.XPAuthor or ExifTagValue.XPComment or ExifTagValue.XPKeywords or ExifTagValue.XPSubject or ExifTagValue.XPTitle => true, _ => false, }; + + public static int Write(string value, Span destination) => ExifEncodedStringHelpers.Write(Ucs2Encoding, value, destination); } } diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs index 7baff7513..a14539bca 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifWriter.cs @@ -4,7 +4,6 @@ using System; using System.Buffers.Binary; using System.Collections.Generic; -using System.Text; namespace SixLabors.ImageSharp.Metadata.Profiles.Exif { @@ -388,18 +387,8 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif return offset + 1; case ExifDataType.Byte: case ExifDataType.Undefined: - if (value is byte[] array) - { - // used by encoded strings (which dataType is Byte/Undefined) - offset = Write(array, destination, offset); - return offset; - } - else - { - destination[offset] = (byte)value; - return offset + 1; - } - + destination[offset] = (byte)value; + return offset + 1; case ExifDataType.DoubleFloat: return WriteDouble((double)value, destination, offset); case ExifDataType.Short: @@ -446,11 +435,11 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif if (ExifUcs2StringHelpers.IsUcs2Tag((ExifTagValue)(ushort)exifValue.Tag)) { - value = ExifUcs2StringHelpers.Ucs2Encoding.GetBytes((string)value); + return offset + ExifUcs2StringHelpers.Write((string)value, destination.Slice(offset)); } else if (value is EncodedString encodedString) { - value = ExifEncodedStringHelpers.GetData(encodedString); + return offset + ExifEncodedStringHelpers.Write(encodedString, destination.Slice(offset)); } if (exifValue.IsArray) From 192cfb03f9a35282eb62f99aa42c3bae91869181 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Tue, 1 Feb 2022 13:33:04 +0100 Subject: [PATCH 042/244] Move disposing the alpha data to the AlphaEncoder --- src/ImageSharp/Formats/Webp/AlphaEncoder.cs | 19 ++++++++++++------- .../Formats/Webp/Lossy/Vp8Encoder.cs | 13 +++++-------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/ImageSharp/Formats/Webp/AlphaEncoder.cs b/src/ImageSharp/Formats/Webp/AlphaEncoder.cs index 38497281f..1019073d8 100644 --- a/src/ImageSharp/Formats/Webp/AlphaEncoder.cs +++ b/src/ImageSharp/Formats/Webp/AlphaEncoder.cs @@ -13,8 +13,10 @@ namespace SixLabors.ImageSharp.Formats.Webp /// /// Methods for encoding the alpha data of a VP8 image. /// - internal static class AlphaEncoder + internal class AlphaEncoder : IDisposable { + private IMemoryOwner alphaData; + /// /// Encodes the alpha channel data. /// Data is either compressed as lossless webp image or uncompressed. @@ -26,12 +28,12 @@ namespace SixLabors.ImageSharp.Formats.Webp /// Indicates, if the data should be compressed with the lossless webp compression. /// The size in bytes of the alpha data. /// The encoded alpha data. - public static IMemoryOwner EncodeAlpha(Image image, Configuration configuration, MemoryAllocator memoryAllocator, bool compress, out int size) + public IMemoryOwner EncodeAlpha(Image image, Configuration configuration, MemoryAllocator memoryAllocator, bool compress, out int size) where TPixel : unmanaged, IPixel { int width = image.Width; int height = image.Height; - IMemoryOwner alphaData = ExtractAlphaChannel(image, configuration, memoryAllocator); + this.alphaData = ExtractAlphaChannel(image, configuration, memoryAllocator); if (compress) { @@ -51,15 +53,15 @@ namespace SixLabors.ImageSharp.Formats.Webp // The transparency information will be stored in the green channel of the ARGB quadruplet. // The green channel is allowed extra transformation steps in the specification -- unlike the other channels, // that can improve compression. - using Image alphaAsImage = DispatchAlphaToGreen(image, alphaData.GetSpan()); + using Image alphaAsImage = DispatchAlphaToGreen(image, this.alphaData.GetSpan()); - size = lossLessEncoder.EncodeAlphaImageData(alphaAsImage, alphaData); + size = lossLessEncoder.EncodeAlphaImageData(alphaAsImage, this.alphaData); - return alphaData; + return this.alphaData; } size = width * height; - return alphaData; + return this.alphaData; } /// @@ -124,5 +126,8 @@ namespace SixLabors.ImageSharp.Formats.Webp return alphaDataBuffer; } + + /// + public void Dispose() => this.alphaData?.Dispose(); } } diff --git a/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs b/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs index 60bdee362..927b04c0c 100644 --- a/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs +++ b/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs @@ -241,11 +241,6 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy public int DqUvDc { get; private set; } - /// - /// Gets or sets the alpha data. - /// - private IMemoryOwner AlphaData { get; set; } - /// /// Gets the luma component. /// @@ -331,10 +326,13 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy // Extract and encode alpha channel data, if present. int alphaDataSize = 0; bool alphaCompressionSucceeded = false; + using var alphaEncoder = new AlphaEncoder(); + Span alphaData = Span.Empty; if (hasAlpha) { // TODO: This can potentially run in an separate task. - this.AlphaData = AlphaEncoder.EncodeAlpha(image, this.configuration, this.memoryAllocator, this.alphaCompression, out alphaDataSize); + IMemoryOwner encodedAlphaData = alphaEncoder.EncodeAlpha(image, this.configuration, this.memoryAllocator, this.alphaCompression, out alphaDataSize); + alphaData = encodedAlphaData.GetSpan(); if (alphaDataSize < pixelCount) { // Only use compressed data, if the compressed data is actually smaller then the uncompressed data. @@ -382,7 +380,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy (uint)width, (uint)height, hasAlpha, - hasAlpha ? this.AlphaData.GetSpan().Slice(0, alphaDataSize) : Span.Empty, + alphaData, this.alphaCompression && alphaCompressionSucceeded); } @@ -392,7 +390,6 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy this.Y.Dispose(); this.U.Dispose(); this.V.Dispose(); - this.AlphaData?.Dispose(); } /// From 2491b6ab626f4329a40b9363e4058d5857d8567d Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Tue, 1 Feb 2022 16:16:35 +0100 Subject: [PATCH 043/244] Change AverageBytesPerMb to ReadOnlySpan --- src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs b/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs index 927b04c0c..695359e5e 100644 --- a/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs +++ b/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs @@ -73,8 +73,6 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy private readonly bool alphaCompression; - private readonly byte[] averageBytesPerMb = { 50, 24, 16, 9, 7, 5, 3, 2 }; - private const int NumMbSegments = 4; private const int MaxItersKMeans = 6; @@ -174,6 +172,9 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy this.ResetBoundaryPredictions(); } + // This uses C#'s optimization to refer to the static data segment of the assembly, no allocation occurs. + private static ReadOnlySpan AverageBytesPerMb => new byte[] { 50, 24, 16, 9, 7, 5, 3, 2 }; + public int BaseQuant { get; set; } /// @@ -319,7 +320,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy this.SetLoopParams(this.quality); // Initialize the bitwriter. - int averageBytesPerMacroBlock = this.averageBytesPerMb[this.BaseQuant >> 4]; + int averageBytesPerMacroBlock = AverageBytesPerMb[this.BaseQuant >> 4]; int expectedSize = this.Mbw * this.Mbh * averageBytesPerMacroBlock; this.bitWriter = new Vp8BitWriter(expectedSize, this); From fb3bd925807073f6b85d1fec942cb2a3392e1ccf Mon Sep 17 00:00:00 2001 From: Anton Firszov Date: Tue, 1 Feb 2022 22:46:30 +0100 Subject: [PATCH 044/244] volatile read on totalUndisposedAllocationCount MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Günther Foidl --- src/ImageSharp/Diagnostics/MemoryDiagnostics.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs index 6bd81d7e5..7ab076e37 100644 --- a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs +++ b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs @@ -46,7 +46,7 @@ namespace SixLabors.ImageSharp.Diagnostics /// public static int TotalUndisposedAllocationCount => totalUndisposedAllocationCount; - internal static bool MemoryResourceLeakedSubscribed => undisposedMemoryResourceSubscriptionCounter > 0; + internal static bool MemoryResourceLeakedSubscribed => Volatile.Read(ref undisposedMemoryResourceSubscriptionCounter) > 0; internal static void IncrementTotalUndisposedAllocationCount() => Interlocked.Increment(ref totalUndisposedAllocationCount); From 976b2a89789449cc82791934cab7e673b36dff10 Mon Sep 17 00:00:00 2001 From: Anton Firszov Date: Tue, 1 Feb 2022 22:48:49 +0100 Subject: [PATCH 045/244] review suggestions --- .../Diagnostics/MemoryDiagnostics.cs | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs index 6bd81d7e5..1cd72152b 100644 --- a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs +++ b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs @@ -20,6 +20,7 @@ namespace SixLabors.ImageSharp.Diagnostics private static UndisposedMemoryResourceDelegate undisposedMemoryResource; private static int undisposedMemoryResourceSubscriptionCounter; + private static readonly object SyncRoot = new(); /// /// Fires when an ImageSharp object's undisposed memory resource leaks to the finalizer. @@ -30,14 +31,20 @@ namespace SixLabors.ImageSharp.Diagnostics { add { - Interlocked.Increment(ref undisposedMemoryResourceSubscriptionCounter); - undisposedMemoryResource += value; + lock (SyncRoot) + { + undisposedMemoryResourceSubscriptionCounter++; + undisposedMemoryResource += value; + } } remove { - undisposedMemoryResource -= value; - Interlocked.Decrement(ref undisposedMemoryResourceSubscriptionCounter); + lock (SyncRoot) + { + undisposedMemoryResource -= value; + undisposedMemoryResourceSubscriptionCounter--; + } } } @@ -56,6 +63,11 @@ namespace SixLabors.ImageSharp.Diagnostics internal static void RaiseUndisposedMemoryResource(string allocationStackTrace) { + if (undisposedMemoryResource is null) + { + return; + } + // Schedule on the ThreadPool, to avoid user callback messing up the finalizer thread. ThreadPool.QueueUserWorkItem(_ => undisposedMemoryResource?.Invoke(allocationStackTrace)); } From 60108df2c5b9a1b6e4c9c698d52e9b1370b0d40c Mon Sep 17 00:00:00 2001 From: Anton Firszov Date: Tue, 1 Feb 2022 22:51:09 +0100 Subject: [PATCH 046/244] consolidate naming --- .../Diagnostics/MemoryDiagnostics.cs | 25 +++++++++++-------- .../RefCountedMemoryLifetimeGuard.cs | 2 +- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs index e22e0516c..5c4e1aea4 100644 --- a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs +++ b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs @@ -9,7 +9,7 @@ namespace SixLabors.ImageSharp.Diagnostics /// /// Represents the method to handle . /// - public delegate void UndisposedMemoryResourceDelegate(string allocationStackTrace); + public delegate void UndisposedAllocationDelegate(string allocationStackTrace); /// /// Utilities to track memory usage and detect memory leaks from not disposing ImageSharp objects. @@ -18,8 +18,8 @@ namespace SixLabors.ImageSharp.Diagnostics { private static int totalUndisposedAllocationCount; - private static UndisposedMemoryResourceDelegate undisposedMemoryResource; - private static int undisposedMemoryResourceSubscriptionCounter; + private static UndisposedAllocationDelegate undisposedAllocation; + private static int undisposedAllocationSubscriptionCounter; private static readonly object SyncRoot = new(); /// @@ -27,14 +27,14 @@ namespace SixLabors.ImageSharp.Diagnostics /// The event brings significant overhead, and is intended to be used for troubleshooting only. /// For production diagnostics, use . /// - public static event UndisposedMemoryResourceDelegate UndisposedAllocation + public static event UndisposedAllocationDelegate UndisposedAllocation { add { lock (SyncRoot) { - undisposedMemoryResourceSubscriptionCounter++; - undisposedMemoryResource += value; + undisposedAllocationSubscriptionCounter++; + undisposedAllocation += value; } } @@ -42,8 +42,8 @@ namespace SixLabors.ImageSharp.Diagnostics { lock (SyncRoot) { - undisposedMemoryResource -= value; - undisposedMemoryResourceSubscriptionCounter--; + undisposedAllocation -= value; + undisposedAllocationSubscriptionCounter--; } } } @@ -53,7 +53,7 @@ namespace SixLabors.ImageSharp.Diagnostics /// public static int TotalUndisposedAllocationCount => totalUndisposedAllocationCount; - internal static bool MemoryResourceLeakedSubscribed => Volatile.Read(ref undisposedMemoryResourceSubscriptionCounter) > 0; + internal static bool UndisposedAllocationSubscribed => Volatile.Read(ref undisposedAllocationSubscriptionCounter) > 0; internal static void IncrementTotalUndisposedAllocationCount() => Interlocked.Increment(ref totalUndisposedAllocationCount); @@ -63,13 +63,16 @@ namespace SixLabors.ImageSharp.Diagnostics internal static void RaiseUndisposedMemoryResource(string allocationStackTrace) { - if (undisposedMemoryResource is null) + if (undisposedAllocation is null) { return; } // Schedule on the ThreadPool, to avoid user callback messing up the finalizer thread. - ThreadPool.QueueUserWorkItem(_ => undisposedMemoryResource?.Invoke(allocationStackTrace)); + ThreadPool.QueueUserWorkItem( + stackTrace => undisposedAllocation?.Invoke(stackTrace), + allocationStackTrace, + preferLocal: true); } } } diff --git a/src/ImageSharp/Memory/Allocators/Internals/RefCountedMemoryLifetimeGuard.cs b/src/ImageSharp/Memory/Allocators/Internals/RefCountedMemoryLifetimeGuard.cs index 333ef85c2..1c7d6cdfa 100644 --- a/src/ImageSharp/Memory/Allocators/Internals/RefCountedMemoryLifetimeGuard.cs +++ b/src/ImageSharp/Memory/Allocators/Internals/RefCountedMemoryLifetimeGuard.cs @@ -21,7 +21,7 @@ namespace SixLabors.ImageSharp.Memory.Internals protected RefCountedMemoryLifetimeGuard() { - if (MemoryDiagnostics.MemoryResourceLeakedSubscribed) + if (MemoryDiagnostics.UndisposedAllocationSubscribed) { this.allocationStackTrace = Environment.StackTrace; } From cf288f10bbcbe4ba3e32bb9b89426bd1f403663b Mon Sep 17 00:00:00 2001 From: Anton Firszov Date: Wed, 2 Feb 2022 13:38:06 +0100 Subject: [PATCH 047/244] preferLocal: false MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Günther Foidl --- src/ImageSharp/Diagnostics/MemoryDiagnostics.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs index 5c4e1aea4..7ea484175 100644 --- a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs +++ b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs @@ -72,7 +72,7 @@ namespace SixLabors.ImageSharp.Diagnostics ThreadPool.QueueUserWorkItem( stackTrace => undisposedAllocation?.Invoke(stackTrace), allocationStackTrace, - preferLocal: true); + preferLocal: false); } } } From 85cd83f3a7606de96b0d185c3497143644366758 Mon Sep 17 00:00:00 2001 From: Dmitry Pentin Date: Wed, 2 Feb 2022 16:22:58 +0300 Subject: [PATCH 048/244] IDisposable JpegDecoderCore is now properly disposed in tests --- .../Codecs/Jpeg/DecodeJpegParseStreamOnly.cs | 3 +-- tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs | 4 ++-- .../Formats/Jpg/SpectralToPixelConversionTests.cs | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpegParseStreamOnly.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpegParseStreamOnly.cs index 9db666c37..988c05660 100644 --- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpegParseStreamOnly.cs +++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpegParseStreamOnly.cs @@ -39,10 +39,9 @@ namespace SixLabors.ImageSharp.Benchmarks.Codecs.Jpeg using var memoryStream = new MemoryStream(this.jpegBytes); using var bufferedStream = new BufferedReadStream(Configuration.Default, memoryStream); - var decoder = new JpegDecoderCore(Configuration.Default, new JpegDecoder { IgnoreMetadata = true }); + using var decoder = new JpegDecoderCore(Configuration.Default, new JpegDecoder { IgnoreMetadata = true }); var scanDecoder = new HuffmanScanDecoder(bufferedStream, new NoopSpectralConverter(), cancellationToken: default); decoder.ParseStream(bufferedStream, scanDecoder, cancellationToken: default); - decoder.Dispose(); } // We want to test only stream parsing and scan decoding, we don't need to convert spectral data to actual pixels diff --git a/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs index 35113f14f..3833b419c 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs @@ -50,7 +50,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg // Calculating data from ImageSharp byte[] sourceBytes = TestFile.Create(provider.SourceFileOrDescription).Bytes; - var decoder = new JpegDecoderCore(Configuration.Default, new JpegDecoder()); + using var decoder = new JpegDecoderCore(Configuration.Default, new JpegDecoder()); using var ms = new MemoryStream(sourceBytes); using var bufferedStream = new BufferedReadStream(Configuration.Default, ms); @@ -79,7 +79,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg // Calculating data from ImageSharp byte[] sourceBytes = TestFile.Create(provider.SourceFileOrDescription).Bytes; - var decoder = new JpegDecoderCore(Configuration.Default, new JpegDecoder()); + using var decoder = new JpegDecoderCore(Configuration.Default, new JpegDecoder()); using var ms = new MemoryStream(sourceBytes); using var bufferedStream = new BufferedReadStream(Configuration.Default, ms); diff --git a/tests/ImageSharp.Tests/Formats/Jpg/SpectralToPixelConversionTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/SpectralToPixelConversionTests.cs index 0071c623c..27240831c 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/SpectralToPixelConversionTests.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/SpectralToPixelConversionTests.cs @@ -45,7 +45,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg // Decoding using var converter = new SpectralConverter(Configuration.Default); - var decoder = new JpegDecoderCore(Configuration.Default, new JpegDecoder()); + using var decoder = new JpegDecoderCore(Configuration.Default, new JpegDecoder()); var scanDecoder = new HuffmanScanDecoder(bufferedStream, converter, cancellationToken: default); decoder.ParseStream(bufferedStream, scanDecoder, cancellationToken: default); From fddfee2008bb8c1ce053ff95820ae9a4133b91b3 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Thu, 3 Feb 2022 20:52:49 +1100 Subject: [PATCH 049/244] Update DC-X008-Translation-2019-E.pdf --- .../Exif/DC-X008-Translation-2019-E.pdf | Bin 2456981 -> 2551169 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/DC-X008-Translation-2019-E.pdf b/src/ImageSharp/Metadata/Profiles/Exif/DC-X008-Translation-2019-E.pdf index cd7141fc8ddbb912b2712f2267d974467d4819b1..22a10581689779df868bec8884c68d32c081fb4d 100644 GIT binary patch literal 2551169 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

xSYtWe11Z2M^NKEk5cB{PjA23k z9g*Q5q{6>249x7T%>Tt?VE4YDX+h{{-Cv7i<{o-MHnC<7yl_hQTl&7I>tjbdBi+2iW7!)u7zfoo zvCdAVZsr|U>a8W!rLnRPKkpi_>N&K$yf%uRxb2R)$;A`CMRc|cuXeHpv@ny6<~EMEuG%H)+X{Lc3Kt=NVFer(D?9# zoQ6K#C8W35?pT$au`92CH8{lUV5xSOu8>A*KkU4ac3wKw_^KMJpuXN2#BVF8n26{w z)W)q$S{~v&z`4(KiuoA&2>F=)_M3nB#(jB_Iwo=G)57;OiKU(lz)k~Zw8mw%oeYsK z4P96`+k4bJwjS@-5vZ+Gou#@&d4%!=?fSRPV;vikRms+5J*qvGfa)Mk$Y!WbO1(;c zQ$MCzj9nNfFm~W^c{~0YA+6~r)0S*NRV<({hlvdKZ;K<9i0UNVV6nDL1GZur zQ!H1-%aTo*`b>Ma0UObtKHEpE&;O~Q+AQ5&Q~%(g+tY<+`qb3P+_t0V`;8xC=8@1k z^Psyk!hrMjX3v!Cp7q=unJZhAkEhiR<-4W}2nMj?gN6L>Oz}TCDl9DY|7nN}9RF#E znsgFELW25^#zy%6L0nPL{?CUP8UEp_{A0xb5Lg7wogC$i9fWMH?QCs~ZJhAgq3DEc zt!y0>?eq=h|A4c|={s0E;{T8R9RJc<{u#m9+U9SS<6r2Of6sXlH#Rpl zbHZm}=J+q>3j@P{O!r&g+8Ccs4T?_D*}%!&?r&YfTHo|997gG14K-N<3u8kkC^}Vh zqra$_|96`Ij}UX2YN>{#ia7#~2Lf#&BvM?cjD%da8>~?dC5TMCNVQ$2+V3HxZC|OP z9nL8acu{S!G=fE`c2nK1)2@e=J@R)S=7#oFL}eMs%JSk8ilM4qaidWvfW&k<6BAit z`Y!kno)_`WSo%(<`^?98?9#hr?W1IE5E;>xoV?*cD?XEqqJ=Z_UX_`%f`5H|Uy!m= znS3Jbqz*`#*}1U~uwy=H27=t@+i;2Sgj$?1RQ*bqUw*y3I-_EMxobjqy**&M{loPu zpmg+Myx#iLCT#ZicQnIi(%$YxYG+)P~-B-CrXU8+r zGC5f`x`%ce>s=lwu9a&T?KxOtxe(aQu*q+$Fp79$7?(od4zhoEbz$5}oLcTG$*#FO|% zIWrRICd?fVif_iDY<8$QZ~KAu)pJ!y$Jo zvMo24Lkz2@%j<1kWFVCc?rN*q=P%*o{c!H4vXC&zIy~8JBhA^&C%g0UXRZ08w_efr zd)#iXe<&*G5$3v>M|Sa?hR#(!xhY)hpl^&-HDCYTsqy9E}Mtu>^9Gr>#YXQj}%#zTCI2a;m7bo zaQM>=q9X4+*+{b2%wmFDrXxesM{dWxd*#X%+jpmn?u8pE9;=~5JuwWTQ+sB~#umghxDh?vf~Ir=yo-M@p{j4&G1Uwu&1 zdoPqYjQbbU9eJ~U<_bh2QEAiIT%R8sAq_(;7rlvgRJz|pnb2T8Nul`!b!HS9d=7&a zDHcqpbC^u0Z%m727k+>09nK0n=Z@C&U1_`_<C(1Yuk!To>5Lw+;K7>nd}YmJASxs_;5WAASW>E;>itm}cK#6~VX!tAZ_x+fEuE7TeG=I{3s zc3X*?9)~l^^h50ip(ru!Em4nIFE6j3L#kal&}4fBr%0w0&F1VD0RshVG!sR*BW2JW zFqA4;AFJrvSi7sn3djTl0R?TcUT9b5m--=v=@eLOM%hE?wiJR_MQ&(7%db1o#H+d# zXEvW7oOqU2aMU^MPWHj?vWx*%RoXg^xnyG0RpX%7-|Ypo;IT&SvgdVkIO1r1dc^NW zu2>Ejdr95f&De)*yQRtqeAPIEuaOWL4S`>Zsf`SQ6#D%*e<0LUnC#{mr^DSHUy@qh zW17M3(Uf038FG#bO>6PX7tk zQ9waE3Y`c?*KB2pSM-6g-LUxqs!!R2L}YIYRDGESr@v3ExuTqslS~ z${`YjW;LClf1YI0)-ft5FII^w79Sprq!y>#^_q5{j8|ECu%u;D{-)d|ip_rMx~M>4 zKrsytIa`_G5pH)?G4NcaWbtq)X@rV`M;Q@#YW{L-pf0crPPkO4Ij2rc|6_Zw)*&44 z>JmF{uL7dsH#!OAtHPe)1u5?~FhDvqiwk_hSjVph+Mxr(N6@gXYfbC@CYM%c3QRo7 zScS4%_3a2WycSxK10iq!+?*@Tx4Zfa1?p~GCLZV8x^k4>P*aW;a5R5g{kaERO{U<0 zlOb79#{oxgq}0Ee4nsk*-M{IM_D)2Vo-ZU9cop5AXZ8b5`bOw*NMi>EXMk6PA&7TqyqvDpLsJ$rt2x|uLK0^# zB)0}j%Cr2Cwm|7z&1wQUhVEdEycKbgEwih9@&jlzE0d; z-PLB|fbg7c0I}R&M5RyjD+oP_twp6wcZJDQI^;r;}D1XLRZKs z4|`qVxSXKLHB+L8duszML)(%)pzyL(E~Nm#eCllr_cHx5lhHmrBK&j1lgZTo28V_x zpgE`+ZX2**@wl5c1`UJma)Sq;k&|=!dX@$`a3?9fsJ$ZbI(vWG#culyF9vA6s6Qox zXQ9$>75(c_-_Z3xx3;TL7P$R$;f1{=h4&jU;ZJlD_JveoXx@_WXj;G4asO$dJJ*1ffc>n_2D**BkK$G=Xqv0~gl^rEli zO`a2n)e0RDUH&~lDYvoL%QjTlivOwQvQvvxe)0ymIbf8~NX&={|7S`?X8<7uT>w zCQ77tz@mYcl-qu;sv2Cp9SfG*4A_El5k{{K+bun1fC)j;HEo;d$k!&`km6JjpRF?}E)*>MNOc+dj#Uf0T z7D8|>Qa+#TD5t<#w3Kr~%#;Ube*DWUipb+(Hr*8cQAG#i#l-=Rv;NQ)!2*TpY4`djQfBUQt3X=cK_%!u0yNm2CKt-VjQ|1v$ zLcd0-gN2`xPN+CVSe-M5(JA1y$~((#BNye-yF)A5iw>PD5oV^7(ylS4(p!pVXPB>+ zsF%oT)G_ofs%Rh=`OZv#MZ(?2)67w8y3B9>Y(KQ`biHIb+FHxnnIVzf?Qq3?r9I>~ zqCia#I`awnlebm40Qf|lOWfzGz&YzVE2a#5_hm)(xumDZw(}72T*}_3dB*)b3LvsB zvFF50@|uG-#fWC(a%A5H;Lg;qj~i^2EjXTp$t1B@E7w`3Bq^O37hW4+-MM3Z$INoo z7)U*cq!L65QzhXaraMQwCDNUFXj`G?+_=h-%axrQ7^eHhs?mhiGPcEoM8ln*zL~N9 zY{x{mJ8qiGWwB{H+hQ^_S#1gJ4+W+(>(w^xz6)t%Hsj3%6@r-wy;TG;eho}?9w*59!ysO7UGo+ z@o^AfusD?mu?yX*Pd6hnwp|O(tZsnuqJB zg61YrUg%A*>DvBwrRAc~wpYn(jU&2*An7i6DIT+Ubw~ev^v@e+q>s*uA>r?7D1^@r zj2I8cu0Ju7|E?|m+BI0vzCFViCDyaTv|Zq?$51`YPoe^$4nD4DR!|gdAL)TP?&n{W z?ltLi2}gBYaDU~ZB&!o19faAXs-LPxNJ4FUrjj|%Gf^%OQ-1=PYUg?NbTU-Il^?08i@-3zOS)iAaa&5VnPZht$-qIj%ug0iyv>ObIb)N;?YW+; zG(bTvIp!PG>@FdyVJ$B#QRA{-=K78HmD;qXj@7IAG|Zg0SfiXTsY{UFTZIWFc^xLd zQdnp=bp8%D)E2a)3%-iW|180DYVr2RZr zC|2mTLxgkfN0ZHAZLW@eY!Tt`D?&7}11%GzzP5{Go}Zjk9|T@~u=apDP9-IKmKAhr zw`v0Z$^c>^y*nCL_G{izh|51_L$qjK`Exwy;8Z#ltKzEI+F@(63^*o!iIg(9^=I$_-cXYuXGQi-e3Xf=K;jXZErDomE+JA! z_XpnJTECbsqx{6*7@9xUM){E8{Lq)5!9L#SP!s9M`6Qy|Db?P)Tj(BlNl?u(SD9gT zwoVVgr^1UIJG09Vj~HHXUshgew?JN2kb1gzVsqWtQF;*7$GdP6yUK_pBUxC=l3y|l zh_?H9SY9^*(v)1>n}x-!&KQT~!mHN~wDf!ER`zSWk6R2D=eG8I8oWxKhPeKoxw2Mr zRpSq`4TH5V@|#3U5vFC%+nYLF)S!-0qT>{fI$d4{jpR$mTAGdZJVG{KAL=lryZrR3 z=>&v@CW=g#X>|Yj#)39jguZ>x&o_8MFkyv!UvT*OhnWgJ=`!Ej$;(C$=3Z_5;S44i+0# zQhN3!`$O<9A74+aD4kBnV!WSqzeBdbuFJ@-P$;nhQV`$&*gdwYdbv13fk z`QyRE(cZ#a>u4rhX-5a0?}Tkv`4TCIu}n1^MOQ`Y^}NF}r}gMfDg4fN>*vEtR~By$ z-OEhu$qC=l;|1sI+vnTfnV0+PJ+bZ1c9$>N#tMx@0_RwQG4ewC(VNc)x$MT-Rw(gE zBr%O+SSL32*Wlbq>Q!ahpeyMvMR|CKxlQrdUF$Di8*OO4njRIWqzyWHN1WP;dSi&b z1Lt&3i|8RyBjs1fHfzrMZI&taCUwv%9@x7A3Zg)dmJ9I2(F|vx^#-`^Dn-kieF-vZ z%|bAUUKQy2Y?uZq7n@2LVu(>ip0=p+B*yt;h-}~`%Q_3%ly(hwM zu`DfE{l=j+!|eLzBIx(T{s!uIA+cMmz#8V)LSMQ{yNUXd`pZA88faRl0FWPxxYBvY zZu%p8&Ou%=(?u5&57FGYgo+UCG_6EV5K(o8AjI$^SNR{OkxPCk27X2QPK6V&VwdcN zVBnmbsTpR;s3k_ouupljpf#xH1$Vua!cVgrnZZ2zjJs#&t%YLJ1C*9Xs03Zh#zeQM zmimko` zc=+PKXkc_0(A9F%odu9V!({cqRI1dsdj7Js}Qta5!; zecon(_a-qO8GWHl;BtF-5xG7GBNtok!AjX(Gg<`pKFH4Ok9tJyzapw}jC*mwiAET1vzh1_TP~(4yiSC? zMYUCfZIK=iX{YQNNh?kv(?Z33k{J+*N%m1Zar6e93BMz9L z2j1X)Pz?l;yBl;zFyKs?x)<5wLYo!P=D$ zi;`8h$mvVF=ctH!%ZPiwqN!0t&xovUx;@8^n4~jGExTNM10~g>0JX_#q2-KgS+F7H zghD2oPRm8+>+y&+y~EY2tsbN#Hc;etaYUW9rBj0vKJXz;Y(FHwKNg(5T;?Opb01M2 zLK}>cxnCZo5I=Ids8g*w$T^x$nnr4=fCi;0)2mK1?#a=YGjovY%w$9k8vfkQw6pA` zpK5Z)11p=P-W+=StNhT~TBPQ8&jh7=#5DIw>y2WNaLsOb*zVnI%s$sZm|m(DKS`a9 zU;#&8J{S(&9k6ER!Z!ykg;OM5m*j(MegRh0gALOF@xyAL+TW<3?kC91-!>j_YUEH- z^ZhIhX(Bjmjq1z5Z%%HTAPfqHpdxZ+ck1aruH7ba1BKrjFRs|@}B zPIvzZ=O5j%v2*;F?*7+|d4~UB%>VZ_GfPP(7D)o8>!tP<(z$l=w|9pmW;8P-KD!@S zaWPL6yHVmKJyimK31Y{OPi|$RA8H?1o&eWR;Ik>Ra{i&XVOPWR<;Y6F>2Ap2>M>Q)s9M28_m3x14og`wK=YZJx} zlmo=-TS9RR(B|g>S>kMx6uN-40OZK6kBAbQhK8|fz>UR|d$+?}MkDNN=sLk(2cjO_ z29)?$`7xf4Q3R+pkBdx}{UX3_Wl&jz!jyV@YAV`J9uMqWSbD&1%7WRXna$uQTL`3? z?_s?dsWBNzkT+!PAGSQ8vj&xm)Q|wY%eF)_Qc(WYxU8xY!Gkrs z`#1a2@-!+nrt-mBfxhTpIwL#c0x>l)Wjinj=M;c&+c|t-v4Q_S@ltres8?{3I#92H zo0l?hjE6qDNK%Bg4ZhWr{ERruJCrB}Drg{P-a4uxq{DLpqJ z1P_gy%r*Kl?vM|#_M1u-?Cb{jS)qX%^Kz{39E2a3%TM~4&@Ir~K;*cR`AM(otqBpM9&DX;vKt znOa3!t@O+9)C!az=K=$N7;0lBU3#by>j$zc%fjUMA%${X+HKZdVz+mw zG!HUR%w=Zn-vg>a*fEdVVs{HPu*Mp4}0(YU2B(Z zjb_KTZQHhO?%1|%J3F>*+fH`uWXHChoA>>0-Kx`0-S3<~pxXLzwe_^so;l_iz4y__ zoD0i_U@uKroTVc?s5B})aHsW)v5m(bY+36kvL9}hmL5wFMMcZnbo02~2A^x8(=D+p z23$oR@?h?8i+8eI6=6%0+`hbeV z^}pNc|L`tw&@=sWr~jj2{8vx+|BjCTyK|v2QAP@g0Y2pF1;tSsHto<8i5#TkB2Tbr z&M&}?d{>|jrDCS%%BaJPYGrpVn-PhW`)ZPFEX68wmBrH#68U+5)*?*Sa1L`R_8e5z zDpjKB-b>yu)ty8&_671!NB)dCboZ~C&qv6 z^Z#Ghmht~|-TyUVKYE?9jQI1Vw3KBCP3Qjtq4&mG_5Ik@?$q^nMLX$2$8(r zS(2q?X%NS$H?nzJ^&G9(Ru(E@X8W;7QZ~M_DDOc)-vgPE{R$NIPb5(NZ4Sn3zG^Ux z)3Gh8=e#ZX^D$>7-&A)MNGX?oM5=;-lO}PA{%74)t$qm)*J(0jJ4tbG{oCZi%HTv4 z=@|XqzUDm}Sblv~CSPnxSDBY(i?XOnIluCdy}g3F%RLNW zb`B1n0saIE_@n?U_n^U;z?A7Jd2oX|pqUr|+w3&B`N{X>u2cqN58=Mb%FtjlP4gE% z{h~ul2j(vtXx;dp;+useh>IVT`}(ev&Z6+r5NM=BU@MSog6SFTo?rrK&A zw57G>+VS8JU$>Fi+cnb8+r~h1ln#${3W6BPm5x9!x=A;>Nhi8&Hsi`fSdnU&F{1^s z@z)u45$s&mW9y3%f5kEioI6#)0PJ&2g&hP6xir8X=?EXy@{T&8>6KM8-W(darHGgLO@BFz@Ny-w7 z0lxc8ZPNa5yH2!bQ4pN@3|moL;zkh298Ln$BE?ART=3JU=-1j>92oKHK>l*e9gk?c z8Yc7eQUgkuY%7ZYRP-xgAm`~~r455`BRL_`WAXYv0O~PRPh<*kf&z4StL~0ax>!-->$`1dZ*VxtH6)Jqy z3YDg4Uy<)A>-#5R(VmlNt>d3q)Q>H3YN$2Ci!iJAzlgVOq>GCmvrI@~FaSWfaDg{e z-@(DbeFK9K&n?~yY?65^edCzJ9e5THTWSl#ic~}v<%yTljctW?=jDTY)h1O4UEHm& zgNWfw7aFOb{W~WNP?3=o*c6ns8BttqaHqG{7E0U*GjP)Ho?5vQuBI!ev)j3+pSxOu zHAlj^IVVWFO_NtM#Jve_GbPYkA-EPq<@RSwN?HeqkY<5f@QmLG;ocGS0MfQZ{+-F~ z?{)k;3>g1EXAvXg|C)+1{&y<&S2Ee4hyP9{le5XS%Q^Oh1cmkI{*uZ?Sm8qJK*mZg zRNzhx{4Y;gby-&Bs02-?#@438S6%Met5C-gd&Q|!DUgR!@&FSr9fA@S(A+<4k|^`s z0fDAa8xy*L^XO@;wdEB{h6Eh7yo_?#TjrR?x|pG5-DzmfTIuVJYWEr|=gWd0<1Irq ztYfaONBw+lwooIB+3C8`g!e7!szS!iH7sG)n_Jzq>w^y=op-A}G&<>wPkP;Hv{8LW zXx_%97T{7!7i%vu&Pp*V#q(lsz^a>|&!wWS=zrGpn%cG%m$Q9@I9xwEw`b+^EY$#M zwSWVv9V?>TvVW>^CEUl$W)N07W@o@<5df|DiO7IE;AEsP51znwK&>}0JYN~G7))m z;BOAmq0CVUg5r~?KnA}-H;3p64?K1uEY4>xsI2zjO{u-bl02O zHM2MvRerY>jEMi@NeJ|DTtBD_xrI z{J7`Lj5N~^ub%EQe5|OQT?0F%=ny}UpE^1)6zD3@ah8&@WO&MUdfM_!{PUkRo#zv? zPDA&$26=$$NJ(5u7;oc0sj4U(0lmOytnk^)(UnQ$e8`3w=>{!G9m%pUjdg5(E4gh? zVDWvB`!ee?Wv$sk)evSA+1#6ZrCb-(Gwc|$@lV;+Fg_9X(HYweHD(yK$GIc>vL^si zPz~X>krxTFVK<2lkF}J*AeV=2Cb{M(BumOSA~u@<8SX&hI8W1Kyf&6m;S>sI1&lsxv7Y65=p+Ryv6b53sV`lp!Z_(PH4Cu{&I2Jf zAP;nMQiPnN-Zv^RcrWEpoDR`MbuwlSMB0^c&S413>tT!_DV7DV&oa?Hke~rqt|_FV z1i7%trntrll`&u(r>hz&$({f(;E$-~o^j#AM|XI(XjNl>%+g(?ar~ypk3eXNp#TEs zE)aS9A^dxFTPm8~ckH<=au&ab0+T(m#z^;5RK&-CU{LWz@a$NB&LmKwLjPHu-#lR* z`V*2K0ErwW?cas$KR`PR2jgE~|CN>*nf?{n30OH9JJ{$ueOn}jja|$QjTOZN{|6|~ z^beCIKGT13B4;MMD=WF8j`-S+Wyk%h9WaE^@~Z`nW3keY#{pIVmjM5PC@8)HA|MQc zEFv6K{)=(R+DTMSB#XA%unKm``*aTIf&TQEy%BXeCJT*SEKAn3c>W6S>WSmY_3CQ# zy9=9j2arovRNk~m4+Rjtl>1vUY6ukt*`N>t00@*n0N!Azv;&5exCMzE_SD2LwC~e z?tXZ9;I$~)7*U>Kd(DCE;lJwqJ>s;HajR!P&X`s=?w58-T2o!ldRnKMC0#uj#D}x1 zi}QTv?q*6ck>pW?8ap~rB3-4jbFoCZ0P5U?s$}`4gyd_yBFD_P+}dhb^P^@3td{l` z;I;({;9w3wu@UBv|JFUtuLLm0YnDGdTkjjcAzq)9c6jFtRIAb>6O9h^916N^e16|+ z00QO$l5YQ?(u2$N=Yj|Hg$L{xU=9Nt!^he81FS_J72ucw;3);8$;EN<$F0S+0vyoe zLI>*T^Ra`E3XJW8xE8a+^@6DO*V03j4h+=;q?v&%1v?E5$-|kkIewZ^I0kltZ3p%Skr9B)y~<6Y2b|Z(wF2wt z>#jwQ@mJc$c7v!4u-qnXMbZI->nphCeWv#UB-;tSrUrz^>=(mEARrVa7Uxt9 zOCshFE$F56y~4+jgr4(hL|2XK8x9iav>5rt9`70&+Gw` zC1^Uc3=GORdJ|nzq zuxb!!aBom*uwzgIG2BSxmQW;aPJ%JPe?eqTa82wr$|;Rm#zVF^9%uA(AJ~CFL+TPA zF5xMTk3^UB4^dBkEqQeky(FiIfO+A)!Z7&=IU2=$lA1EB3V(F&p*&UT#R9>p&nd>K z^(hi&^r0|Rk@4I@<3S_A+Lc+(e6bnbF?KtdwjfbsAck$apcO06--A;SEzT4caG3*tNktqq%7GH&@{!gHf_K2p=7JWCFCXg z6SQl(*gk}tq7Fz+=#$nKu6RX^!DsjjG2TwcP0>5058fC47w1<|aF$3^ z@SH*PkWb_U>Tham>H?Zy$(zYw)HNF2js2CoRg_h%>d{)8b)r=~RZLZ9RV^Ahbv{M| z4G=By>rU&~jcw*o>mF++tE}rjdY*kQOVeAlv$CcwLzhXLM4sK=jo!f@ejg=|aM-P| z@vs)5KSF0sI@*s$CX z+pO_`=NZKPg{#HWeILXV$UVU$#!ctZr_-lnQB$Rp(h0GZx21WdaD^qhv7-#{KAgLvz2m?YZ>Sq#LLE>rd(*8U(Q<>Qi_eB=4iE6S^n7n;y(waB*-m zD0aka>s+;5Mmw$ToWNEAbAgHgSFe!0~QBMN4L2mnyR<(C`asp=7 zMwU!eakI}L37}QuW zTVR`=o{c!pntd|hHlQ?k9O907h+G`;L4K1)B-J40zzrQF8Fn6#8Fbur+zZ|7k+qYQ zCpni%m4KGClI6}87MGM*i*pjPAp0fdDrK4=l#oJ_Bb!%ZR03V%m3W#~F2|D$T0&A{ zE#1*ITlSnXHI`%9?%D_bANPI`9kzbiy*|55CzI)EID(7h6`08MD z(0+vJD0j$k7jf%y#4`~)arHar=YEITYW^L_63A%)QE*{@XMa|3L*yQsttPiNvhsq8 zlXtkD#6W_hR8@*9%|~IX1~nD0vLN{w-Kx@UAhk9tWyW_1cB^p`rHryo;8EtI07Za} zgB$nU>SzdS_^x`Z1X&cE3b-r3=)Dj%3G-BbHWQW^cn&p;-;cvl`BskCaOM(NN-~Qz zVOtkHIyHGa3q6ozrBq9?X&|XKl$nU;^24&Z(tWe) z_%nZ`#+!uQwMEFNhd*PMi)v~Y&T?gQ1@4lN6$mAUGI6H zY2RMIZvXm#`oO}V!r=6f)X?a#=qPS;%Vg6O%T&`e z>vZ#Pw%@HY95d~++_T+td~<#C!t=um5(^WHvWv4zDoZQNKbN;xj8=|UtyXW=T-M&! z{Wd^0A~xYSlee(9^8Zl$so7@T?%EOFncP*{UEed@JKJ~Me?JI1ggHz;!aFKEW<2gZ z5j~kX)jB;mvpah`54k|N$h;)KY`o&Xn!HxOKDcqX`MQm|!?-KCXTI-$kbl^Ew0?a1 zb}V5$m%gySjJ&G79=*A~gT1GIP<*t1N_}p8S%3W{4?P9lz5N?3`ZsL+8-TK~{d4w> z@gLITzlpx6||1<3TtG)GK&t+ha;W1OvM-Se^lN7LXx;S20 zBNQYX@e2(2{x~J<%0~nur!b2k*vIYS@8Y+DbAsEGE6W$c3UW0b;}Ri6|qZIBkT*!HqG7XoKQ-$Z$ebaY|%mUA=E?k8o;PS}i@R?wx7z zcAGqa;HkRx^mmMOmfc#!r$BM%?5$$UnYud!im8<)wdo#ikzDE+`2=tswen0?+1q3v zykb;m?MjAE6nzmE$5CN%w%VomLpV-uJ$AUPyT@#@%vszNsz?bj^po4vb>mim?E@*n3l;=|ou^ z{4#(!m&^IHf~)%5yJJkW|CO%${Kh>+t|Q5OdZv}%Fx@C(pL>jW40!A$G>T_?pOLH_ zyT-vPyg&-OOuqbD?%ThO#cCMxZ}LR``%4x7W)9NEHl|Ky z4ET%;EX<4?|3%=YmN!>MRzt16w16jT%_C}M1ANr`3Ez%YyP9reRO3-ozEut;fT{+J z#vctOY7~ZGh-}a7@pG7gbof{6bVRBG89Iwy9EIcUUbkz{oA=Yk zn|2>QxFB1eGCT-=MS;*P-E#VaWFl_b>WfCOF3)5fNFO{2IEwk|kmFRp&`vhKmtx)> z*DWO35uS8+Kd}A~xB$Iu4!5C?&duD-I*9&(N0zJH*wnZ?>!Dx%-a2Qq+$>Z`$9_$K z{HoN5ztZi|^qF(L>{V4GM97V|39^wXME6#@o|)`YovzPPXa9|U{`Wy#^-f*xCaOL* zo-SeyF)5G%WtFvh(;IDVAjScy`#0HinOR!ueCuoZd-&c*(wjcqHuHtCwu{Qj%#f(E?IZ8Lh=dP_3&iiS-*per;Gn^0q#ZhCwoSF z@QSUx`K0SD=mzrceSmad>>I*I-^@ z=0uRrD%~S?4dEL2&QgPh4-6p~gqfif3{lsK|HP+7RSTmUvfedLY>{A1lVqeGsS>I>`{rNS2Y;Hq$xo)yvoaW%!kx_XR}{>IQlbeGPF9 zbq!|*-inP5|4eJ9Jrk+l75V~8Rhvq!O@k`+eE?FvdM(KSLE$B@S0&Y)zFJfu97u(DbwQb$tfX-GH7IxI3g+u9@x zXPThoV#3wqjO)tl!t2^R>>7TBn}g)b`YHO3lQR2|H*w%`>2dPt@YW929@?(*Hp^F8r`wv&C^GfrzI#KK&9{4KN}2_#)*$M^B+#FBPwt zl!Q+rQIqWp+t$M^j!QH$YF{rUo6K~8?VippluhzGK4tX4;n#a`r_2`3 zRU+KD*uL+$>4D{~^GmUpm=AT!c+EkJ0~UP%Z7v)-pr}7QJm@(-BD)_{p&xTDARv1x z0HXkFDs-{G7d;kopt~M|I^?(ji29H6KGN^=t65fnVEu`|is& z(E5jJk&_3S?0`0)UHf^i$=}hqVSo2aT|>SjZ27V6Xg>q+`qNx~NpCMg=X)eDv>e->LQHdE?SdL{u$ zRyin^snJp_C;3v*jQ^JGpe)z1U~5WQ(|S+~T!^ zAaV}ZELJV8SfFgu+$^tB6z91YiTX+hqDNeg6=&5W^{iXjz~WGzHm4>ND)z(vakZ^xF82P+^;;j zS<_NTYhkS!*haJqF|b*EC+sZYqZyC|KiYz`W777}?@K3VvF@=>2Yvf_Tj4H4!M63d z0mXLB&WFRdv?8l*|9WQXgtZ;ix^a0&*^2BL61!&j z87a5N^i27Q@MmP|8N(+=>jrBhgexrEiHJwsb}r>PUciVQf!~%VP#jsoyhqjoCWIEyqBwVZ23r^J@1n7kZ+HW9@a> zm2_Bx0qW?HdUcai2^a=@8mtq>AeE_8rjhCxT0=|q4^}{L0oEp3D|{=o%{hy;MCa%g z#$*~eTobhQQs8`A}? ziDY-ouxlnok6~XDc6jj6uMK(w-(*uwg>AkDeqW118_G5@9ca-XU`fw z{%qHHZbUsp8PDFIaeRj~?;O4_z5(07yoGlF0PF+rn3@se^$V%xRMn+LG0hl~+L26Q zS03L6+b31NGpKN zA?Dw&53-{#yO!=8j)@=$(SjX1CID$0njLD||87Sx6-sR&cH5>E?J_iU2SFXW$B%5s z{F#Ltj;^2TnzR!Pub1qaf-;t}fbtkb8Hl8SvlQ3D4>OPSdoSd(mg0CI6%|aEVx0yv z%KIjT*TV}#Lm0)0t(vi81`p?ln?a`gALhE7A!r69=Y0degFLTB&?>QvS=2_D3;vE7 z+(tMYK{0uTS48jN=>n)@L`o69-1TE#kErb2uRVuW!0M=+5f(e^%&4<%k7tz)^pb7W zXO<1rp5U*jj%`;v*9|Ds?QS>vkW@W?BJ4dYZV0))`5UWuxK3bSKefMh7Tb30wM!=w z+Ah#DJZ=BTHOJ3@njOWTAy>OO;@{m*2|{NHqy)*egqT986H$*i=(!YVd<|d(0puGa zVhpL`gf^oe8lt?!FGet{vXJ5gt75Q;1`e5-1V>{e4!^!rI5FHP(QOhp6eSphz(cOA zJfAp3Iv7ph!gkZPoWNVI<8?}|E{mv__negD>+0p2wT85T9zW0f4%yb1HKZrSyDr?qgCnNQ|K*t{PH%5!0y zoFOqKO2*!OEJ!RwhfomfiOma7)GfIr0Rnq_4-!qSVLQeN~_e(QB`_) z_0Cp6>yyn5S?9Xv09>On^^xDPGVo8HMPx9jW?fHbad_R#j87+a#!UAMz@`F{qfGEGZ^{8@rmaXoN{gX z&ibYCu1XwsB;u?f^)A~<{fU1X{+gd>MwuR|N+{Eac9NfXOyLpv!=RQw0FpLorav;z zAPAjgI2>a4%Ah=z05wd+piP}ZHQd>tV1=+bJS$%w8y;*(-(J{@LN>Bt7we{~mDVOg zYd71CJbU!EK0!Ke(TGMvi*&5L-rtHmV=TG8NjgQ_$aPiDWQ^aTtT1u)R+~dHCf@J> zm_ubc!O!PlI%>A5J#bH`Z}q2)ey_U8T~XnF}3*A z&`%*>u#p3XJK@*TZnT}~pKR~E)G!nM>pNflZ{?lkxs+u`$|x!_B;~{^a*JxwDp0@5 z*GikqyCl_cR9qL;V3ai|l|`df_ZEd&BxF?P7o}OmXyn@{b*q%HRPxqJA{G>!MYR>x z7F|!ko6i!kN4&32mUCt+2^u!`V`c^2d!yWLwmF|;FUN7@KK<%iBHY3nR6gufbpMA(#K zofUJcl$^M<2l^1Tiv%>?xg14-CH8%*zy(3Ta0fe_5n$$Pnl6ghUG3nf_bdiUxI-~nrgnUFe96E z;GPLcCizDQx=E12aQco(6ow^f8ih%Fnz=~^_FcDzS#s*4N!6-VbB4A_%gZ1(eW-Li z1?$Kph2!*3R<$YD!;m)f@yXc3vMQ^J6-?Gy(sjNy(B``D^0T(o94OP0b-~pfI#uia z9se^X8hY_6ORH8~b1@C`=T=xq5Ry8Y#o}0<5T#wZs zv%HP57ferBYGWj=nzXYdZANO#EOyb_Ow0XE&Nx5GmggVrKYkWt?E{Yd+^@W&U5~aa z*kFHRW1F9HzT1FonLFr^v58zifNc$|9>sAU*<8NNr?Ow(kh=`0JED3W?=G)7w0srL zIX`dauoWzd&W%dAI5l^i_d(MfO(all=Q;;vKSQ)%JnQ%b)K4?Y-nP z_iF?1uH=Kmw@>%s&l}^H)KA)KWVLY1VY;Dkdxs5j8^o3ngs#d8DE?juH z7>UU}^5&ZvH#crdT(llExtOEjyIqi*T{n$PtfQfqn>9D@PKqtes|a5baM^7yY9s&v ztnk6wnDFqRx)@y>4i|MX1cH&#cszqR!{?r(r>(1}Zry#GpJ^r((Nr#l^nr1i945xh z7*UqtBo4xf&XY0T**JBZbv$)=1}}9v2EldtD@7|^D}n0v=l193=NRNrBK(a^!SK+5z0p8=#n;pOrD00~kd4*i_2Ax42G z`Y3CE7zNVcgIR%b^|@|)+QIMp3)-P(f~obg*dc9zKK0>!(^5c5ee6mAsy;V$6xBe8 zTGmRSvjO52WY*9seXVECbMQocv=x-^yR3Hr*wJBwiMG+%5oG=6@q?ft(fh%t1Mc)V ze*%8}Q0t}J)@%hi?BDzgT~CJc_089U>jZs;EN@%8;qm%^385$$E2At5(-pM;U1JND z<*^oiI16ga!!2Mvhyl&OGh;^!7tEkDqZZ{;m|;c`gj3%h6ETBL2|>*WHUb;xqL4#X ziDJ#Dk%L_bzReOiLF0&#%}6+bW(lFq7&`%NiumS_lme&pq1bbOLRI@C+0pz2>j}^u zindeQ0Bjkywg-DBy$pQY6L15^jV;+`hNd4zmU<`14maIvW5=Nz!f*qb?ytB3?L;}+ zy>KJ@#Kr6XMyFobIlW}|KWO`pZs?x*o=Lj{Bkd_Dq_W9S#7Pk4EaHT3Db2+{CDRjC z3yDso+v9bN;3Wu%M%5X!rHN932jjvfN$(^$HG~<*Oo<~aNp%yVjgZC&)<~nXE7bGg2SW2g zpM*sPo(MSTJL+rKGpwaqLBWQ&4S3I`Cx`s2kZ1H=7bStVmJEvl!B- zTP|fg>wjoKVhwK@7OcEc|B^9M!Z1lYD0c1hvU8#*WOoRn0jh}}DIGu8=KJA&v$t(iEx3+ZIA9oD)r z+WO^sWP82UNryM8^bF1$A$K^>zMn*O`68V?jdlm!ooRZr=!K*EyWs^jd!Xem%ZrY0 zH1^u?T}-DJ>IK8cU-yvhnZ_pv?M|#yI0@xIL_|SE84ZF^p_4E{7-?3q5!G76b5?;k z(k4IUnCLaqpHL(UVQ&zaK|>meUr!(yQ8b7Uv0;e2PM#WdLbzC+wi~`;P&1x}_4}L@ znRAr4A$xnlOw^+x6nmL>N}KTY-E4ByFBCcB%u0N!3CjBRN~*I7()uDRqV);f`W$R( zvC%q471<;uqx4MLy8XFPaUWu|@gYVblkwjNlx+$&@of$*-1u-~c*fn-aU};D?y_5P zuKV6E;>o3qryMFGDoPOL)fTzwrOV1%i#pC~wiN;vtsZj!Z@DZgJAtGuPD(F2EPbI= zGA?7G)bcK3t-x;5_AYrW_j+icR7P7=aTeQD8~U!B<=H3o?U_CTYI7>i&e}?3r=0EG zvUAo>U>|Io8eiH^Gqz{QJkqgCh7ZI%Dq!iBMOoQpre|&61utLi#Fp=t zI`+Qn-AZ?Jn9^qGPQp0Oznfg9fgR?#8)c^}Y7MK_-!x~-)JI!$t#6U8^SadH7=*4f zxO8S&m8_+bBx_h#IlF{p86U01UI=!q&^G0)QFjbiw{%?adJZ101A0#D)GuG)c>detj)Tw%6CX@=qo$r`ZHkF9lGp~HrUg;eU--xTfxhEz@0U3|_N+Ot#7g6Z=wpC;Wa zwinxX)tocemx0gH-*+$Fy*W=Q?9hIxzu%m4-+0HIz((QpF%-1h!C^POqH1|9gij=SrkLTq>*tvVoCHXsyl{NY(3xh zOAbD>_vI%E007>RI&lL<{|HM4ReC+mSt_A^JXe*Z#d45De~<+7mut_{Ti284$kh|N z8dH5jLPkP?Lf$?)CZP*v@EG%An32faM=`Iocjj6OXDVj`r38+gcNV2wmYhoA_q|5} zoVmPa(CL0lxj4swmq1rtq~M)acAf}H~uZ4f zI`l}Nq!YTP_w1Uq+~1j2Tx( zlxeo&m<1SK^v4{zK&1Q+&5$jA5i=Ie$fdjoGo-bE$9y??2+kPU-1%eZ_AuH!yzeRq zqAkQ`k69f&Z!fd~Zo187&$NNqGK^!VmKof!=hMoE8y33D@Jx{zSh8#G#yLH5X9pR& zvWk=XvAf1&=pW^vui~IdKEx1);X1d(HCBB|*d@!D-Hq8P6pS zH5buH4mFX)h=YQ# zVwB4WXH}dRf5?dMB?_B3bc{h!QZ|8UAIl-$OU{R|#SGJ$KV#;wk;GbNeNNf~?n1c1 zjO`WwLf~!g(+L1aI&@y)yXZ^h6#ky^ot1Ec^!Ar6ad$$^64K4PI{_RoD@^B1p8?bq z|5Io?``|>hDcv#$XU^~ugj*PTqVN~#E;+$?h3Vq2IF`Fd^9cOxv#8ai&SKGXtxK+C znfU&1-j!Hq)33Gu-z;&!L7g^Z{C34E`S)SH`!`eoBuz7(P$$qDQ>|n9W;?j+qs{df zR$y;QIQm8B$W(?0l>yqu%d0dxiOYv4oxHY_SKF>Phn*<416;SB?rd8be1l-OeO~Bz zePVaMw>R9Oa=S_|(7YK(cgUgK+X>f zM^Wg)Q$)TWiwa5E8rL6Ak}uv#!x}ba(DBTFj_f%|wj0MzF&%z2C~{L!irN$Y75*nM zUBF|8d=xw#SSGOfo8KGGu(a|$Th0(2W86dFLV|(@1|szB^&#~=Z?EbZ&{K@U6oa_; zRqENqLE7a4;ZZ|ufqMqSg?{vp^egPFT%TO0(UWB&%R=eG9tGVEEDOQU$p>>r4FuSU zv@-rgu>o%h>gW&LiLWK*#?1!*!tz1W0jKJh(pPcg=*0X){Uop)<@~0v)ET42^}(6c zjtAf4C7C352Y?X7$HrQ z4wi2#sS^)wJ1gV(Mk{WM--Q<)xQ)C>NjRa#nyT%l)dtRfsK*x2W_`JShFi zB6CotVG)yFQ=3mIuSjB1rkST&-m)Otq+zXuSH4-Ujw2tsfZ#0cT{d0H_)t|Y|Last zrOHOcT%oE|R+-NNoh9ZnW=%9rL3M!(6B#C4RM@b;afZ;ph~DQ?936 zcV0bo?N}J?xad`;OS5Ly@`3fEd#ft)q2$%?^QUhf+?ip!a?YIbYbI|El~Ymm9N*c* zYq|szi;T9??+p{o48DxR;v#e7wNz=x*b_a@G@C<#`GI@J)#4rueOxxVjH4-|yMQzk zlMHuIObfsQX#>;@W0PPFbJes(ljv2GEw+wH)8aud^Kt36HZ$5Z3&*LSY;4vr88&C@ zqRna6#_Q{{&5>Py9_ziWbh#E{>XFWStgExkkJf@wHLZfb$)$1g%;!jT-PMY-OV{SN z9ua%-!*c<*rRXt<$8zGr-E-{I%(uB`<&SoH#fe2ndv$illyNJUw&U`UaT{)Ri{}E2 z^T37~+jO)m(uU)uJKO4%ljBAOEc@a2@s!Syn~E*{C~Yd2)=$~%+s$n_)hjp-B$usR z2jd$YYCGkdDy{>YQI;dV5m+NrdrS7~&s*$Nm$+X%mpG;)a3dePKW_MT32qE;Qr)b$ zd9%^w!b^tTZ_e5Ibl^)2k|t$zSJPLOD(CT>^plA$%y)qL+JJ+vRo1XfO`_UTZBm@ zMFkiXLqQe6B(*Od12m*1+jF|>>3JG$`&AD@sKAL~UYd$U*Zq>`DBJU7z*&PvH@qm4 zz~XuI$)H=UfrNf)bP!nN_3`U1Q65n?f6R_CfH;9TL7IC|3XnJjT$p%%3|f&NHNl`h zjGFXdU;CE##m`H4DKR<-F@uxfh?3gt=<<>nSKkje@}r^wFj zoKh+(#h4aF?Lt+Gt`&=?`VV266-#9gr{)h49%5Z3tYxtaBNi2F#V&JtYmwcOLgwf& zB?!#vuq8w%|Eqq{{-=QtYUXbV-G$Tp>(=7kzVmS&L}v$OM; zPiQ<+SZ8(3s6MiIOK>Wo&ZY&`b(dm;>j|g>R#(JX(>c;2i)x{hr+`CNj98Oqt@yZlVe2qeN2Y5hD*d$$*;cJxLRsof9{oOsH8r@- zW~9?K8Z5LMw=_#ptD|QSnNtpDJJWS17IR506Pq+NyH!hR79yGuFJLZctkaeXHSe5TDA*JG}SE{`Uiikz9V2c^H1F(2)o3bxa!SHmuu zs~Iks$k|PFv-j07MuRAJ!^U_$cIcEHrgzcgcvJ9UBg67|TWWgAXhy>_1)EAXR;k^1>2>yI~RHN`=U6 z4C6*j>jBo@)*n`ZRtU{C)<*@_vkf6>Au5BZ27-qD=K_zkk2;U)Z@?XTIc7OlIo7`O z)hka!oCazmOT*108M}LXJU5?i&eBqX!hn+M@pcTeNv+g3)dT0pyJ3z|4wH`5c2+LR zTo%~QF^Mr5(|Oa&nJ?1@N3f>9?y!zvjuH#E3pWa7B-Rra3Zbf3tAndasvoL3mwD70 z&cZ7OtQ}%q$l8=P=QkTRFUEip2NHDgw78p{&Rq?CZ-dFL?wQ{saZgKR-l!&pIjAv|-=#LdzaxDMAw-9u;JsE8U4%cXfUexwDb<(OQKo&HjZ zTa3p^#~B4(UF7g|Om|pwtZJ)kV{y;!G;}w;r9EPa#bf6+cn`lxA$7`<2bIpHI)>{P zAg=XCr^jaZ$8z(7GxF!A|AFt<=R^-S2^7gs;f6&GM)i&NP^|#9egLftpsav&1Az4r z*dZ?jem9rR09pi?+yHz)tG3%_WYF>7CD5s(5D|lw31mi*Z-cz_yXA?Ip^EwuceM4Z zYGtn->NDQ=DyRM! z5dvVy1S}ayvxB7$g3?2v_K)1rs>QDMtJv0jCin@5QaX@z&D09!0|D1ZbWP3;D%U@M zP5s^I0k!SB+WCF0wgRe4h;$m@k>6d4cN$9=53@Q8jvOjlz%Ux@B`%yeqs)vmCG05w zBRv!~Pq7i0MrdLdvJuhSk5>R&C6}@h4M&va7@aeiHdpEx@>?Xz?V z=$Xzw){Xx!ne=xA+92pn@w2=Yg05trB3xPQeK|9Ky@ZQ-<9^bHVn|S-#2mDFauOYi z3hkobgG!la@tF;J%GR zDz|V%inC@4ez(*(OC-kLoh`Z4bc>88Hx`6?C)|xPJNWMA zXD4*ecQ;KYRS!mO*LSzejgL3X(jJF5MsCmc#@!1-cZltp#|w{d$hy^V7Z11(%q`3m z5I}FQa=?%^6n$j1fFVDW+0@qgWM}=))7PKZp05_y%ERcl!1%yQz0CAT zlRxfyL-i28$KZQ0YZ0t|r0J230XAgX<-_2Ihvi+tG0Qf!aS&3!dEDQH#tQaBxjg9#me?B5#NsnVz>)N^=_4p39CL z>ro)QfCeMxD{6=!3@Bj~CxrBOC<;2x044>X=Eo{vYWk}dIGZu81wZEgR$%1}xSgSJ zg8hKf7EX~zXpfeh1yT;t$xZnt&fmkNoUObzL0Y>mtz@!;KsWH*m_n0vL$Goqj@Mq9 z5%V{cov5~h8P}+p{w;f(ZgkUqp*ISdp>jK3UZ`l>zI#&7oV5KU&%Cq)u{TQZ*geBN z3FC#JWg@5Xf8t3CDa>U*`PbrUiDT}GuM&KW;4wrJM%e|!@FV_`YKg~;a3u&LM-l52 zDhba9C<pIRc^`O!*zOF|o8K=!*#mI5 z1KcS`caHDeJ-u`{74KR;iD-9Vol$&;bkCNbqRQ~UgjE!j7LZ^>h-Rf5;jO=ktArE6 zriffT`D?hpK`A<|Xv8d`L==iLIDrWHaAcW5yE^%taJxF~QpE2;lR6or2%KF!LM?3g z&_M`$$xIZGeEFYfu7f-`{7I2`Lyk4&%e|2gnjTr5Zr__=ALc>St)P?GHVTaU^hIY| zWDA*YRcpJ*ovPD$%fvRLWnldR=Ni_tO{d#+x?@}Ww%S8Pr_Ob~F5d{g3Asn5cV*wYud=VSo}u6O zPj4e1HShC2d0%*6SYN)MIA5MUlXNL4Mk*Rotlv|-T&oH$zi#SVywo1Q6C65+Ea6yD zf+{D6fNb)eafEc@i9^~?isi8>Mxo2N4&#`2LEQK@M!D=H(*s}Q_;=Z@_@djqcLCmb zxdW<~hVshtGR<$@H-D`h_SAY&`#}+cQUOMRNF_lqf;`WwNTrmt%-kX*z3Q+$c7eyHTkF)Kj zF5K+EgD&%evKEhk+&t3*_lMd?yzIQxw~Q%S^X>mp%_@L9-Fpq~QC{M>MZZ0!C%|M@DU}o!KtCF^y-*RHLC*8Vd2siP=Fc-~uf?*tV6U8zmWEzuZ zV4AdI8u8LYO^=mH*U(=|hcStK$yl{{Or>u4v!7aU*verno8fra*=AIoYIzt!!CG{f z_tMABQZtG5hNZQ+R0m@fWo=|=O|`z{Qfs?z!@33AD0JcJQhA`d+ACYDbm7D`PrB~@ z2$W$lf3DcE@&B-O4&jk-UDpme=&)nkwr$&1$F`GB(lII>J007$ZQHi3ulji>|KK0h zq(eypMhgDZY(>dPTbkbVU zW5EYmF{&!O6~seep%CD&`!okI?0~R|XvhfMOh<>b?1?ipt)?G_W)8yZsU)OX#`p;Z z6-3f=L&(61qYDQUMANgd?d3qzjI$1l|IJj$^P1FShq{fr@;{CHT3Hk6TA{16G~?>b zx6V@uka79gFyt7Gc3fuS*pzd*(~FRCjnqwh>!))Z+t6;BxN!1!|8g1HkkZ(O*0Q+I8uN>qwFAR3*Qq?BIl zJI{2A{Sf9Q_Fc(%o&#wA#)L@ZJX; zmxEgOwEp`h%Qj6l-guyWZAue2K?>ACKVep}DTuyjDu%jLbMhyBO z>m9dea9%h-Up%m@BWMR<=rh=M^+4GSdD;elrl1awn^q|XlNPfq=JoY z(HFZ=GM|Tk5bjVCUXkzsI(nnu+CmN;u(*_Ewvj>_T*Q*qcfGz@Pd=uAwu!p;5}KdzdB%QEozk zO;Etm4lq#EHBfe~-Hv46v$ccg!LSMVmvCY24D%mclKLJeIvOjT4p z7(%tkIW$j?pRxIhn0mimEz~)Zf1JQXyr*f_VD{0;yVxhPeK*bxI?xLqU+Be1$ykgp*K4|q!JkpLqot2Ux5EG#a+p}34i?5VfIZhZ!*K)m?uBOb~?~hO8@G9 zx(j+|WY`zDse4Ce*zLM|YflkCFA#&ci7F;74O3N;oBzQOwwjyep~Z@XMXXYfoGFSi zqj!(&+iw91fuu`mB>DrTKa^NP7KLR1mr3DWW$9^-ru47r43 z;zY$~hi$m@4~GH!E?hE`$*?~wb%~Ql&~9~r{%j(IQ_wnbS3J*wou?*#a`0_EF9pM} z%x&qr+Gc|LKHrNZU&&}Gs+yFV3Y(g(nnHs*o@$bpimTFws=|WAg9`Y(1Dmu_!GdOD z#b8;uRm7|2gxcK#ScB+6*+QwHt+LL%U4sIiqQtzTt8k{O`MjsAmY#aq}IWtJ9Yotq z%nVxC*E4YAeqd%sRElZ<(?DMLgkG3@i>5BMe(D-Cz}e`AB*y|)Yoedr)2y$HKc6Jx z!qv$iuX=H9%ZiFeZXJc0xd+;h@K4#J6JQKTKaT@wC8ckcxS#dC7V}raK2Z6J8%!^` z{OPQ;KjwL@?5v7>Fj46xO`R>w^;}eCFCm}EPfr69)Eqlic5boVOrIlD)_iW_p4oSz z%`6Nw1j{HReBv9+z&K;w#E}{B*;Rv-fWrSxqubJe~BQ#OBL78m{bC}94?c| z^s>U?b@nH@8ahjvmD#gisUhSrcwIMcH8d@R!7p1w z3QCaRZA?lqb3rCb2#y|G2LW1?Bt)8EwqEU>c%zGIrDa|llt$RO-bbS%Mv`-+N0_(Y zAH5vCLOW|a*A72Zu*`zvd(R!TIr;i?p!XOBGGGmUGxTW~LY~8T_X;^M;zCMv({h5E z^_Bb(1mj}8CIQBNgMqQ%W>or6njP(Ce7oQ2JL=8gmx12f?$sc`i29C^2WnPe(T=AF z5_+HYwZ=0}J23sreXKPP%_c;rC^L`UAZAGk?kdEm_z$|m_BlDne5^3h;#wBGqe62) z1T&!$h2BonCIHZL$&Q`tVJd{qX3XkgeM4cU{ai5d#02tKj=`vfo*ZEO;4}tGp0RWh zmxkaSP1aGHx+@%X))9(!T-LFkx;q>Rcz+=Fk=$rz1XJvlU>XO*yKy2;^}l$~f1)z< zj@@W@u<1u~?9qAPYzB4pK{*id2Lg7ofo=rWe{O{GA5|hYDQZi>wAiG5h&XxfIJnu& zc5$!x&YvJy!Xba$M<|&?e*Ovn$($-&h$2Y&M-)ZIELMv&+een4C~}0nHWZh5XhiB3 zwnbW6lBz|@?hg+zc$ArxvtU78A%`=mVd=sa2T|kCFSP!gLyPcaRO>)=i0|WEjAvLn>;Sg{vgT#kg^yw3a)h{-nI>Sk| z2R3BD%zX8O4a?fZV=c+Kgj*b1&Dc40+axe5w4w)e&wErnAbxGZjf@Y&CkaBBu%jw2 z2E_owZhJFvWu$j)lNUz;(mk_qa#ic8RSJWl;KhN$)3Q0C>_SI7*I44Ee*T=gKX2thEo+UCE`fm zZ3-_{J2$C}VP3>5nOvxC zQHGLPbabk4Z~p51QJ`P2bV}z{wh0_y=Dkwr41cgnuf;IcMJB1gcCo72TLVdF~5fNO#Nk9KF@_(z$8U z7Fey^o}$+dVAc^Ur}12i)-By9(b}vl`!^ii&DOYh?q6q!exOf%}3^lrL0V@fk7^@p1cZw`~l2G%o^gL%w=j z%T3p|KCM^VJTH}(mVq3rinF?0|zQL}vksFb&GxLoyBj z+703Xzdj9%5Zw1~olV7%GUI#Sj&AceziQR)ypTW@$p{N(@r!yq z0K*8s9jppy`I58tN^8PaOe5$R;(#%Tx+3O*FxpUKCZ(+C7|lMu6*Xv(2a(W2S1*_4ta1ui2Sk^92E`U?^9>br+k5C@P zJZxtdmq}Td{@(%!Hj~o3>N;g%Si7Vsbry#I59a}&8o_ol<{8SQhy&w>Wy(!7y9MKiB|1Cb2%wW6} zX^Jda-7s!#tZ1CYEt3?XwG^=wIn_^^mp~heHc4zL3W;GRr-+|OS(3lwfSaDEasKf< z`6(%q;5A54mSkPA-uXeign$u$DS{J>m zC_hOO3)JYs8yENuL5>;K*5txDaMpPI!lC2uUJ+(WlJNJm6FJGpYF?S>v&2^UNQmEiRuM1o_}3vI!3JrD!fYhPaRwXffo=IhLjMLI?sEa3bQFk ztDDSwxHh!P%c*me@yu@kec6&vtqJ9+;tcAtFI9ic6wV*q)rN*!f_s8%Wjj@7U5}VP zc|$FH>+(+`O>cCF?%8c~dWZB5{zv@#o4fLkh)V{?Q}=cs0<9`lGZS77cC$1tgprRau2ar)~F{uRgw6{2GAiqBEjbRX)w^awr7ZGh5%<_OcF{ zlZfN?6|6)wv`PIk8=5hn+Wx5c;HwVkz>wI~Jt406=bbb7knmHQsyfSY2bx#q1D z;|yCkI)43kSI2U*C3VYei|?z_w!!E{16EAh^^LkZg>(x^7E0RrjgskA6LZA%4s@dF zg>p0GmI2zo9y{5EaH^u`2CYo$l~yHfe;*dTScx6t^EW4Db~ zR{JCk(bvh)0{6=>G!b~FR0|nL{~5j@A%=#aAO+%4bxo^f^==nR{Sm}rNK&@Bfj^i~ zaD}6mjT8Qwo#)+O0agp#l=5n<&=1Zb7oOC;YOAgfI>(b=kri&mI=heFcoptb`TL5z z0~H=TvUm6RCQW=Z01r(3s}e7gfEy(Ii$32Ji5Ek_y**zql!yP-k#7g!=}~`ku8(iL z&AZtBu5xolq&?pK9$|BH%~R)VHK@Iz=@xx+9lRrzLRhD9^-L5YZb-&r~j%*oBh*yy- z=Zway@>i9@1A}j_|EX<90mnm#{*r1(p~ii!{_LHXD&SaXqpYwrw|vdD%x+OGEf>c% zsB) z!aOwI-;esL$3^{Bk**mB__<5$(vA8uw?+9?p`eD2#szlld|>N=W8qs-Z047kRKFTu;Dp((;R!aZ;Kbs2a6JER^e5e;e=`jnS7%l-6fHJR!cZPuRgvJnY5yypg#5xnNqHx zhBeMhS;9&RzJz`uzf?7eAwNzv!AV&;LQ08>7J?M8A8Uh5m`axSbDPy~tm=hJ;1J3u z`|6g!C*9tW+F&QrCt&K1i+{}gnKgSi-X{=nO~gO^=1Fj6YGSs_*BG)gGbY z#9Xy)+Ws5k7A$MX*%M*vP*i@~k~eYBlX%FH7O*$N8zFHE9do#YJ0Ri-jd&=D-w)0e z_~tBd+1JrR@w9EvnbFtG6Y9iqIjYC`o5xWC;m~b8B&eCKX*X#-5WEG;e;~RAiDMs9 zH~Y-NwsL^2gZYqWk-jAjx9EO*YLMQAEX>Nd^@`PY8N)*$4xclz~MJ~@sUp-GLA^v+hKG9XzWc))E&zJ-| zB0j&KuIV>>bUaY(w_RliWIRBp_PBT>&97OrdgGsAv%2#5w^#KVB&}yGw=s9 zXoeFm&w&!5M-ulpI1|{LiNSeLM-9efKR#y2Mh#7fA;ozZ9wX+O(GN&t7MlpUY9{tx zNKJw>BfavVhHIJf@P%p^^}(qcWcBV_O@uLHEZXRTYSN_cT}`-1L(p-+3nSuTZ$=7U zoiRFGx63sWfA`ik`ewJa$9INpF5Vz02ZGBU+hzz3LNve7G6x9yZYs|2UEPkHkP_RB zxPjo;DCeQRzd)*?-1-o!VcmKWmJ!wrX>0-}V!?0>`N~7os*&T2AZUY0H9_u-@W(?^ z8IcA>XrqE^7$L=l;i7(7U?TJp!h{Hu!u6{4SJa|5mXV||Rx>94W1;FR5#RvA)uS;{4FbXM9* zeTf1b6gco#w%@s#>RD>cqPYg^5ot`LIq1`O9jrik+h5TxeKu+&nXDw4PMz2A)kC>$ zU9RZ0**2XQZdA*TRa?6)R4$vg{XBULEm+~=u`Wq6Ha~ZlX`FK#jXT%ivFln!;<16U z>AGMsH?uOtU$btbn{iu_m#L;hw-?aKu&s@5++1AIew$fbrq;0>vrVO|8E70fw#}id z_Cz5&AV=S(4YeQMvUzAq_Ylk(|8p76+FD`?X2P`zTst;M|(3M%TmA9&~2;4Q?9@?5# zBqY}7KGvYs2C8@SGc%0YzpyH7Sypx~;`){_u4CHHVp5HiKQ@%&KgDBAc0`;u;~pD8;Qr zamPNZE6b(ED~!gc91IY4|{vkwA_m8kH~luO&yf* z{u#PW=8X%z6}%kdYoT%9Z+xd}+AsVm9ip4yA{BoZM@@CxMmk0%6}Pqj8#md+Nflv4 zh>P%TKosI<)%hRM6{WSXz|;99{$si^Tpi|{xu zW*uVFLeXK?RBDx@M)XG}aQernq_EaPV1qlhUyBR|S&v;!2{?GP)eN``LN7piw zhqQi^Q_oZaI}$(^-N<$Jq-OLiy^1Q*v`S7^lip?+Go7%*=UA!-;G%hSaaq8-0ad1Z1CC42GU5~}77FaquJs;}S4Hno_XeQP$B%q(#)J+<5kfQGyXu-rd=+zB_ zbpn0d^|{a5oE1oru|H<($i*GaHNQ{5pCj=SbU#KnRR*GI%q4u5Dtb~GhD-(dL!9D- z6EDYiU(%A|;_tUrX&uTeb`@OPzgLzJ1GBtaLgoyy z1wTp%9ts>zMLJ3_9`YGag*HlX8uHlZ)3lWt8~z^7C!{G7LMVdY7OkqrTPdo&M)4O! zs0R2H^CptmQ_B>TaH0`0jD~tXgF4@^9d5&p57PRCDBOJK@Avk=xZ1XT7x)Zsx`s3} zhSVRT@xTK1t+GR`ynrJ{G!;gy_-j)9zCI7=r<`0ul3o1u=y2e{ZM&_9d~b#TB7$Sr zOEun%I#hOtcZfH9!1*1Fwv@6T<(8L3F2Wvi4s#!+}ND(D=RJ&4}(h?CXK) z4&d}XVv?b(oQOx;wE4m?838{z;fn~r%lB3}fW>qZaY92G3Y>#O!N5U-;4g!>5h1zt z$S;Gg5rH=LqA$ZaR)a2fQ)_;wF~p(`9;k*kHX@?^b!EseDuOy5AejQeLI_sa$C?5b zZ%FI|Zem0V7iz=^e1bv{6XYX@;6B*l7`!6~9q3^8A7B+Z zWZy(!Ef6ODQhgIbf&M-C10?z{5i5v)G2+8tg!vF{MetG)wrg;MVi>i*%&K4nl!yo2 zIHQ78l%NBDp;1GG6@Ro7b{%ybWl}8N&BkANUV84nBojV^Aod7?gIM`evPG0RT3F*+ z&GVj>E?SmRMy#6uc2Fl4M>dW`(h-$Be|=I2L#vaV{l=8r{3FkJp>%N*c>RFiko_B7 z*9iyjP}Lh-*Xc^u!PlL0)=AMvLiRnJz|PP|N|ARd#T${p_8aer`y0K&{kN^%%k%x? z?R4Mxsyh$BouN5a$t7ye0|PocsMboTiUf6tI-7~sJW@s^2yRN@ty;IfZ* zI`oy0;P|5>`{@DrFK>H6++1jTe%hSjd3OJ&yR7XG=sHq49>h1NaXk2{F4#I+HSYX9 z)T+)C-&wxq$Gou^E(pA-7%m6ei!p9`^{4MV@uzIB&MP`Ht^p0tXrV*_g&AhzO@Zt{nH%?yY_D z*2d8lf7q&D)u&EZG5#MM)|ILcQ0tJDS)i4-C)P2muS#o4(HIeEIntPkor}=eK+ts^ z)bS>*Ih}a>7TG^UcP=Ks>Smvy_?G*hkbH;`oPu{$xj)2gF6yM^Ej@5_Ok#FBjIOb8=2Hvw+2=Rer97Ta3h|HpDt50!c&)+Xh`v&6nl+xtg-lgvnkJhFok|K+N+>_u zqvC6jX-$6CN5z6*QG)La%xb(!+MkdCHPkzyUO}WwlKiX^_b|t-{3o4lenWj+(rqG8 zOw9_O%J7xYxaK#`$E7KYP|J|Lh*C>Kyrd_@#VHF%$S6?}2Ooe_Q9_Vr?;kY1ry1PH z`1SbTiuiRuz0hy%;AHguBiPPZ#zgWnvH6YXs}Qe)mTU!PCy>dZf1#;^lC~ zGmTx3fs?b{pj^v$jze+X>@!Eb%86`ew$B6_2hUHQpsXK?yq z2u^~d17OwOoa6EO2Qt0_iu+jnX}(sOrW5i5MRvV>THr3>tk!5gi%T3cWpvyLC0@?I z_GcDUI+w3L(rp$&I{zQehNZ&8E$9YRa4Y@^D|JOyx}t*mSae0yi6T$dW$iQH7y zOmZd8;8{^@g+0pOffjJlg@V}sG!=Y4=zR98k^zu%Cldc5&b9EW1f`+K{@B_|!nOpy zA=h7t#Y$SPnCT-PTN%7m!Lq~y&KK2D2_bj+v@9qF@aIP!+xbZkl1xUG$Sk-;#T%*M)g?e#*8^2(f7Y_ zLXkMKPxe}JqLDZ-hnQf7?0&-yCBlpn;)Iddg??v1=o7?^5Mcy?+9Sjb1Ft4{?9Bo~ z#|Yy*3JAf*A^RG<#sT(aY#k#Rn;5y8@9h0vniyT(+?pr?L#LYXWyWabzq5f_25?YK zo75Ah`Awi-Sn~(0q2G9@Cllh~pzbyPW)F?WcZD6M_wRshqV-VkYo7H$oLKOs9ctZx zu~>KvB3SxvPfjRvA{2QM$c$fmu?Uv2FjTQ{;njGJLSU58j6Vq9zoi?J*!*g!hTJ7W zQ17D-3&zw09W$h&4H&5Yfi8$T9?JFOdz~Tq_^%U2_`+V)uwNsL-+PJRgpG)!f_^}U z5MsjT8Inf*+F^tPGlKrsZHRg8?{>&rdd3{N_l$`4O{iz1mI_-zW#abGT_Kj(}*PEiBONxjRa z^QP17zMW9<<(IkqnVgj}KJYyuyeP=5PsFq&sUTI>9^KmKvm}}*s8!uHe^1E1Hu38( z@X3~WX2)vv$OIqQW2`C@$e@O$m zn6u^*X*UbsDjp1U=H|#+C67+bxrJU5BqUCt@d`y;Vjq?0FADxw5?AHd{@G0v^?w%U zxL+wM3fSr+)MG_LQo>??p=z;aA5Lqqrq^0>%jM9H{tahM8l1LxP2tZ)v_vhKlf;(q zv!MJ}5&^T6sjrIm(z&9i@;9jFMXSE&n{Es|Bl7hq=UHy;c;@bnJS#PB5^b4yCK4;Q z=ZkJMJj)2R;1{KCzb@=GYG~H{8WG2U24A;wJAljs*ze1=2Q1ZKMqXp1?=t)=e`M`p zM>n+S+gQB86gQlQJ50QRP>dM<{Tt8VegGZ^9=pCP2Uxpa_-1@(2jHQgHRC4lD7#D( zlH^2(VWVj`V|Mk3H3PjmpN!BtNA$^ln~az_2N<)RpBcYXQvy(KV1ZTU#`zsiU_dD) zhQtx`p9;W)+7ZP4^>G6(+tZm6)loz7*zFP3SGoM%qy|_9-87-BP3YkI6w3pMG~vM? zNInFUPv2Tax8^upYv^Z}Tyi>d8O~&0bNQ>LPU?Vir$XTr<+XWo$rE^hrHPIA#vPLW z6&R6P6ArHE{o<| zO66yKUE_ehb8BeKk|Xd^q|&xyd2V(0=>=Dy)?aXmMVMD}{q?w{_7^S-m?8oL>>%;} zhEjxi%K3KLqt^`1u>+|aYD^hutq9%Ktp*fC+qmy=5Z5RfA@M-9A;Q1kqr?gFMu_p) zi@yxdV+3UrYFmxg*lnhXXl(?)|39I@j+Gj}g9^rr975#XC z79&cn5u|KT2_r=3Z`u^N)L2mXzx?w-tBSBz!kFKLL7qiSuT@M>Q@wKWOO;&>5{uhT zV_GXC)c&;Q(ic0I3T7%5El9cQ9+Z)sR&(bg6#G(ZT&M~ZUs$ET%G;`?FOWAV*(zEu zST#t~X^hP)H;8hLQYtmhjw(ma3$qzas5sBtEC_exZK~Usn4M0QmRRLtmq9MKR7HhW2R6zeO(FF2P5l$M!3fs```nH_HI0Q|GytuUj%+%du^+o+?N%5WoMgSov)V_SJvB`j0SQ~i}wpo z_F+}6-qz2;8#)UZ$D4!(4PTpE?~3Y=*#bcu7-%1B>3iOL2iGYX*Yg28T%G@}mlI_l zzmbu_{(<*r?`e?SpddxuR%K0MU)8D2N%k%*W7O`OdX(Ba0yV+M#&s1Y_&Ne5L0K!3 zE)!%co-#jVi&B?y`Jr3TEz@!|H=0SXO(6~& z&7ij35;cLpX{WZ=-e|-%*QK5N+Q+3^(}thh(8Xif+D+NTvM1LKNtKkDA!>?Hm<9ST z!vM1Y$o>d;89`{)JT16tQDMm}G)daP-{SA#gz&I_V92nfDh69sPBh7GyOiYB&vuy- zncQlwr}HH`b_8!$HEUe>mT$e;+(U_t;3bW|9h^E0coX=1KIZ1RH+DxJ^%uD!CKs`N;FNbUyn=j%KrLmNsIxPH+_(a5DE!9*g{Lueav{ zs9yRD4^XoIDCE*-_k{SwVeH4JB~B@-@b@|2N;U1rrzR`73Gugxz3eCNt7s-E)X-%s zOYk3{y+r9ID4448FR;BtRgRh4i10Vay+pYmu++Fx7IBi4+K42|D4If*o(m_ADIUP6 zw!o-W3MHN?nj)62|Dxu|8Rb{y`b8b8cmQ3x9!TAkGm2O2gi*R4L~Spa_@;OOs_KbS z+76-CNm$wpy2SaC{I>ovGeG*&Jf&I4MkqBTLiCyN@0}67e-3@K$g!D(>!= z$GrA&+yo%_I@|+{0Uo5uApKsauEsxKls-oVbh(>NvOmss2=0$5f&{o<)PDe)K|2p2fr$*~eF!+*#M;C1nJObB%U?8R9Mb#WqFTNd><)g(Ed}9+5k2ND; zrJ$^aPsQo~u~amkWgF!)U*7B$@3| z&@b7oFN^Lpouj?lvN!5L5=t_3xM}PGqV6m0rs=eu&ir2RS}X>DgFnzbZVrKw&qt#f z_ozXrar|c*sRzuLV}z}A=*L4ub|B`_9g?7#j3T-$R;MazZl9VnJ^FX&q#~l7-sYN= zzkID-S$htswO_QhlVXOxe;qLjunmf4;7oM{Os52=h&d!$uz5_g1QZPk%%|B{#kcl3 zvx)2j-YR41W9_gae9fBuI}zp5+(t8+3b5O-PK_)_o{w3rt||+>l9|o(!Rg!YMCjX} zR`^lhv&{L4Z)TC#`!i8|v=|wh$(K>j1w!4Vs;~ttaR+o$Na6<#JTVRjn_;i&2L5r?cmo z==c)ym#%s2vvNCk8@va9E$joYpYe@mf8&VL*f#*xxolp?#+f}T2dz-wZt3~~mxukKfpb?%AyC&M5e{)3L z)8CN$dQFtiw1CIp!I+J&>&%-6v{;3DuNxD*OWc3Ij6AHS|4=X3g4v&GQgM#h^zV)z z9Eo?@;VI)1cNXe$oCx-6f(nn);xH`kOb?nz^g-LKkX!xBC30oodu(MrfomD%W`#hR z(x&ZXq?hY-zE-iPu5d7eYhZYOAbDpq)FN&<_FQz_i(UNlr|22Ful+o^uS#49gPn~= z*Ab;gNsP6AWJ?yTD@B#Fu z=^I0HI(^tpX}!Qt0xsYK9-(akKJGIR4Q!WOmr_R%-cP%U?mh`_?7Esos20{zheO3h zn@qk__tDvffY>Kh^vNGwx1bLTO{HR;T#Xkvo!vFuo)|0ko%^ps&ib#P7B(x-3a!@y zl6ywo*8`X$r&amk-_v<&>Bm`SQW{$b#k2D#d{%>>R@$yB!Ge0NU6)>`Kg}Ob;dj#A zjXHvEBDiEK2!7O&WGuBBoK5?weiUD9X2y4P4&rY8u&|9-mg!RnWZpt>Gt?G=ZJ2Sp=zC4SN0)gmMCZ`oWE$tKOB{TG*zzUvD!8SwpyyllqCM3( z=r=Kb<`L)8pJ6>-4ne2l7w$6NpSCzBH5#qFzGTVLX!cqXR;gaN*Gt39S3W& zKG=R+M#pwq_IQ?ZiMK$|Imp+ans?YTu6gky@;X+V8#jOqQkn)(v#bD)5?tx__KMCt5zQZLJcrD5F}Gf)?s%=fl# z0pcAfLtb_Ny1mD_dgc8jn|VITOmGl>E3qWHm~Gu<@Wv|YF)v_2lCAG(WY^%sz~hIm z8(rUkFOR)}8snwyn|H4U(vlXshx^uvcnbR=G3!5k>J|*ki7_rO-!+k*3Y|Lu-$CVfG8@3|Fsh`$N5?RC32lwd>a;mO*zjl8HcnuZ?=|2p)`{Kn%l0*Qyn~JXQ^Vdg)m*J8MlD9oGs^++@X+aa00?79zS_e#iLryt)j=*}_A zH|Vt+gFU3u8LozXFNhPI4jH>{iPAaiOg)^vM!_Ox9O*P&$v8ywuq6fyzXLJti@H8X zIGcJ9-U(6*d`w`1X(AoAK5yK!T~DXpI?`=-5+UAwuzZML?iJE6eJ^e6yPv%c*EZMR z!Y(ncy?eC7rRFU$fe2WmaA{|=r+pKh z;aLFApX{c855@fYzR--lGrfH>xlJ~R9_BK*B=jz4i`4p2hkYX-*TNXbqQ1Y7 zd{2LLI{AY~)mt2RVwbF^kUXZQxADXV&a$f?(2vj`0wL3%1dsCx{$&t2Kas~9<5p+# z$BCN&>5oA>P2+J1U=f8+EenwNskp^xD5tnd z>n|$*BJ_MpbC0X2@+nR(mKuF(dO&E9stJuViHQElnN7)CA+_gRx>5C9-~F-%|FTZt z@h^Qx+y!Lp8@a>)koO|_>1)afQi7JzctfSJhD>=EfI zMnwQdt-w;lk+gM`sSVNL+r{!>*PeHU`Zeu?UdfL1$1C>4;Fy27!hqWs<%c0kfqMRv z;f4B9KiobABod(Jt5)53Gy4n|OJT-oK>psN=;GTNE%%$bPnFn++__vX@Y3N+(3qO2 z;DbKQtu}()+g*OV%T`lXN=c<>67gri@ zo|ym%ev{XaQGSD4ISjhTiV>5RH?-Ba#5+&8*14*TJM88a13U^|{Mj%58)kK_EV?mG0w{b>SN?wi?L2mB4?0-Zr~i>#%inc_UI;dps z991YUj(@D!wcq+x%)sqcxx7K+M}Ta0FfNe0U_0sCev-?f6#5J6R;36*dyfFF+wq5O zcAcJV8eqnz;aw$p_UQ%xndFKssdZzJc?hoNe5}}1Pr^Od6Y261YDu6noxPXjN$eTz z2CD05z3h5jyw2oEa5Ef{WJquMLUf4V1F(4aSBKHz>P7oWkK|X5H9>Vo0nMw5@tYR& zeedOuiA9c@dBEPWRy#YlLKUk-Bu_uX6aF%;7mNSqv4`6Xmy3bVvB|`?x zj-8OxilTCy^Iqs&#sXqM^Hl2h2d5E%_No`|0(OiD%kY0XRAfO}I z-rRxmjmuDgojF>MeSJFzULC06U8@is@?bA1H#Bx~>5W7`!pd)y8{;KQApByp-)?~G zpVrk%&)tsEXn>{}D&&r1oCQZ$v5Yr;4lt0?+RD%7Yw5K|xuac5N&cw}xuHUf*{LRn z?xW`9uUbpx%f!k>9mx~EuVuFf&jJ^62le4FI5b{hOI>AHW9%c**QHAi{aT;E^@Y6A z+4+c=vY?!HB{#)Y8Zq<95~snxsL{!GifTB@0{a%&%dm(itPdX9%Ug08nsNjYHh*#` z-Hz_5ybV{3Qpi$PRjM6+)#H!tuAYC^?m`aryD5QZ%{G|2s8B`TJuhu=r4h3r7-M-- zXC+X!6jcFb>Qjt^$_<9&+JAk<_QUF79_2&Xa7AY5)>FhEo9N$w2HHfW=tyBOG1Pyqn8-?x5;nM*=1|T_ssjM9?a8| zT+ss&UL{ph=&rEU*6d(wHEn_e#!FQ{efFo`MwePdl9!9A9SRl|Zv-=vk9lf{c9z<8 zSbXfB$02CnN6h;Xw5&W}UbK#$or^;^3S$>L<8#OC5|njHXDu)e=&~H27Vr07C1Kc* zXrHN|v*L}_w8?-eU2ZE*Z!D;&6EHVj=c`o=zWU-c{to&;Qw=P@%tNHKFtcF99Nb6# zum)Oymh#5lP;{28w_#NR%kfQkUx;Anglh==t8FuAi1#oA1pK$-_b=B?9i(kHf!Ggf1Ll8BGr$2&)LZLbbLs5PNmEa5`vL5~cqinTtEjSZY!C76tOK*jm*JD^ zUog%RQ|68VRR*HFYMal|tijX7mFe#_D(PymTJyhh9M& zg}N>0@kXVkqkdNwg|Vv`GF1wwz#CT@-HV~Cl?h_Dl1GK%!=kz*g)O&v6W;~HV?2+q zie%TGp+uF+OR;`h3>En5$nj=?ycA}OHp`SA{N_^L96zN}`Z^h3Z*nZvja+FAe-=j? zxW{bLbRnOz-M_qd@J@(SI*UK%4)!v1(BqSBZg$r>M0mLoh7<3AK6~RPnPm{#|C?sK z(Wli&VgfFQ%Zz>WQz8S%=@3Mp7PZt+r_5jtoYRhv4S$me=0igAkEkwrXJLG|O=@4r z!tS&I2_ICM;fi~~!YdI^dtC}n!rSBYb`4$_|I%P3uy2ze`)&%Y?B)P|yGl1P;JqiP z_cUtJBh77MJ;rYucfK2xY%k{p&2b|8^o~Yht;XH{3lqf3KV=5MV8i7-`O zYNgLNVozRVfru|0S;{G4=a?~^A4~nq&Ln9RPY*`bsR=gT3STn7&CR{`B*-pf)V= zt!`OX2dRdx%DpHhVr4_AKSSp>?D)ZDxplwwQl&x?R?0<7n*?4%i<eo<1{scErC45*(@CwQ`cFzf;21dA(j`o5p`mHhOel=kELbS;) z1jO|0egr+Jj-X{zv2&z-jgpCi{;K9KZ0u92g%*t$k+?%|G+iB%|!RcLr z8|o^eXycrc|DWZ2_N)Rdhzx*N|r)z~4t$F-@OH|G}(;;Rgl1&-+HvAj7fLq?*j|hwL+WHA42-MgHWrmK0VKeBm)R3oZYGchvir zMb}uDw#Bq%gC#d4podkEI)U@wh2GhgT@~QM3K*)T@By~X>V_Veg^_zf^np5rU^SB) zIH^io3S_hqHG-C3^U%+>vB$6{gGe*pzT{@9k0GoR5HQjqllmnU0KHwd&m-AKTv?IV zK2rKjczT9z>%`Q1NxAAa8Z;_gDY&6T(%bkpn5#E%nLhxyw9mjOP}tkcp?-!ceWqV+ zq?=S{jP;nTAc!<(g%21vmtb9%F!~n~^88z;&1f;Z_F5h>CSVm5H^FB`K8+V+i#Lo1 zt%zOb{Qz$A^cd<%4`wQF@dZNN{Zz+s~ejw|R$KX=w%Ivkjp<98xo*l3E61Xwa*QA-ObpKMOlPp%a^IPa@ zj+b7re}vHV>YQFo+C_F1=!aLkK&8nJ5;tTabkYe8HW@q}p+r7M%@J#)!93sjTY`yYv)Rw^Qo|SfWT&G6n--hGs{0iY$GSkLxnPcL> za%3UjhaO^#hDi(k^k5;xk_sa@=Ru`_`hOTW2KA}gC_<8^g-0DBCF)j*13br!xQorf|1*7gHqHW>Dm-U1js^kVG$b+ zqpm)Ig8~f{x6vwV`VH?FvzPJu?jzdrS9J6`|5)Z{aD??Vu)ec3NhjzpQ?dp#H1voS zi{ayT%Hox7om0xWUP{lB2rGVEyl=;Iw4C2u#`84Q7Yx%O0cNOA*7- z>ZCjUFur6zqER6{y?ia~EYX;u9`Zber$35)xRJeag}&Ad_+;EEisfMS^n3z>RUd*g zW4CM&Qaw@+Y6pm$JFZcN_phMKA3~`3;21V{o4{h%Z8+}~6+UcI_41FLvsnNutH&fe z@mhX$YTxOoCXA>4c9^@Kh0e$7p}s&EEy#i;59jrYje$!t>&`uUg&U^=Dh`i*u6Jus zZOr!jMYrt%fK=6g8r^8k#FBLb7Va^`prgkO=o)myS-?-=PA7)l}%ef+!VTbo~*sn#7rBi?;ATz;K?D`GbV}3G7G)u zJy;uhFZTSAJehNcB69ayU2hbV-qtTdt^DSXdR$`)ZAs7nw9D<;IAp9IcY)y?bmMs+ z_vL*siXuI1xY@6~W|YtPE|Z9jZg*3~Dq@oX`HO!Nsen*pI$Wuj*4SnsI^Y1kDM0LG zG(T7F2|$v0vBps^rz){dBukQDw9rX$=i2p~xUE}^eW{EE>NBH@NsxNLXS7Pz6^L!x zFDNXBb&WfasfQJI3?pYtG@gEQ<30UY)+_uj{kc^4_-Ef{vkue#ARF*m6S{sOM`s`e zIPx|0CBbE0H$gST`W`x#(IpC$z}yzznW4YPY40%d5gCXc*#IzYL&a z{TidvQ_^aAGK^+B-ef5|xieXDl4-JRm^lQzXfhAbLw00`B(}OZRL2ea zH3o7HdANy*z8o0S>a9@6G2IeYK+U%`lHXA6jx+K{z(CAGPFNYWDXcVy&w)p?SP z*mOuTdoM5!e5U6k_(=#QB5ZFg1I!^QutfdbeENW0;ayfmTV78yKu$ftQ0Q0s10*>Q zUPJsuItQF48Lf9VkA<;gzU(}q_z5dyoy8>^7Cjirsa_3W1<|nEzvDumKzJ|)Gg$JK6UNcb&aevC)Mm- z@x1LlpJj&G@57`r$z0)vl5$XfD(#KVVl~j;AaPm(`~a~OO||UQDWF<6nov}@Phnz- z*s=uLB^fla^FX=1gCYA4mA!gGw68UM(jw0-q&1?}gb5xOpV)(u#;K&lX1z6%Kx~8; z&vg1$frvEaH3++Gy1GW?4(bj$3`ci8V+i9lF_S+Hl-Uh5>5w{0Ugyh%=Hv~?jkh5G zGG<8|K^H6;za=wTwm@l0QQp+s;iXMuxDE`VeBv@JvK$ouTP%7we3YwqU8pec4gO=f z$dp?Mi1Wk#N6MH_Qv~Dr^paR#gU2vrkz7sQJ%MV%zFJrxvO=bgv2!8YlMXna%2JNk zlx}N8a!^v1f>f-dKs0#_1$y6{*9*Lhs1%Gu{bH8j9~5`Q8j+CED)=WoBg@2%skwc` zJBNV=Y3L=|UZ=PJAZ+KZT#{LzgZ(*}%5t>l(Thq0_U4oD8nYO>IT2(uM-aXV9t zm#bu#j)_7H>dS`h;|Fzj`jTfV{TxYH32@Wvb03$_YY9XcktNo(YJ;Z^$)yR;9;^L_ zvD>&UFnl}MzZ}f4@OXlEtB4KCCIydV7z;thQH3FSnT0-kswA)4>pCFwhsT?oANl!i zFEI{SU)Xy)f9X`G)wCRqcYWtwP5+>As6XK7y(h%S#QH?z1K7*qIaMW}70|>oW^a6z zr%89*LdCBzW`R&nvFie%=AX+0BE1iMzV8&zk<`P!mIYeZ&)Do;{V2lX2Q=a$VpNF4 z?)2FCbrU>~_oa@REDzj@yuygmF|C1l%~)Wy)kO zzOgnZ*Db_(?N_*S`Njf39yTdAo=mx`|lgHl!Q&fl>c&bwOt`#})(m|brwNoVin!$}pdHgo!}4KyA) z8~GvTXoJpj&K*;ia<86~7;h!EVf}r98ZGV~s_b&G?_#rkFe4bHf3jCJ5_kmQitFm|#!`=fSHwrM7soSTbX1`S%Cvsh8 z-=*Ze3S5%%@K)TH&i5EE2%=NJ38xrs+@?A1u4XiCjj1qs52Mm)KI6=5m{U;s6tW@u ztIvRylN@f-rGWKAC#IcNrn)&mpMpzVCTLPGG7N%(VX@fFN})h6N;a!gD}6UpUU#v>+0E#6E zZv?U4B@{&O1nO%uV7*lT;tS5)g?~9T$3nk@!cwIjL}KJ)HX$F!iil${#Y%&L|FWqG-$dKdp|b)o<&fmjE)DG1U7jTvW;&Wr zG94$ei{~$!_v#q&McR(D`d+)(6e$TvV2&0y{)5LdLN6ISO%D?s=;Wze#V`k$LTEvHGxG6Xgx+me5HsIXo1 zJBGeOawaoeoPA2Oy@eXHJsY{ZEXL&Gq|ZjKyhxrSkt$gR*}4o|gA0?#3Kk*Z3%#Y$ z_o3@MEMN}-#13>c5G8JTE%y9b^=S&gIeJLl$Gt4y&hnUL4H5JX?cnWvA@;vi_neUh zDFFsmCFg~2{KCa?;-8E@gS?0dl~LBT7$2oHeKzi)T>cz0=VZL1SHh0bfOVM!qbX~< zQ}?lh%x@y=nob7y_=7IT$(m(@j-tjEQz-=Xln?SdiLgn~M1;gn@kd<3&Tr^uK?40( zFS3%K^UzS%1K6*FT)Qngc7cpy8zZqXWUY$opyNcAe&TqU%rkgE-4DsO-Obar^OPvBgpOuCXOEd!=7BeUlh5)} z)YP$Fz$QQAwVElc@UDb5%rqtuO4E3TN}y$YRISvPC11@ z8xAj8`IJogMD6r8thof+Y&Z?h%lPP`r(HMIf$G8_m=^nIh7v}Z(v%JxwwOMxJXGsx zqXSbrgY4eDVE;%o#Mpjfs|v%sM|lv5MX4<%Wi*ZXSx!Nhdc;!aLTT&G{TdgyH_UzV zN>h10f0%!rkYv|CwQ<;cL<9uZx7R&Rp4NYlrg!TtPRRDeaOVxJ9#Fn5N|p8L^=R^U z>A4IAaG8ugqCLx-!@d`@SOErLuk31&U(#Ii%88mkoqxLeeB@B!5n!)ZaVR09hB6JSnT?X3c4U6j<+*(Py6IQR!A^gv6TqH(6Q+nWtyd25#0O`8Y<$)Et@?_lf>UZ6@D-6 z`uz+BFw)YqLi`~yD?Y*!u)-cOggGz+Fdg!o@!SD}52I_v*9($z3lGkdU3*s7!>m(@N%Xy`iF^EEZJLF+z zp|GuOfs~c4bU-``Q z#_4Sw^dwP2wy`eBt8Hnk@S$eeb0RQJpiHJa9Y?=Uzbc6&r@TYK7cMytm*KB;9q4iM zWL}NhjIEln^hYL`&e5VM1{n}lEg1#oasX>A{Pja(40BLxi2!at z%{yJEHoCNsF;m(%_h%LEpNy@&;?@oJFh*Z|Dkno4bCHeN{7!|F5QRHT zXvOHx-T;rg9-r)@#ucvU7_}cVa2|-ne)36Z`2F?sQquEeo+?G6ChRKPF*kg|+(#=< zzejZPo6uJl6SX01r?E(J$5HT4@WDu4na>OR33J0}m>n;#+FD4AE)H9tx*xZ(a3Rmb zjCYM|Fd(By35fLDFGb+PxbzTITX@=3nIe6MJCI%qNON9?Ty-w{|55bW(3sJQO`iNx zC1VFGg^Uxz7m`LgJS2Zxk><<(S(sGp(G4m^@WJ8!?XXBp1M=#XQeTCxqLeG8B(|er zY2K}17XYg>{Ksd8{zmgz5vDE5D4bQOGdyYq0KZ`OK8`jw97q)|ti;)SH#4s+FPRF% zv&}xM6RWDi+=lAy2|}9+YK+oNUbDYOM}3>x4|DzH8-=}6;ZrQES&Zu)QyY36SiYgE z9UcB}^;s!vO3q>+x7tT)WQEX>9sbz+31g>Vo{a>bP4&5_=th#lCC6h&-dPi3l)z2R z8FWS52j#LSu#4=Ti~jR^_XDworsLjVbTNY~#{FTlFsa`q6Fd-QQpOJGBoX!W(wjNP z7IH?TsjHvepA=|8$_&b$e)^@dY_|GPb$F-LpDFI1-5hI-<6H~c4jl=)3NAS+^Ojl0 zanu$!Rksy6G1%r%aQ<6U$%5g!5hn9Ml>dy7d6`hL$>e9<&u~=+9il`~sx^V|M`=3{ zG(-eJ8NG$8kd)})eND!}9uZV5OOH~wNt(XDn$%jc^KjbzB=gZ+Pn(R!hrDH{*^;Wc z@gvH5i2fK=XCXBUpWKtibLK7*93Np)iU98HR-P7K>wI3pIBAa+_>S05)&n{wk7m{l zA9bk9KvadihULgEb+MEEYL(fBix+8t4~n6QSkOX4Nh&@mRyW&cnr1xT&5JB&sQ&pN z7ftKUZJomP_`QSmm z)7pDCvOQwDfoPsQ^xo!^sdDcZRO;~@(_k#edV8(xf9r1;otf$K4?Q!!9rw8P~?XIlldEs?UBfX0(md%WoHNMXb}hCWCRm-wP@DDpkF<8o8G?4NQ}o{rwI5qieNvaVAp9I>Svqh|8=@gui;i88 zfSQasw_zDwFQcV?g6hlb_8jj7TF;N3F^YzKvb*NhXZF&cTq@v5`u2`M#&_SLHD zb0EzCtK8xuJH;peyklw`)FSo&jne7xXK=5u6yNwa1kl-9w5Ps#(K{<*6-y)Un^g9> z+TG7MT0YTVpbzpv_g=#QuBk;cs zwXfKrFciV)Nr*?-{%}c{CqxNa63VW5QwIc$_3G6UwJ|=3!q^>n`4c74UBh`|seE4f zD!@HL8TaBC&TcE)nga{+X?ET^Vg5$yzbo$fx8ELISH85G^uVI0m`lAuTsrPdkxnFM zk(j{pkkSbmZBVF|Kg7ov9m(+S)H9f9`bRxrAV&{3C|-U>aqcImuh}n>hQ?|odfbQE zrR6o?$@(35-N$8bbqHqwi)2)2Wqe)Dxk^9zRPyDiF>KY^ugP~U7iXNQVCfqQ52(@w zmq7CCpzpE{9lViicX{j^ZU<~+@jWm9 zV>?G|=>DRIaD2E!P~mJ^*{usRTzpXT$!DJw-hN0GK45Yr<$yukys^yUPPy>soIub% z(LEQ$|C_8|3&>XvK(4Yiz8@k#Je01H^0(#EVA%JbTf6t?VM3jg2M5g0zE;`^R?&W^ zbE$lfe6742d5KL1mE09Svg!HikH5v+^$<|5M5IOzu?_iWm>jh7UqN1_-Pf?_>ksDC zze6qq-uD`>5c@*kh5dCied;#QZ&Fw~H>0>zE$AosTIe~{nw_!SXdVEy`MEl39x2`X z?8$=7qQmOhH*LPDeBl-4O*5sjG?^v&nS&vF=Npr5<6=4ug^_-~FjF4$`ykJzv+0P; zkGf|?l<)Qzozc{mGGbdC{s-wvzhxTyBq-IRG=N2n=X6dppJ6S;*pEZYG=C?Zr05O5 zaa*dIGvT43*|qyqzu`9`6@S)GgxzF5>jg{G%^!Q82PgDrSQv;%z2+9LqmJvB{2Mdg z(h87m6Iz(L9CF5$tyvbgm4v=gYrA%t{ox0+WDRaU9dX^^q>+8GRnapbINk5P2ozPSLQEBgp`@Mf^{f*tF5AJtZ0B@p= zI(1J(CB(#-TxXnuWhJG&c<`aGQi2yBltOz}j(RM6caJA&a>QO^iGv zM{6y*Y~5~u~4 zO!>OeD>$VQ)&29ayWO1m67Vj-K3891xNB%A843rQdss(5z~blJ+*PeQ!jZ3Yd9Qb9 zb3_IW@+`?mE@tbQTq?fbI=KCzYw@YcVcyS}Vp6ZrZRjm&)+rF)<-5~~v{-U-y|d_JeL3W^1#P@;lfo?ff!CtKx;m?HbH|MwR4n9s4w zHRy13cqqqzUBRfJWToyzFwQsS>g#g;Z$~<@0!97dLTidkvizPVMPJfKuG~(Y;~i!h zw>Zfzxh4K3UhL$Gfrz)+h1s_Dgge(!)&^auoW!TcSj;qrM~n%sM08i!x2*V5oMoD< z0JOiVJE_fk{aDHY+ClK+u#00tQtqh!?GFa!i7_e!h2)etW5*beb0 ztL#284DA(F7IRH*mUsrR1pg!{4@_Qz2T3uYl2MTS9r@TQnm4B|bJNV*gmUu_YP3?t zxfN+vqLA^)X6g2ZTnbNcti1**sC4SX_9fJZU_em1K;=y)ow-LyV zrka4cz6m<-k=vTFg!)5!(-DY@t;T#Wc4QwNfT&>DlVb8t-IO zVpqJB6>IRP*0YMed_D`EDeo^-ZPe4Q&4WCmVPATbKawq`*as&k?}>6xI*C%>1u$ZT z{Bnke15vL4u5nhXet|s~&VL5eQfErrY=9T+UE6XLqln}*k>D(m)E9*Zy^0WPD75|jzoC>fq?0SDY^c)&<_#(F|n zHbQa>*XxDm@4}LIFYzwksXhdx@x!zbbWF zspwYGZrIYxC-nEjh)3D;5|4woGJ0(Q2kPM1YhOQ3o~v_=?=i+bOBtwn0lQ015W)ZI)ji6hM%wf0vT)PLgINfVGZNar zmu&?&#iKKq3Vv_?jLC3f8#J>&H)&a|m03~IXRs=ENlTKKefvvWB%T_-l#Do+d8}F? z^=pt=>lE`i(f(eapQ(W+Amze-*zWJ0vdny*L1xis=7-@{`ImM<<)dQcp>?9#Y}R4q zr%9`%4a_i8hn{?St?jxqLosr8V+Oy1>TY!0;1jofgF*Zv1 zj#S)xn$n8=PAV(C&+0avYV;M~c#PxVCkonA`ku{9&Z$A%o6n=nxn2sl|JdL{6=|^b z*-VMP^nl7biO?tnQI8KEulO2Vw=z|~Z@m4PD?%*RC|BTg@vIkmK6-cgak>mVfF4R# zpw7>0QN+u@N+qJ1Yx3S>yrE>#i~WE}IV{k_6eYH1eL=iwa0#cg2fxzhB`M5( z^PD#HAOF*WBUe?CU@i>Q4})~n&&vL$&=#utZG}1;Lazgd`LlPkK(b?gmeAIe{YekXcHoN_ixJ&?M)$A#ShoRu~1G_a~TBIfC8 zUkRNBt;MR_`@y4Zu^e=lhOZ$qV3(!$XD4+Fn$PgOyK$KzKI9aUw(~UYsFX}Ck9&8N z5%n{4YVK4&GA!@b32Dnd2n+g0u7Lj&*WlSBK<^yq(aEfuyMARn)r|!Sk0+rW8xS(~ zC2f-2EA1UOD}VL-D<{Rf=UT;&+~FH&e}B8QcETy~L+bS}DZ*#(9O2t|CwTO#tv~Ij zJmkORAA=I5&j-h}qtyaf|2fNR|FrW^Q4 zFn93bZzz!|6vzjr)l0XG_Fa9HMl&?0Cs7THQ%e{)HnE7n=+Yvl#1G9|tv4Sl+A&7& zHf|V`H38v;L!YHSiv%o#HV?dK9)EeLUdrX$hv`C}U6~?QWY>9R6$3^x&%VrmqiVmK zSsMw+h80b;L89vm!xwxsMt*QYS>x?711q&Mvk#w^t;k^O>-aENk!=9`J!#Ow2oWd*{nnx@@QC@otQeQ2dqM_`fFSrU;Ac=SlJV%tF+Ob7=E-9-VA0KO$fGX#kPG{N3re zg4JaQWtH@Qr?-rbr?i;r-g#gmc$p`M<^}Hc#NlU{+PZ?N!o5PJWzb?m+W}Oe7(C}O zuQ_GFgog{eVz%{y|D0#WxP2FPUU^y^Q^D)07XIcM_pD%`S}V^3@xY)gf#7cgy@@Iq zqg)_I^#7iZmPIT9f2UNy5W609osl_ETk(2SMuTb^RQMlVw9_MX_T29DYclXV%|mp< z;9yEV4fEgl@}YHmisDnII{R8Z>}xW)DJ)EHk=zFGm5n84*MPd(RAr}Q<40*lkj~u? zvo=fRRpYTHYaX~y^t`pAr<;tC%`85*wUXou&C_AgM^R#*wohxH3n_#o@k9`wQRf{M zI3H%~3T>_#Vt73_*(OiJ{EwqBHp1^j((tdX3poDtl7M_bn6HnO8lp9ic*x@8wwh1G zTgKlTU5v+-9^SsGJt2||_A{l{>B1ETDDLNSHcDm|) zNIrLHzFgMXB_VpXVru78-)8{lxFl141(95>GXb6c?^ju|ldDgp(&T+5m%tjtq9S*B zdTO!p0X^cS1g8j`V~da?!!-&!DnyMKnENPCLT~Q+ntKdhfp-+wf=c9} z)WQ|U(31iEGXAV{OQdzjw|lwi@zq5k5vL~Og@iMs$732+1K12HGpjrS(ydm4NLxXF z&5Y386P+#Reyyj<^|F(3R*##Q>a~ab`J2+3&NXIpF)b&m@vn2S#m8&MB8;O2{0|Gi z&O4m$VUwJI`}|Z`yB;4|_KY@2am*;@5RV}RWDXEqU&VokzfFK&{9RbhT(Od4C#_Gq zZt?Qzehl!V%AJ9%oSv@AqMVK@vR>0vZ>c&^_%V3wmFnIB*Qkwm))8es({>Y-r3~I5 zsO(Ok@F8z<};7phg&M+2!}ZyD(st zUBLrWSe40+9M8;;#?*mfZ`0p(EFp73Eqn1D8hvgn%aXU7R3_hXHCV9MLKpNxNz<}tmR|yS48FuqVTO^blppr>#|e)!W~T(-?OK1 zJjt&{=>$pO%L%^?XKhPUif%#NOARpR)6Pv#Ch*lb>#?Yz!H-Rh@zTkXA?XHj*r3tJ z^5c!FRbrxRAyImMcSOZc&OY+oo@iE82>D&#r(P2VBk145OMEpMB}fk&z4t8`@JiYq z;~vNSYOHG1$p?fswuk%`{A>HEtd!G(3=JdCd*~Bc(-i8-pT(tamd-NG3A_m2J-`yZ z>Z5FFb$xo3o}!U?NOp-*P$TQl9#nGo#FL6oT7cNVchdoe5{?H_`3YnCp!>RS4^y8`o(`) zq5Njp6&>%T=-qZhkCjEe)<613WN{a6vK>7%f!e3n76FmrM=I^c+$60~1~U+0Ka@3l zyglphc;Ph5e#&|m-*D9D22Z~zw}iH(ksZgaQX2hQ-=@d%>BJ|8Q4hgiMgDW0x$-i1 z0~=S|B0a6DPxueb?|41drT%=BvZ2S{ozJb87boBB5prP_!=s+ds*;*vuRC&fU#c}8 zBS%rQeUPPM4nDl*GO~IB-_KRpc6xow^^h)9x$rbrTjZQHL_QhsHHARUAe1?cO7&-PN&k?v|$%NmDw$`xw;oUuB z+gIj?AVvlX5Ae%oQ`4v%arcK7x_yNxV6TvZg#YIDaHkuoTw%9wa@v0f@i zK;fc&x-J`W%ltYTt=&aAaAQ&EV?o&ye#NNZlQt8KY^hzi=tUTCE+V; z#CB}!T4F%xWXDySQRn3Kn8sv>ny*?m&Pd>eE1C`uR%_V~Eod{}EU|2O6i9=T_sq3! zYF2;IN9l@L(C=yYn|CDlq`z1vS-L^20&^_!bg1we@E=G#N<~g#>W%Q^QOKmnxZU)n zsS6*(Pc9Wts9836~^haA3V({@z&rdhAaW{2yxXmwV%CrEV5HOKNlT>-pk_;&&SJoXXlLc3Abq!KIu8RbITXI^6!1&3(e7@<5PiJ^%0s9 zCL^@JHB4t}YB1%d1bO1B&Z2Hp(zCD4YPXZ!_!?U-SDbL+N53juQriSNm{FUCS%Mo` zIxIlSy_TMD-pdb!G)rE1^mlZX^6BV$=3Amhl8iF!#Db- zWg=JJe8L56=q1CRL(1`W|KgxApl4Kg9+1&+UAAQcgT%FKG$XaB?o~5 zFX>D*0qm`uir%{R&ZIYi39-#H>UHW;v3x>r11@-ZUX1%FpZ&A)`Q7$kS0&yg$ZjPj zB{ZFzs@v-Bgo%=Y(q>THf0`DBE9H}81o{Ut=l z>Q49e@gs|&*+t^7*`LY}fX_L=)UOCU!}E>p3T`k`$rEcaCUooinnbUKSD`ruD|8@akIKEg8p?!-Ll(Wi5a)^L4F9?^9F zaZe;{-8!IOT2C)HJQ_w#y5>Ys&N@7Lmns3)G4|&?zGTugDf!4XoK6MjE-0Q&PQc@u z!qII7yv^qqS3KV}11GbU3d0|c_(CKqL$&kpga%qndpYzmN*DdSg+nmX2WV!c>WSx_ z?@rNOQOEhjZHsG`>gS$Ht7q=aUEhZjW^>ozp=Cp(AAj<25=VxwB8R?$_V5K+ zL-I)PAC}F0>^LRT!N$iM-+oTq6(3o#^maFdRsKxGC+N9&ak8>$Gm~#w`3qgJ{h;K% zB`-9F^zEsu<%~zTsDD+hPIpRX^uPsxSB>@+o?F8C_qz@5s;aO@(5JUf$uT@Z2f^s7 zVx`OzJW;@*&4t1@&C99p4w4lQO7NL$c2{X!lvr6>z|SunWM2DkI>PBPFYLJrv1~8s z*1BsZh6JJRxbt!Qc#(c>+ZO@80K6F2eidTxzmavXReM_Nt8PXy-{N?|ZQK6iUk;Oo z&pGk${*}Jk*!rIMbiEXIadOtZ-WH9{L+%ar)j5?A&QZ1M&5*C%DETd#MhQs~nA+Wzfh$>c@{UtAsJia55-0 zj`_TN{9t283WRp1jxHopnoK}$-{;k(j4CrY2m{}JoJ{dmaMQVu#SJ+<=2X}9V>2mN z?R|VY)5UiIa$oML(0(^*A)UFTrkYz{I8y9?3m=Q=d3Mij7+I?x<32S#?|@lHCR7V(=4+0BcK+noNcdE1E9O$ZrYctFMW4{ZL3X#} zl+luDv~l+;o5%DoJ~9>X4TMy=j<6$d>Sz7WdE(nWW82#Gl+}}rvUF6>JIBE~v#9Co z%>+&SCC6d}@)Q2Y&XqOtz)#({%=7&cU4d!-sKA)%80E@j-wf$wC%jT#SSjUH?zP@y z=;0zQ;V;ccSW@fvW^6x#v%@;k+2>Su^Y4S%lPuuW*C!vI#DXhn<~=Mj6SEm%KAqo;P7cl=M|?1{s9=b#EFXQbq%+_{Gg~uy%bk_- zl#bmyy@iz%100TP-S>6HZCrfir+QGqY62k~v8(MVl2I}Jqjyelp4;0UrkmJ|9p~J? z`N#5+<}>p25tRaOSZuH5cT}4W&o$0kMlKEdQ0z4g-R5Ph_TibLLc-3M8j8}Q^&I=t zYO^4Z+9A^>2D>9D)LK6LdB0Dzcdy^luKdw=vFLMYw(c>nb&-5g|3*KHv^;PAQMo8R zS!`0hgLXp@SNVxI7=#3a)qtdM(+t^XsOB)^BSv$JMw5L-a9U)s-;vdVykjh#XC9_g zHtv1w(LhnyXC{OaA4;OZUR1-CC{yvH12 zt=6sY2&~h~Z}9k7F^8h~wv<`Cql>8mkm(Eil5T@%YHu~vJlXo-)NkeA&j;2vM?b1b zssVovS$@H z>`lEzJSb#3ZL_LZq6O(}=5)fIb?U!$;fO5i@<4uIBVX}RuL|R2q`WsT7cIRmJahGd z;lZf(X#tQNo<5;3D^BpkXNtmU#+@;In~YZbpNaw0^sLx4!U^s)lsknG+-YWUH6nx$ zvRj*ELu8}t`L>$Us?M`ztC^<)K3v3kECwyDzny|1iGnY{>QIXx3N{D&ZayM8>Y5y@ zl4f1srDJZQ_;$}$NRRRRzp)u>Ld8J^UgfqhpLhT|_D-}sOoAN|x<7iV0>ib*#J|2Z zLuf%B$ey*~7D(kS%dNN8U8Y|fvu<`9KvwhoYRxY{1^kP)0k0E>T7+iqmF)1b!vA5V z#c1#t>y}hAZ@3X)wR9W=m(}dHSzN}ytNPeP(mBR7D+3~I$p6RQdq73CZ0(|r~2`xEyn~)5WL_ui<$wG@{35`Tal0+m+&d}rrI^2bOpS|}v z_uT*e=e;-X8*kjbaP?TLy4I>Wzd5Vwt661rr1OFSUW&Pqh~}I^d?M)nq+d?@W-hQ1 z+13EX;R?M1!_Hr3mOa%=I>j`_&O1!W06HKIJJmaX=58Wk;*>CjY4oPvXS4(s4OP-< zDZBac`Ip76a&||ROINEs&);Xff3A;@V;mU1tm=bft-vjrRhs^+F&{4-$&C}QxY(|?G=4|?g4R<_W zQFUIhvu{Kut&KKruyt&~8tj(OG>}_XG)Q*VYb{c)*40;Cx8HotR_tnE<>Y3qo)WTo z7@(W#>uB|YarI%v!}qkOW{Jy!X(8RqO%FWjzT?QN*#mjJ6_OEp0XmFGB(ZC8zd3Va zQNv7-fiz3W==DcLu&U7GA51#s`tGN->`Fe|%0F$mEny&pEo)Z1EfB~}begZp$gSqT zo=1_-_>AT@8_(RqV*jE~#ywjrbE#-jsBcFb$Bey-TnA%=UQn2MUU0V6L?Qb;x|SbS zc-z%F zRBAWnLJX>^;cITT)$4=3ug447`S#z|Z4R@wrmE)OYQc}Z=iIpG#Zri$TGf%_>@RAO z!<>ZGG&pU=hHSs*^5n%n)9*b&jgJJ)n!Dz-`0#0ND3#Wa`m&OuU93WFk8057Dm6x> zyY8}Xq3G|z$?-amu>|yUXoyIjuFrK2$i8*eYOTl{-D`Ot3^C5Q?@I4aJ5e=w_OPXg z2c4R2D(mN*--z*i7#bR~ed|_~cg0Zl#l~IgKF&ARK0P0!oNZN)ic{fALUlSXe7bUG zS$g(d#|0I3$}6G%v1U^*eU$7ODazG%zAbWhY!h}r`BP1rA{IiG*r+n6daHn4wuEiN zQfdXlgt^b8?3$mBR-VH zj$iFvwu;i!t?+C}4*iOs@cF8IFmJ^mHLVa4)ICz>{?U2d?ttT|UnUd*zK=2mOD25ETR@kBe&sX3rq33^jRKXGY&)3sOCb#L_-Rgk6yyHvj4pT|Q)DyfR6@ z_5AgBxLwUHH{VxwqQgg2XRwaP!tThAjLBB0 zy}@~ou2D2@zToBZ+s|*;0vr7DKQxqwuA}yI%#Yq_jP9+}`!1V^d@(UMn~=QNJSuyE zy}VMNCMkJVGS`DPop)jq*pu7ZX1HP4_uK(;cye(s|3+Mw0>=Qbrg!%Vx70-`$zs39 zSBlnyT!)PN5}!Mmx4#%LV4D{SGSafbpQ{HKE0;vU&6r(la_3Dd(yesr&?T2AEpKcD znOL&>ZaR6#!Cb7>kg6%MUe;B!9XEHvZTepVZ<0gF_ z!sekM67O8$;`)8YC7CTQq9T&P)eG~$p=#b-L6DMylhS5&>iObsJcGFkZ=Cm!?HzC9 zbm7&VM5nIeqkRXF5ZB~a^9-*On4d$R8F@=~WTai%eLrh&5liPTA)T**K(Z|cS1c(M zwZ8Ne(F{NVQ6F;X;-!+Z}W4p75;eh z%oH8T#JMT5v!GfFB?yh9r-P5Lx1+7c$ra4bjYd*VoJXAJFn#mBPk~dzrY;_UMg}|8o7(g-v!_0v9;snu|LEPd}U0E@K{X z&sEcrvw)#H**NbR4uXHv))8iInkzDyo0uJ#Fm|nD@h5kOM|V=L-kUZ-l2g-RH!fc~ zT`0WA*9aPEgNgq;7*A061*oL#A0W#916xZmZFTi)wmyyyJd&~}$QoMzkx543_a}i& zo(_(Izw(?sXviZWB@g76`se&|C-)~Moml3YtFO;(M{jkQ$9>kY9 z=)SGJBah^-mmAWE{bn>COK~7c#`=F@(HoAg&Mv+{sS1CwuJlRiG-7(T9*#U>cWA_n z{Oo*#?gQ7_9=6Va8yNq(xub9A=4kIrBWC96062w&oa{e2#M*FF$e1(>=)PLJp!wiC z_uwh5(Ok<28u@B2j>qp=PFX8hP{m5LQPBC{pAzq`ZiDtD&#PBDS|&LP9IH$Yx0LSf z?#5&tspdDjBsEH}^=dGPGL3l#T3qpu-%n?!fns5T)Le+h2?` zc86UG`uRhB;B zc-#y1c60Lgv~_){05|K;fEgF@kts=NUkdaJ%Gs#EmCW=|D~YRCH8(e>(mYru>lG6& zeqU0ffDjDwA%Xn7-zD(0bKVxzOs20pMr-HiF`@lw7-Dn1UV!^@>P_|eo2-|9*qo+~ z=_=aWqv$c1U8s5@H2-#BYxZ%@+vyc5^V1ChW#Iaun>EsreO?$-O-=WMmvZvxydaw@ zdsw4Dk%KZF1H<#q{=L)Nnj!2P#c}b*Pf5B7=$`GmQr76b__!uA#QF#Sq z&)|;vY|5%%l07$=W>+uvGnttXt9MQQ(Qu50cl{5SSEJXK)E)|ayjIu#Wo%CVfquO4 z1^Hg1B{yP7|yumW7l?J0if_k~E4N4et z%g(OgoF656eD#(O)2y~2Otw$UT$NHLx8qTd)xXs@234$gP}ogAkO=G<`Po5z^-`2S zTlM}*ss%&n2OF_Nt#nH9$h<~6*dVuAa4;<<>5kQhR;fXLCsm#54}q)uD-*%xQ*}C^ zOk_qzj#`C-|FYY&my>pNT{=7z+qiM1sBjIWkdODz$9q2gD>O``FI%#T_o@wx-txf0 zSX)$cOV?cFjH|-~`+<$HNeA2iF|#(#_j>ssYawoyEL zeFu6_{xRkuq#ouv_h|~<{{xeyR_?*Yq^BpNneIBxV)GDO zg)yXbq40BVnvAKx9>d5L&1k2~&#Xo~A!&!>LLXbsa3&vl-`sTC^Im9V=+?bKc`*$x zC03&9Q>{BUHrJ)gqH)eBID3tF@8h`eWb8LzPfghLID9A9t1KvH(P`Ulk;Zr}F+eLZ zqqQh3Sc9f8B&5mY;L`3*xu_f4d(oEU^~)OX>OPKt+jUWU-!Igz%X#W8*ny@nD5ttZ z{SB;Pc5Z2p#%wW-${%atcFMT!j8%#0(uIoB<=(-f{GRP+SyMudx}3aPC`q|y^_vtZmztIm zUX8uL*1{b63mqo=(X2Y>ujRj|K;0I3c!6fS^ZuR+*%d&R`h#eeGv~5Sqxj`Ksb1|{ z<#h;kt(UULH(Y3qyZo_dE7!-QZg{R*LS4GFbGI-MnligT9y4DZw!z9}mnRSNCig7HKQrI|>N z3bOCvs4L*(H)zbD@t;N3)fFTZ!Y8Z7W+u@-JBsTCr=B!SEsPV}uETePI3tO59LxtB zQn05|4^&XMqKNg;HlI21v#dgf@8kx9EQ-t=@^^W&OrkN-EKK>?%eai-9#)|w(eJ)t zkFi45LUX!od2=0fesX>fzVTwmH%hSVT}!EG>Uh0k)iuGr=$LzKobuQ^94?Z(-pyOu z@SKdEwOtg;F~?KeN}C^JWdY)BtGjMeDop1V4rw<-FOW~o)M1!bS z&U|?6b4Moan9znmrnj^xrK;xSXK&2k5pYC*N6UO!tK{80?`vlC{JR`lt6I<2H zCMk|D4zJ@fuamp~Wrn|2eP`wHm-nZ&yj#O`Vo{PzI{k z6SR8Nu`?>XoAV@XfxO)z>BZ~Yrmy5&`|bxU&a%g{dwt@i-KzTnqg#_Qe?H|<4dk~-f=GtV#~IBZ7MG|(9Y4q!yH>r){T>}tnTn- ze#F66+X_G9DiF4&e%6w3buj#$ZJtqiKe78xBzvOJ8=ng;8#4VPUX>fi=O1g|AFV5u zm?%sAQRLJ@sn-*kJIHKaJK7xUe?zeZ;i3zG`@x%U5x|a>9ku*G;SGqlHM< zqY}+?lWWR@YipZeE;TOhwZX}E4IOlzmE#Ze_o=>Gc7?bP+IXt?CQMddZ$2bUUVrg! zz=rZXw_h!2#eW&+Upw*LwrZ?2Krv*~KY`)KTEMMap6c4+w{7#TEauyaH|No|KB5cn z@6Qn$MiAzQuU2_lLmJojd(_8508-f2L5s(xYmsb>*QWTft5m!)@mQj?H27yk! zAw;98-c$O_#1)05%>cE4NWy!Nm&`GYwBtW z(lTn|*QCY8#Wm%wYs#z1YKY6p0vRbtNPmw|Pyi7MP7pbe2E-~(V@b~aCaP1X{&7ul@%KW3XF+#=dk5$)5G5G{se`B}C@3k&sVFHasi~=G=ve6K zXldy<&M-5woaY2{pXcP_;^7w+;NcbKkgn$^`tbGYAZ5OAbVEPJ%eUA0($p z$;c@vsi}<9SEOZR<>VC<)vs%4YTeMjX=H3-YIeum!rsBr z$=Su#&BxczKOitD`0Z$saQe~gSy&&DZ@R z{bZW_r$Gvft5&ReZICl=0Y;X~4eabFHXV`bAS#Zw8>G<@jTR+k**M|nv+9G0a?uP! z2N!=STN*lK%HlxvCTJDT)4!K-xGMra)?Bz#*~Ql8@z~#IJ8>#{#W*{t)}!?6%FTYW zt7GWsOv%CZ$(ha1K9-HI%0ISVxq{cWqFKZ7&0a;G36x#5O#d$L_~Z+jOUvVO=VI^u z;DZ>PK^R5c44CqLuOz12M)}f=i^#O_g57*|n-osDi1%QoJyyEQ-Ye|q zvd3LAQvR*ZXzC?NGgkIB{BR3&f1L=ba4*F6^fq_&;*~UTE917DC7gZ`SK@?o`~?APw6XD-8C`xk4d+-6JrzF za+1_RHn-uUSF-Ei_W(nLX#Nqzt+3aodH*QVd+9=Vv9_-EdcGad+Jc#l!RM8T5RSrz+Figw1ZaC$pA<}hCF`)n~ zH@#_t#N@Tww`8*15J;B$F8}nlzA(CJDspy(-a7bxm9(NuQ_6gZPQkQ z*lr-oH{s{8;@TZ0b4L^fiZxSD>(eynM4Zvx(UyAHeATc0!%sNtOao(Ds}1dUF_Z{SB+PF= zTw;3K59IkZkj21!dTz0&+ug+SdAkM*JJ$ATA<8RH>@ljC^DZd!VlpuO+1|BoE!TV; zX037#s$Qt!FLt(@Rg@IQgW}?L$trObG!Ni?mGL|m(ufBe4(Qe5-`e`PF5r>QNG9DM zJ5sTGZCZ=ga;+J(^;(U|mLrxrUJ~h&d{ML#pd%W=_c;RVn@et4^{G*CHgjuN0%=)Q zUDfkRzaTlSE2*|S!JI!sb+cBHOe%aA-+vFNv=C{qj}Lf~KdRuw@$fgx03R%foo=v*C}xTJbUJNwB8i7KCm-dcQCnaUi=(JL%tI{D_P&^esJIwN2@(jb zeQgcJ)*i*sMhh@VGiC3z*61itFB2cXV;R5$x?~6s%`#AM9?g;2;1|p{G#_ z^ti7GoF0z8wmg9z_dI=0?v#0dm7oaRoqQq2tD@xX;G}4HUGw)mz@0Mh@A3o$1c(Mm ziNd^{#UvCI6vV_O#Uv#~fE*$|L7u+0fg+whe80cox}%T1x9fdhSC}Wy$qQ}mV1B;J zyncSJ4vJ2;PBL~54l*Kkwo(ov5)ux!BDM}v5+V*#QVw!567rHx5_Y_Q74g4<11RrA zF?(Rmk1x#I7Y4hhqU&n!4fBCH`SO^#0*inGe0XlVz*v z>FVX@sC`}K|B8SqiT#_0{*73_>;t%{%5S#&-KkG}{Ew;uto~9K2mlj}Z8eGXL#ef5Y`3A@Cn%{@c6$--GK{$c6OOsgr-eK?eLIr#cB< zkke37Qc%&+(9zM-(9+T~oH6FNP%a_ z$f?Q6safc0=~@2ckZv!Dz?dktAlwqS71{3w}*pee6N}NZwH~*8NVjT0SVt$xV8kc z-s~Vo!LNTS==NfiGAre;m;XxTjQFpM)C*MDyyfL)$=t6ia49=r^i`#}WC-G@K)^dH zKVNAOKYiH8519nN=1lw=wN#j;+w!2D4~ytUDZ6#PqOq?oH|Dklw?Gts>7--e(~=qe z_%~gD2^puJ$qzu_O2FWjcJvP-7B%1Yo(aCfcp`iM0ufXWQIuf_O#Z7%{rNsEFJwfn zfhV7-%zxP&q9#D#5|>V9v+n)@N^OJ}}fOEX26YDj-*Yzue*5UorMm{7vCz zK=S?t@FwHe6B#-K-^30DPFP;lhNutX7V_wCxlS1?Mhm`q^SkLz%m?-n-Q7X_E$@=C z!#jh}zN+R6$Ovv$BItt&iV$sa$hFTDA#kN~5uMW0(Ydx#z%{Ka!WT9O{Wcl(Q~#G>$9?-_D4p|Zc;CaYMkVZ6Vzen_$ z9uq;Qz&N)DWYv@k$|^SK2k#&W_#Mk?qxhv(z3deiBIs8>i{J7Aw@;GIh@dwW2Lv(* z_Pc)=kXiHOLq7@Wh-J(S8_6bus4t<2AT{@2vSt4htmY&8kb@qMlMk+xW3fhs#ffwX zCdrKm+Wo_}kY8eo{3fPMrfeBE)dqC*J(2?yB8y5mq?tneR40Ps z5UL1zepeOlK`lI)J{HH@syAM-;W}QP+X#7^aFy4mIB)UW|{XZLVI@x@;nkArD_L2 zZV*8~6N6J1-U_rrE3EZ>=IO{n|13cp>)WqkJxJ1WvZoTYKU*LqyQh?*{qhH}-^U zzt=4DMHPFJXJ(tB^$=3+wk!2O2{aOEj+64Qp{^c`OKPdExzp*Ir z!w|f){Y}w#He0RNVDI0Rgy{R-^W3khv=a`qPd@TG^np!UdR2ZYlVR453;+Ga=r{UL zlcbT1O2QjDSC^l6ckBJb3rf6*pdZ7#moZ<6pw=2pKF=fR+S_U?5bug@g|!Rh3>qH2 zZ#v(NrAa{~5kCvli}zn2Uk`*|4H?UD8Ee{K>!5r8CfU!Inuq(HAou|)7Cn7w=m7EM zAEK>IVXtH+Bl6+>+~DVvohvIcnAT5ePbnM?MN6VOKs%4}xc9d5aD1E%h&fikuOFZY ztSj>+(aq|a!%Az;0juqoaP$xFR>In!)H#y_!YMS?ST0x@|Kyrw z5p9M`OprT&sbrBX^(Zx|z^Qu2HU70?EElw{Vh?;`SilE<_rsG~2sDSko5TE@X=WSJ zL90B?XHy@0No<`}C1SRA>gf?4H+aW=YMIlaN|Jeg;?2eE4kb#}`;dC}W0Rw2l>9zD z2t^Bq+OX+jnEp`t*kkwnA68lc9$p*@(Z&~267H+=9Mj;(@UP&~BcVZ9^=TrA-QroA znRt-dekWpfa#=o=F|V6JIT985^#i=Eu$Vks1u4?9(>~JWSGv;tP=m#+CvypiyMq35 zl5lXawtycZ7^sP$MA9ZA2z#lL2$~V9A)QQ#jdnAP|Jov7;294lut1v=j!r89_3=>% zjKG_KH9#;xmQ*ol0`)o?8@&O!0$QwqxQebJof*F15`k>lf$HiQMC%mI=#qsjGHXmH zE9j$o-e}IJtB2e4Ej*xCAgOgIJ9ou_8IBc&jI#lHk`I)GaUCd4JUu)yRTlH?9=6W= zW?d2uA)LVJg;{Ju@6%KeLH#<=UJb-GB8VO`_X=x9_-u+ky6oOM!}t{0yQ|EVJ(Koj zh4LojO|`*dGK~9dZ?5xC$ogd>NPuxmozPYcm|BM)C4XKBsGP3)hw_MM$i9pl^2q#R z&=+}`qe^z{>0M~zAs#lPGnCnSe8JV!Vsl;WCoR3^SNdyBvxZDP?tZ6}F0;Ge?`(Xe z90%_gYn+OZZ^!YduoFR_WvYlECTJ|sZ@Tub>tm(}O+_coIeaOeJQN~=;6n60oJQc7EfHHRh^81UP>-%rh7&;;eGek2#SC_6aA?+ZtbO2IwKhG% zrG*phjR5cR1VVupY<~);0mfwg@rp6T7V8+n7;aquuC_Ep-d}4DiDNz2#0h>(5XG7f ztM!-T*+#9Idy?o?hD7?OdY^e-0FnJ9LAqhfG48v~1R9xRdE57{0p-V=Y0n377+yeIv>!pts}5|@Q2T5meuLW6^ag#7h~Vb zSy(0ZVI+N^eduOkpm+Op(le}|^bE5?@XtgLcQB&q(@CFR3neH+%ehGhH>8ndSa|1( z6l+f<5=NJp{Q7-qI3L8oMl;CbwWq$*pt5jb%5sg5(0P(o8|`CrBB-M*R1ZKHzDWdW zr0}w*(4!=lQA07;umsO%zwCT4f!A7iAZ zzar+;P8_}%aCpeHW~c%Y^p^6^I#c~Qn|0yDSOFg+>;W1T&VgAZJOR@J-BS7(5fu3b zM~C%!Oa!qoo>*A-mxaBe8E-1TJ1z|o^oLMG+iI?_@GaoB&*>+hoLftHQj%08be;%WJGAvE z3=PJ5IS0X5=X2Vle1AAqy(WE^KWtDWbou8aYBFvrnd4|QDV&QHihUC*0bt+`RBQBU zw9_CF#6b_J*;XtBR25#-lp`0(I#eLD)1a7@z3*TOf8m6^u7(TK8$hU3e?_Uz;)pJ>+9RxSV(GB#&o9C~qnV7vned)zs)>ff-=qO7`|Sd}af!TkxEe;P57*Pde}w zX-1k+gwVuo3LnDK`BlvJ%#2RKyL4A>^LZbk4!$#ATaxZ1e@oKttpP|dCjMO}uZ~9P zPba?=!@M(!pq{fc^~hF48Do^v#pA1i&NKBhOnL5dakQgrSJ&U%3(M5p_x`xE$#@VK z7Jd`+ZXlzg_jR~}t{itnEcnITPV})9fjZ|{7130UEfRZJVfiebGMeFnWF_0VdFVuD zFzmMR@snNFt=GC9ell_2*kyOLVP3RRcIlU{^nc)aYN$YVnu@Q_RQ?k!tM*`8*S9)l zGtI1YNcO`%gG~1pBFJGX9z*CuP)H-r+}O%3JA+R!sRG)i!cS^Xf zlsWXfaWiF{zd~zbuz)ks$XcskHS5hc!K`S|zn-`Pz)OJMp~Dq}z{e0l$6g|#R}_aQ zpcvDsLlG55ph_Z$AkT}aaQEH!dH4ZtWRVIVn6SlzTC$wZ!zCxs04(9kFi>el5Xv%m z+E8gCD9LLYdQ5Hs5TG0sd!%gM4xUk65Sz2Dgxrt8e+)f$Ea`5c`EtfX%I2G>pH4t^ zc=?M9i6$&RH+C-Fg0s%W5kch6*qdeqjb2X1WAAbzXs&QeA1j2yr656>M9_#4@a9qM z`3JpfMh`mk?OZh9Z~B{xflX7*$V-QDceYIO5>zf@hg&L{x>%oA6x*zrZjC>YPomM>!i&>!{Y}h`yRxDDKoR9U#+d0K*pmQ^)3OaAf@=j$A|EG#NrWSkiGm<3Quby|uj5frNQY{H>LkZL> zZ_zGOOu;~dF5&|Wfc#UB1{gU|&)TPF!%LRc?U%$&a%|F+T4r}VO z{ix6NUz+Tl|7DZi0LJ$1L0^W$rn~x)kIM}-;1%E}I4mA$&Hkl%R*e2PZ8nhD3;0tA zvTIvwbbe}M>o6fJTBu7|{GIY;SH_zloG`uuGPlyekN9DZ-epBGE9-_huLB+}V6w&c zTT5CT_;SU4?-u)UJw)RWjI@Kqh?yN`CLGHmI+{)fBBez)iJ*Zms|Qm#a58uga{E3S zX#CdP2GF}774ZkCXT9hIu>Q9r;cTq;-uV-{#f`lk#A2XI-$s7j;m5mD5Xov^aI*d~ zR0Q!^72#rp(fZl*^>wZ_Rh_|%@^>~Txt3>|TALdb3gpHQ@{YS3QY$zOiw%sThh7Zj z7pQ&JT0B_aJXS+AZDEJ~Jo2oACfPA#D#*NW1#^dSrR50N%M?&ZVf0~cxP8_650vu* z(ReLJP5EGhyz_||zrs&t-p=`i9w>z=>=@F=B&2oe@Ky`Y}i^1wLc z18NM+9eSk?7ltV_#GIeVvUD+f4!(QCRxQTyHkl)(>g~eR-769U4fcRt9C2g`Ky%v^ zrQ}yIdI)$&G(3>gq~+P20{rMv+!`&?psdeqbY5+R!hKrmmVI&5O~xAp=b^jzJ6Xc! ziy)bh^H>36ENoWUy_vI{;=Gaerx5ctc_*WTr@=*Zr^D!dnv3C)0IM=4ke&&P3Y^P{c5^vt+!*3_Eg-NHTv^sdW(Qw={35X8mqpQ zNl$86?SL7M;SkR0Xj1cgrGB{=uQ**czJW^b6%YM*CsITfo>%kSPP9Jx5PUs8 zrTlS@Na)Mm3mPo9Ni;ZmE-b6kYVhv9!!40~GtdCB7?~B5)`Q?ih|d;Qa&1#oC0jM2 zDslq%>AQbGua5*K1YT`x1kK?Cv*i(o z^Gd?ZYoVgDH%;dHxam)rFdfkD{Yixn*W%gJ@4Std;!iqV#Od9w-A0bMuEIQUP7TwL zm|I58**S2|ySbr-7BAE^LzyG9dc<9FyCQj41%j_bIEbBx4{(cPzUECU_(ramk6rf2 zvDRFkx%l$HD{`~}3d3HEXtP7iE;dbJB{GPh*x}W$DkNT#|Z&-_S5d@Q&_Y$W-_a<@@@81udTPOLR?O?rsk*~gJead;&3*6K-g?Q5}W-< zGt{IIvFwn#D04(ltuPonU#rz_5*<62I2fvcVaVCiX}1symquKW(Y3IJc@Ez)BwoY#n#?Kkdturf6bRoIB&g`L4bz>vOMNMV0+;8cY_V@1{>gOVz!ST9}6)q z9v~?Q&Ct?-7O|1BnT6sReOCSKj=YJbq~)zR+2wgJK7G>I$DFZtQqaKU_WGazperBM znQs4FY%!+0g^ViR68F!y(t##!$^Hd*V|m1}uT8&=Bh9T0cOp)4$FYF}&;u~cSL89bZ>|Bl$cH^q!z zgVq7VGN^ofFWdhH z5dT7KBG4@YhU+t}yR|2CluL`BL}uXDlvitu6iv44b~m41{Onxlqa*_A6$k`Hs_7> z`guvJ!RVaKFD8D-f8&r80#ZOVCyY+bwoH{%wuRY4<4p<86^IW@TU>FKoqFfa$397e zSeZ?MF@}H{sX~>p_TUG*8A!1f?#rg^PM4b1?BtXA1H4a#JRqbVDgkWs$ZW(R@OpBK zw);mFd#M&5oe?e1EbfX`=*NS`Rn#cytZdBmjRCb>O7`I5rmeZr3*4TJP6|Ji$CQgY z+yR;k*mbmRaUU9C879z_?q62m_O(c4eeP>X;+q*6+QExaDl-i+Y%9kcA*`EH?akgH z8tbxWAN0Iy~w(CDU%9! zS47>*iWp5tB*>s?R>cp4yK}Q2EsL>Po7X&h;Gj~mr>P4!w@AtVc0Wyh^RltY-P}*{ z03l(vJ2lPDKTDb!$i25SyiR)TiBrTnWP3N*QfJEU1hh{I+wM8~;jcN}8_7muK%5N6a2#@2Lk&`OBT%_Vop?8ytK zjb1b?>)+LS7}Z?^z9>_0?0hT&|G~|L&n>@X8I}%?5w5B4dzTSHP6TBpCQ8R>g@_=b%zc3e2RSI{IcaFmwE^=q<{1Z$271WI%chN=eq+Sm8^wj5n|5p@g9nKW zgRKQd2hi^o?%Hec^H^7DwM+Ay4P`u;zUQMG(L6BkuMI<(su(5vV(dYSS@340-_>Gw zvrl0I6V?g=_vk`kP$)St-x8a!_mOd!22;(aDqR?-2c*R8V_CMyFiM#EVLYA8UutwuD>CI zrnP{q<%s5=V}vLmR?w6{1l71V6S~_F7gm5tMSyL-!1Im@Hlli_u%R48P}Xe(CYuP_ zuwcZo0W_#z5P~%zf(}H$BQJXA7}vQVJ6u3~F`pbeG))?>1w>``XKrHcgL;i@=8w$@ zg97_mTO~0lBm+>C>^)yV4O&=LSW!2(dnN8rJE4A{PCV9Z!f`i8i=N8ZB71(zkI%3y zMKPv&x(4zZaSct^2n0gBrfn$nQr!VzOwpO?K(vwr(INN8j7S8M2v}_2aOI9@A?J5`v&PHRj(C97u<#$BT`a1lXfB_WX zVE>#ZMrO7Uly^K%fF`L7ixNQr3Eg2V1~%r);TM*5ZUo<^oc?#?o-v4r{-Gi&3cSw- z!;`zW^cq16?*gH(C?mYBeK9p=fpb-0nL{F^Okfnjcb z>$R)=p~4G`m!=H#)E1tV@^Q$c`g%u@1ZvbYItocuuFrzqG#=iqw=^>fpwCT}mU!pi zL&z6TV!Il7*bu?GGKE=2K0)tF1`Yzf-#sGekh3oM<#)DM`A}lB3XvMM_`r{fYJSL#dtstITNtH?M?be97@3G{$V8&7pJwqz}~yTxb}&lHTQ!f ztDzfTiLfme*!RJ}<7N^lCs#Qu<3#$)zh#&vUFMv4;lvIVWjWO2(66z;cJJ6!vNHqh zb5w2VzG=21^Zd&VNa<#K8XifIT{`M%dH;$0kkB(UYlC$5X21nVRDP%IV}e%Sx4PJU zS=f-8*N@@jN z5x;Ov8p>wTW;$pQPSUxrt+j>9^MWQJIS8P@sh@I@dTF!g+1#c5$2{_{DUIo%j~01A z%xm{2yPyqkfelrBhT|*JW*F&~ZA1n3dTvAp;w73)%V(~tzj z74_;c)^8zZU0`O!&zF<(82Y%j9QPRnqg(ndtHWgJ{T<}71D_ue)V{iQeribRKmIY!XA78dkY0y1f0y+*APh!z=aznju*J%_rqGb~Rh5=uO;p zwejzYzSlZ|@sJ}@crK*i=8gnMJeV;XwxO6moo9ZWw@CRAM>)e78H}%tn6BqMupIJa z?1H&c`y`kuvm!Qk4wt4kc8Pfk!tw^?~xVR#nS^KPy+l!Rt<{Jco z0bB1SgV61v2XTl`=+vt$> z0wMvJTl88pVl4@**i3MwX{EucMe$^QWzw?n0$6c+%GOqVB6hE_Bor80@b0Nf0fAuA zUSO(Z6R<$hu9Ax5HI{5@<)o!hlY1h1{_v1ft^r6R=vy#mso01RZ4K0afIuezOuac< z26}YaABq(~5R|RKqt%XC$;Ywqg4?)#pmI7KrQ<1ypa=~&^seC=8UxHl;DUjwX$k}# zG(@|8FR%dNW?M_3Qz8xj!M3=lZ&H-QcC1y2di2b4o@$jrIBX1ijTmc{AeaKsw>Ntg5-t;C2sBV{a- zfHgP$O(STw4f7zw!|5;~U8$gTdsq6JG*7v8)ta`jqJ^^eCQ8>L1k}emmv3gINmK^% zp3JU*w_<;d^8iNGuUYSraH%>W)`lv1M!yNoiZu~q*H>(Nt(-QRE+v*+Pc>1+7XUSY zLNv8aVv(9?snJ4|o=yj{w}*~kq4n9_BnQ_Y`6q)Q#r%pj)wgY)n#wGbRL8ko~U z_1zzdqq_aXa_LhLnAwtE&QLeNxqYhaZu>gzUuRPMl*|_On-j2?=m8%?MRBukT}PiT zh8bxLdB{k)vn73TI{h`_gT#yVuZlm1m)<~fLKk2bXQNAB$(F9qr%VW{c)m}1w)@66 z2Sv93_3BJQi-**-)`LAX>#Cuo>!?ZDxZ>M$?;5AsmCX}Qp~(sSxNAcVR|0n|w>)d) zkcDnl^j>28Pq?nU>2Z(aDVv|WK8Jk7fO0B}H!m3N2^oid z$9!OgP49?g`@T(|O!K7zaHL<4-89`%^jHwdU9~4sx6AH&ineD4Fm6QedDY}xyr%bj zQ~fdRNIZL;4@D3`ydJmaAx-;4S18Eioa-+Cl8iyB?sr!U86g?ib})JwI9W1S6U zkxmVacFvYPuiDxfs_)iV?KB$nnboJ*n{sBy?mNf4n67_sJX>?fG+FPw?}!}>!jR62 zM$A-aIt@P8|LFFi3GscT^prt7w&_E!A7w?D1LS9-Vm^5Lk47gE{WFmhh+(Jy(KZb2 z4wYgpFurrUaIFY^MvGV9lE%967Y8abl$~!?pg*RJsU-sQ2kh%?>mRPSUx>`t^;u|>g+yrxJ1xBlC;f2yssWS*v(=D<>wSCl ztriUYuPqSh-)-%7vZLC`c5V_1auR>;nkxtFUh>BVxBvCl!}7njWc%yZ!{up~Fs^o{ z@Tmi{U84_l;$?#eo~oyL4E5|t85~?lI8N_=urZ=ZepX%}bB}l&nirh*?sC@+ZeG>3 z*Do84Un}|*2Jg&l+~0#&L8_g5WfvE#(A8BH-74(t&&9=Z*wWlG?F;);PcMvz`E1If z5JwxBRmL>W9jAcmy4uMJe3wV%{>;!u^H9&meZP>|Ob7%KG;IngVXLYhAGuil95?>B zw$`fNORlJ=b+vUJ^2t%JUg5y2w+Owx(%e3j@bzl(4nxR*p;auL;Ua4lx{@Ac=BIa7 zif|-d<%^4Xd7*0X1C*SrDPgd0@p&1=RQYNwBECK>p*zmc=F{X+=K0F+IW;d9E`pl5 ziomprQa&%PYPO5ZnJ%a-T3A~x#HZ!lr(nBlsn=b+)>lNEh#HaMdDamYuj5*5A`lR0k^^;OJozoXXmWm&s&f}gy65Qy*kacV-ioM%%;%1h)CS8zab?B38}ckn$V z4Mm{s^x;t2T5e^x%-!ozK6h6O@@g=VW(^dtpB-|S^X4dMoWF7|CP1<5{!>OWhtGw5 z3z>yBvEXBqE*~*Phgj--&J1oXjfAkr@tw1RjHid|uK0KaOHoZz>&$ViNQXFFt(j7& z7Vts$=n^V4jcEvv5xV~Ose_-EDuvgaRy@2$_T$5TO((Ne%zfKO(>2r$RA29zr73W| zcD^i5-MBG-Rh9Pc0}tIx8WNsoHj2~D=use29h&P0*J~Ohshu1SRj=2+r8bQjDGy{| z1vZ&H-w^zkwvE0}yohGCCa|AbpA+7u&=g;&KwkLcv0&4_k1VGxY+IwelZX7O`kC_! z;o2`B@&%sJy8BVJ3{`M>Vv#dD=M0oNd5%KBbe;AZZDbJaR$E7;)EkbUDo;UC*96fi zXK!b|ietEKM?vQ3V8~hSBKqBKah7uKRikY36#wo~uBkQCAoF_*H`IyQdGLLPguATF10t*Iz4goQ{zejuAO8 z9%Xg=-J^@wTS(!8VL`s$lQ#(Y0(gQ8>$DmI3O19+DDpp_;dMQXZu2TbEKI>5}BA8!MnfyB$+n zomCv3Al6Hwn@5xaMj!TC^!%O3idN~X$Be+ER9a@$?g1t@CWHUk%nN>NOP9LF(*RErM3QnQr6Fh4v- zb@;HtxTFoTb2%0#f>7V_d`Hm0co|iUI4Rl?u@GoV_kNWO+%}N@H>5p#DDripQ<<`o z3n_S9dn+99R#DSmto8bl%xL<+4MGk=DGABvVD;pZN>RpO#qn5qh$2MtD@sf3Y$#Ku ziccycszQY#Dt2`8BCKW9_+dubzbubPbVvR1o-QJgsw}oE3|R1(Pj*4C1r}t6ON}7P zTWF<_Gm0dz3Y0BLz=-jtlB>Fr8G=$8p!kV>WkYOPg%-&pNbytva)lyMR(W(6;y2`v zVTxE}4snI)d9;Ye(fS6& z5$u3KeK7iDvADUZZQ$lYrGi{1v1u(qkP#cIpmo#)9&Ht-80O%ZGo$x#8C7cyvRv`$ z@}K!h!4M^}itlEKacRS-KP_g9*cTVP@Vt|%#Yel@%}^5*0yt|Zm((msxC`_5Y_o_S z3tKNr%GwSRpkmUIpL}(8#g7Y`=}9&uSor3ihmCPER7~ExRHR$P>JMe4bgK%Tt$!Ho z6vW=Na=go#e;Y3Q_S0qH<|BL|OQFGlGqz&lj{A}1`sh~^fYOXWmV7Rd$>olfQ6OWA z)u+m;wt8-Qd9>2eCJO7U7*12u(g~;HCWx}4QtQkvpS{5)iPMj>#q=9BHknEV%BF7MD(z2gTHW>^tf#)RM9?+w-XTrRc~^biDuERa-y5jwN`m#? ze{SK+C=Qkz3$^*wrx-&VnL#Bjg`MI9vlkjGSlf!k9430f?AAs5>eBY50Sq*mE|87W z1tyL^CBo#3pxbRk$r4@_RDNF$M&?^QTK4JOUq6x%MW4XN7S;$mvGcv3*Sp2jk>l*)v+ZrWd&|b&&*Abv?%OAKb7d9V zkv5Z-Oq(VE-+;1;~#T#$uPLJ;g*&8PPMZJ~@Fd z>+c(=wkoodo_CE0Hy=R-0|caar^kDks3DAvrMQxBn%#M&Lf0{(?rD|ZFAj64F=|Cq zRxtcV@$WPFxgAFkrg?&agfICHqzh#8IQS6FJVxe5hIf9(fhUjN>g(}9J+cy)&vPm~ zKQwMC9$-1A9*oo5p4~74dJPTgbeDUqpLh`$r_x#aO&29ZKa^+au0t-&oj%_l9NM~j z+5wJ}1u4cjM*>x@iabUR~GI12rf6Dg`@^003Gnu6rpl zU!Us(X+FGG@3XUbFz5`1xF0?Z^SNsD^HYZ{4E!uiZ*B#jZ<8Jw&m2xnZwVe~9mR}I zr+d-h&fT42c?xwCjZ{^a@%8OB?icdrl<(_4$FljI$$9Mir3s*vnNM@ia7-(l?x8JsL zvn*$kQjK4YZ?YF1B`L9pb89@y3DjZ{p;{3I=M1g{b5^3z&W?jpUNejVh>Ze3MdUk;b< zbb~+Rjk*}cQSM3MEyHhFT?Ct^z7S}KqlCO8lHMMS8Rd+CQbUZgE|B2@V}-dpJ#%h3 zae&_Dl(P3aSHoMJET@dH&9C8>?VbY_c8k7lkmI(PG~l7mwK6T?p5`Bl&9>hB%F`eF zZ;w`EmP<`+(zP^H;|xl2DdqNDb_dn4s+#3CHO+@wVq={#8d$ig#G#nFC^1U&V{DQ? z>YB@HAzah~@5_U=^vYGcaTcjK^TjGRvA>zcPb|aPsM7K~h=z^a)!w8SwJddXz zH2P^TwAfp$Euil)jy&KK3WxYn(GH)#`FX4}EiMey)AY%okZuiYR{y~mUSq96PoJ2r zYMDpp*7}s#WU?^Vre)TA5t~RpL!W-#1#e2`qOLtaMHi)7@x|d~pwpp%n@a1B= zRSr*Ic!sdbclbSb*CJhHS{PMaIAg=*Gm^~lTGHdYs)F~%5&8o(Roz}*+1cki)Nv2Z zwK*nkiRTXlPe#j&N4)KQ6QD*-tP*AFf~d^#NAP9Q;l3C;*Oj`)5s6M_5&u>0 zh1Lq?Qn@7?z0LF5ZT+){i?zn7;de(JkDMnogY3CnNBBqAdc>DUxEOTpeP-abPv>=HZjt>BW0&IKvQs!G@d}O8 zak!mxovZ2Toku5>+CX6H=qQ%eM?!kpr!E|A4Rnf~~6_ zFQOcg9q3lQt=L5~Fpvy5%Av%-Wa^KmB?!0p&f0Iql!-o5EQEkjF{sYq(%&YCrlxAh zi^1TvCpkF7A-<~ETq1zxjVQ|DJ1s_XCfgIPhE-%>E>SSpRY%F<04Bc&DT8joo|!T4 zQ^TZ1&6KG@`n|3GLH~<2|R<{eQ}^ahi?l-WS$tr@W300 zR$hVXtnMBGu}f_NIeS%S<8wm6wQH1h@m7L;l+0D+6Cm*M$+CB~_)>(KMIBWPM>_8N z5_G_JRvGY4d?g9kz~s!j(Y;ZvlK;2p3G#)Wbz|`V20i0QxWCZz`M=N;_aEr_{r?3$ zzyGi3iTB^p6XxHeC+0uU(@o}|=y~K~`#;dr_CL|H`u}_MwAn_a-X_J>Fqun^^faNe zIV#&TMXDV~w}d1EiZbFo;&G77h*afg_z8huuB_6m(*;anLIe{sjANc^=magc(SLc? zxmbqcUjt9ZIgp*q^DA^Q3)-oHQF#KH7!1oelAQq>&9X2RMeZdck!}S+r5ah`I&MOg z#)wJ92|05}$4YEE2+^UV=_1d8*-8q4Bneg@jwoo#z)7PVy_AISHW;o5i3NcH;l+@H)uu3v#fS*2NaO61lO zl@CKPWtI{tMSB7T39ceCEMKG43HL=}g~$CZm;lRVFOji$joSmR0$>d{wl9 zE-EpYoJuM5NM&6jKth~_%(`}H!l2k@ATC^Ac^5MVv00K>5@M+hKsi@{eH8wh&^7*U zs3HcnIY>!P2{VKVz({wMCN39amX$(x97rEQ>nRh4f)~>Q{BBIw(YY-A?O|nG*C9iY zAeQ%AJpiV7&e)}~Rp7iV`DipNp;2wtpGo^y9=j;%47#dJA*>-usRlo>@)EY%_@4l0 zE3+fg-GFjqm0qkNfGLwGIW}uK+*6524(2%FMmWzg;Lv34I5q@e8T*vjxZOsa1;yMi?)S0Xbbf*V6F}rHPoW*Bba3J z4(|Ml2F;a1bXp1$#~%L^JstlGJ>d)a!VY=zRJ;2>Nj)!KAVqqE(14Sa*v6W6UM8W# zS^_en4Ya!-md}%@7Tv8c?uiVgJV2bBXeHUwnKbi?UthArm zw7T81^Sl2rYIUEv6Vc-`GI7I6u6*dr*HA%jUyYUD8g7;iL=oF7ASG z@ag3Id=7iJC!pUtyiCKmq`%xWvzD)=_wDLvU)A5*Zu>JMukWirC;d5NiV%fB zkL~absk4mky5no(-N;8mSr-N=(f;}pBDz<3eo{y!pvG`it}t1DeBpGzzO|`*aHgZe z$^Q!RP`2|n9Kqu2a7YA;>GjB|k8BG(d>z0z$Wp^j?`z15t$<(a=lMXoxe#6?^+({~ zm482$dPbv>R$k5$kQ|2g2?G+8-SD70m?og`-FO-_O_2ocd4{)j2&2O<{2c1{yvv+&@;#2#@ub-Q=2{!3`<(l5gf+@4MCg(SMRy>49 zgD2TSFYoIMS!0;=2Wzp#Ro-IW49QdI>})%cV{ZQAk}lwq866K%LZCy5D3e-fa}LIhw2@C zn-3$?a7%!@(dh-yjjtT%1XVEI7<`=Rx$TsN7RPd*rQ>+~J2TqrdR|j%9Ka#v?QcCB8h#Uha3^BTnKpjQ-t8M6oss3M}uj5y~OFcNPO}bhRnxklTM4mY(wx$2TC0h3I&RTX;@ydhK4Tp z#>v2H!)q0v=wlHhl4Ey-lhj9pOb*0CZI_Bes)2Ib@}td3lq`tAiJO{<$2e=PdvoeH zaq(vzaV}23dZK~_PQlPOm5_?CDDSFA-WYIm8P=m=Y24taZ%lz;vm9GT zBl#_qRHaMA{j3vbB3I8mrB}f^bnG;=)=rZyO=riH4HCN4m86uWippFVfiRVHf{iyZrHy2$}ffX2P zt>~BW4}LHu-^NkckW_X4#-83g)}SPLCVG_qHNpaIZZ~>l zeb$!K;8ByQgp?=0gqP6JlxNr{>-wUonsvcjI>xLXa+yi4W$IQ1hfjPNH!R4AuH9+k z#*yKvfV_B7;nAH6ty_Dz{$!_in)2~FKr>IX(hFc8ybXR*kCS8o@J4n1_M*sziQLUA zp)W^UMJsDF?AJ(Jrb&VWFNNJXxCtfBHIfb5Pn0Z%z8lz!SylpA^wIzz21o#(L?X4_ z4x<=~)OslqW@mxHC6V56)xOAlOA=`Z5-|d#8r5wqD~+kzW>s3A3{v|8spjJmlVtVs zYfAz5IyRTlW$~-zoU0L?+Bp{PQ=E+!XX{U{LtXKhhfFFPm`Py_54n?TZ(6omMBDaI zo(hkq-2L1VTma|n)b~9Hcyn2C4KlF8Lzmh8a7c16AsGsxE#xM2#*&8o6IgK$f(qFtx zs*_5}DsNko4!0Nb)A1DOSG1eIR+ybhSVcQpMoy<(4T{$>tlAB4XeyCC73K>c6N0}k z+5O9Gjy%idqY$K_b1WDM#9wj2LrwlrxU5gCthe8E8%wf{HQgM}T;d0K6LAg`#Eu&Y z$C=p+XPy-m8uDC;!?6Z)#s?FT`>#O~INVPB>m&+2y$&G`LSO8#`LDD8yuiETi78C0 z(RxtPJ@P5^r1&VCz%WEbraI}z9(s#83zK$79qAFK$k$8q3(0dIYDR?F{NcF`3SxAL zfB2KW%PGvP!%_h4VFU3N!tOcyr5i2AfzQf*%p|p_xeHvq&CCjMrjmDFZ@#3P z)}nVGdEc!~cigF`O8ioW9li4#_qB8Z(iUT|^TgFJ;O=lOO$;hI zS;-V~!`^ge+2hWuo<2{j`ZoZD6JO<(heY8#Kr!(~=#|Z@DE^(f<4C*^rcMN-5DFLn zN$`#Ynp@uGS!N1E@b2yuHIOURm7DAP?>ghagt>hF7JULT;=*nupAh#{>jYWL#{zq8q@hgZINkcEA}S5aEHB+9eLKLF^SGkSIjw00?i21d>$)_ z>rc$YKc$u*%kj?Wn;Oa)Y}H}uHuaR&i*+IypR&%hg5m9>)&gFA-_wd!Tqv1V>@PPR z*C~c$>Mh{qPWdm8%BvF@fUX7ed1`W7z=qI#3WFDjasTjc^&Yp-Kr9=ILG^-qta$g8 zOIMs7karfqtDz0XV|v~GcmZkBb8%XXdaCeO7gLO~qb z2F#-8{R1J4C4kfHjgUWsg-Yh2oD@!ITxU zHR>s5_t`*}74kMJ=Eo{dLd6l2{7iyIV2kBEphHgOq$A>xz!edZGntlxw1;zsZ(FxI zHXXaOWD6%OX; zl98UE&;yJJ-w4@T&0>)KJ5@lTgU*^ESMWHPD&IKe!%91G+{6_lN z0&za;F-OZI;|^J1wjvp6VNjqtogtkdR7OZLx}GRgfm+stM>s(Xj=tPt5!Qt!->>P) z#4g=kVi!vRb6u!g2@D(VNWDVB7|yc@T_H3ev^X_>P+(X>G&xYk%9aQwIT|$vQA~sw z=3Q_~Vh&PpM#*~~*oqL%PR=5a?M%P&bmQL0^COzhZ+)vv zUzZ_OemebkJb6c*2A|)Yy649pR#Mc#0oKOOkD<#6^U4kW@+EYBJ>Qo)vx&=(b^h+n z+J~_=tr)H~pRsHn-yeJZH-hrX?mQDFU; z>)Nc{`Gh8zZ&Y>_YFqoUdTEC~vBQjWC@AmO)1j-}tmS{%qTcyE^IW^-NAp^at^Ic& z@S)Ys&5PVF?XA8bhRD*QzT{P3odcdn!7Se#5@<%Vi6M%E$RSRZxf7g7 zU}H@3m0q@*-8*Px$)50b(RqYmb%~`nC+NT>VX>+y2G6DFaEp_|A&*3fbhM$rOF(cS z{3`V-_qDU8%(yr0NJ_tONiarse2GZ%bJ>nJ?c$R7V~`Pq@HEKgsL9g!`>Ah}z4 zejc_o<>h^EneI03Q3aqM;O)TVc(z612n=#h5C^02nq~~+JLfZ^|2ieQ)jLU4^fR^Y z>VBysG$!eowJyehkng84>ax*kfwXAGz|aX^RMC%TW{n*mRyL(nf99SqUZxt;N~;%l ztc#U8mCdY7tEOCD-e#DU6gSG8Lt?0{FI(ogVH5Wj{BBR+woOp-qGW<#<&GISAToN< zt-}~x5qs2{6eJ}eBBVm8kiDT~z+!q^?8EO&E$Njznxq3aUc3c)9lo%57L z%46(#XBcSU-mBNvb=HvH<*m&v0UlOJ7f~^wPDfow8fj;uU(IaCw7O|FV``n)qZzQ% zxo;5~&s}!|gJO&k&H^z#4XR8oult$~ij2^a{>+Xpe)>9JZ-IT3*)!1BSr);CbBy)? zHm$EgvCJ{zC@QHjCRCSZdb@sjUEiIWr^V%5JY2G?f3CTvuywetHbd%nH8|y8t*abA z4g8vT#ZY4`URm&u9;O{Vgz*-W<3>gE7-FdPxMBg+JBaVqH#`mln$kze8AgqF`55s1 zdS0SUrq z3oqn0ZYFl%B0y2&btZDaH2%EyGlr5!X~akI>F91ovF+F8E8esHS!2$H-oCI0+AS>sJOA7+~se*H)i_Ek52Q;&$hwQx7vAj^-QZc77CrT(N|* z!k|=F_6W1r$=}S_{W*aU*MVjq*5;_Z#Rzkd`=-I`MuC#8AQ5pX?Bju$F-X+-eY33}o>?*Cw>ilZKx?*uC{S6)*m{G+MTAT!JqA&Zkd@WcoTwunL`YnP zcqoiG@03ai$M~Wt52SPjnfLF964wIY+Soys#xr<9PC6BXGAHrW;GCI6__^OM?9u^a2v__F_IMEIK&9-@UVDF!;IVl zl_*i98?zs z@EvkzzO4AqI{epaDX>;}g$3>=0 zc_xd4zrG&30498pYDAKBff+b-Vzm0rv%lFSQ22b8cSF|!K7L-7+7 z?zz>mGH%FI51uS@lM-kn-!eCGq9f-TGd0`j-Mf3unOP!L*jp0UegmWa*~O~nJwbTu zl1UZ8NrWY3NNX6#wZ)p0-^XPv!Y(psLvI?qTa%pCFySR`binR*8my*&N37%P$z+L% z9pi$;!)rBM6*DP0$#QaQx_~#h2(xgJNhJcF)P@hu{z)CacC97KYkt^kq%Bfv+o$>3ctX(g3t`Y#^>#9 zqlt%pVcqd%ug?4^o;q~xy2FIhSho_;AcyqJp&WsHj!6}<5yTBhaEDo*C}X`@MQ1fg z^6xJE-PQ#Ei<1xV+({p;U>T+-tZ>!DKNrO10y5Po%wA;QkdpgL&h?NS^6d;NIel}?Y(KZ2ly zejVOpl*WJl;J3#mBP*1|Y4#D+>gg#i=zPw1hT5EhpbE;v-Ujqx;90cW^5eOm(TUcM zjFIpa1?iv5T3L|p)$lW8)J1VRcyFvhX)FecYnI%Obpgg3ag^t>g(n{ zVUDr#@+K`iIj*9cmYrxPKQq+AK%bUOIBuLgRTVNuj&h`nhW_1F4?X1=oE%jKb}Ks1 zFGIBSeCo(&hC2BlnWi||dBqrRO5pgD{cYS|2kisr47uP5cc6t!P#Rx~PUSpJG?rGIHMEfMjr+2?=N&-HMt^@U(IfAw<-E;*8=@_*=O z+AsYa&+}J5v-p&Axt^%pUkqzi0PfFYyg%OF4nj8Gnlv}} zoXpdHYuz{_TwGY)#&oWo(d*G&Ty4`ipG>tsLg>ARsPlL2yzO@_a9!3>&m&;@FcZhUVnXl@4YJbHwAIPz=rk4|OO#O8Ga>U1Bl%|t|d3Z9oM(G6QCI4E=b zjAKO2{m(+44RG0WxW&dU>bd9QX+F>Ibj}ZLf9l~OC=d*SkLs@LuSR4&l9+FmbA>PM z66<@oay8@5mHWRj(DL-YByKIHwu47gI>OuV-m_xhU;kRkLt)+tQu`~Qh5rg@bM)zd z70`e>%P#>P_E$g~FSx4Qt$zP1e;a%A?K<{<63{kZ0vh6f643DfO+e%P&jR}VOF%Dq zrUEB@JJag{Y5E4fx@@BK)qG`lyTWtn3YxL5NWeut874a2Kr9tOqzNa(pgCPO>W@Nx z7|hacB}RwAW*&57MO{u52Jdyzu6Y*8Sy_g1ULiV&uhwQHMr!ZhXE1(@-`n&$2>8dXPc_j2tIa^6;6he(OKpB?yTbQyYJGb1+w1NjPJqD9=WBGKdW z$5f3Sk-YLp|0;a35V<0pvP>2ot6EtD)dq=BAqyC*nePYiBN2^kkw<&$mNd;b5=J}dmU>~oE9z1#uoT|$j;Qft8kNWCQk z?ASzBNg|2x6^^Bf1)^-T=#M0xNw0%t(a3G5|6V{N{a*{{(tj(UJO5Ka|Ken0aY?-D zTV$%(f!(`qNGC>t%UBHc(yBGKZ@52dTN#NaMy6&wja0G?VQ*l;rrsXGa^m+owTq0@ z#{W4RP8D!@3e7KtQSFMgCYEvi^)g6}t%Xv;{jCz+8uoAo3zchq>~!^YfKL?HuN}Z$ z!t}RDMIh$m;DdLhQqFvn{)T^vKD(keswYV{8NlN4!okLyvB(lsu3K9-HQrxa;cgg# zds_;tsby@2R=g2Lo>ZWBYL~^(ZkbG{PwM1Y%ryKijW|u^m{e;mq*ulAj}(JSIRSM~ zBV?C8M3+{lCz$HcR}K%f{#+-trK99=U`WZM-i)b&uA<6U_cLpSP+oL6Nk_EPw>ek^ z>d+i8x!>*hxBl4_kCtXc*9aEHg7cl=_$ok!D6P7T)QKPx`prj!3H6*0F1?cP!?`a0w^8c)#T@x6|D3Yf-ybl-@%Ysxz zUkKpP(3+UaG7>4Fw=HElT9?8S{52J|#3OXDhLkL63-z=^;%~4&C1?}CMwaGigc>Z! z6FN_T0Y{DP#ww@&ACI#?ZiYiP&h$3%YIpSTW4}^jTTy`Po2$pl%dOL`j|cHbGk0I# z*GlhdIf9sqlj^aNEcC%{rEQS5o`1Pxm#U}j=x?=eZRhlKyzRam-gx-@^HrsBOMUz4 z$IPu^8XJ!|qA$ENYuvaLjeFmi`Wt=b@B15l{*3yM=(Ck{Bh2Q<*5Uob?N{`LC%`F-Qq<`aSCTMhyUI*WjMamU~2 zbIU)X&#(UyeXeHt`By(LlDo)gX%0Jf9Yph@9u8G z|Ip75U-~)e{g6W0ze;abIsa*-ptEx7KcdefDe4&dMsY7w`dJ(R2y^@a|9p3X8?rfa z1zZA179M~FU{Cz85a{6gEe%6{fHy{>!UbNX=Uw=s>?WFX;>IM6-OV%odWVs5m0o*? z?FTHVE6bsb0~VW7!so2B^pE^kh;~0;Z=UU*PWjI~>nbTf-M|h%DU(E4)J`QXie$ED=RC#VX`Z!R~#Xs;XWq^0~i>&-TNC}*jK@5_;R=F zMp}OF1y0_PuTSkKky57>G-cq&9o^lWIf}5Y>gEy;%lJ1B?oGhdu6?Qlj5u6%vLQuhaN z_aq&DUKB0l49ieUy00XwI}LHv$dRVlepNd4y%+|20+k($#&fSQl0*d!Y$KTFr8riU zK10G3-RTW3Mzgm6ky+ECe5z@id=o9BLup*9q&irLQ0xw%DWUnt@D)v$55Jc9GTi$t0JCZJX(}1?b1$u z>>RM#G_vORPF&f#X+DFU z$p?rPK01rJx~xXF;NZOdoxIT9fuh*><&)nfi#m8q$F5b#rxM~!C@`+kuIavb`Y%b* z6;=&#oa>H$YVIF|I|sP)qV83rbl}9L4N>B1$ul2gVy8CHO{h&yyz1uOPT61t9&x*N zhCD3uu%zk+mNse*t*=aBY)-W3%v5*hzYG9&+z)j`r>U^+JCZA{*nXQ+KwaOcG9-3m zQDYgnXPpvscMbwcsJtH?Hw#qzU3uryul6^MmB#%K@dK1SC;}c05Hr7t+;OK<*}B~h zN5o#|P#8*k6qDmPE$75fr=bq;7;8|3pA;l|0Vxu_gp1)Cg3g6UMfGttM_Tmm)>`F5 zokgOo*_MXaZKTEy|$W}@Tsh_YyG5=L5%RMUk0OKaXf}RXF4&iJa#S>4PjLMs2 z3slyLlO<&?{-X|?u66n%_AdFm=hpf~GQ7oXwQLSs1(vC84re4w=v2$N5xTHz!|Iro z>UUIheh$WckWNGH;Yhnx?Gc(Q)o&{+E%(9rt~uP9X#U*=}KRLAffhC}4VS5CTnG^zCc?8D}O4dz;YrGHo$8P_N2#zlwN&$`7kwk52{5dlKiK zqtZN`(HW=CV6=nL$7u`E4Jq|C!c(b!%Xx|l1*0z~`~J;fPF5VZ<2pwM;^WxjL`W9@ z^XH#PQPxu|)}>=Xp=uapvUF-T5#{V~Gwxw%R__Uq(_wo=!XM@ccXbn?^lze+Fa6x{ z>Rm6x!=Y2EgI&6twm>%GZwYoU}pPb94^I-zBvPah%5IumCYhN79cMLmIZG{GG`J>8kh z;c0^#JQP(%(_cgwE!$|v3!qf`FI_~Ms0Do>yNQsVFif%hzC_u;wRqZf{@j=*YhnqS z-Pw!qch@rrI&qEyzLZyQsG!z^f!qv7vHj38<1p@}j&micNX_R=cT+7I|7R zjc3p8z7=@3Yf}%0lg+Cs@m%zBTPIk5BkrcF7D5}88Yf|~#`ozGm4Ifs#DKA#B!l0i?BZmf|cdG1lM1OKQ(8Bl0%Z zjH;IE56y0|QD^*e;jt=?mj}XOH&7`d>;pe&th(M$u1KXXeO(C(%+TlD+d~w)J%0Z= zDF*sn>If&Sq8&0p0UTB}$qzs11knfw(dY)DTn!NlN@HeHj##4B!l1_Y8pPqL1KB$g zZ+~6aR~K}H3oVbSbh8q$^*ea3Q?i-p;E8E<7K~RR^+~FuB&B=&Dl};jWJZ*5P4%L% zl{dSXYNrh#wJ?>Tn7>e%Y)Ul(4DGQPx~IQn81@By27KS(Ww|^AuMe*THY*Zw)aQ2* z2Pd(Ex&f<~WJj#3+-z}~0~ObnoC!{uLPtWR1&9%#I7`i4n2QfyK1I*BACiD3Hx}Nk zWw%%ur^sL2q6=K2d;nBan#{3+M{xUbDOOaqFxd^9C>pUEV+1{*-t4xuwD%pmL~Wj? zvFq5Oadde&H>=$5AvI^j?boD9A~grn`y-n9gq2oX4F#0r74asYvSfTp5xpF`9d~#w z43=2l!pTV7n2tXfugP7qj0}N_YhDmAjv=o`cz#+-<0NP3i7L{xt2lR(7ii$g)^2UB4i9lMXbLAoi}r$en(VhZe?L8M zCU6iZKU@FAJ!6A2$h@+{sS!Bcg;vhVRBm8W^K+rnXDPkcw?1#XxY z#DcG4-?I>C@QepomN(iu6sUZ|_>n}*Psm&YD8kv zh;RtNwdMlpm9sQ0*q0=GTKV|-bnJr)=9}xDZHd=VQ!g&6751g1-lD8tLVsM+WB^>Z z&5EcU5{U`9Hezk=HE0bc8&r5&SmcI-F`ygDM~iZXO=7MOx*|aalA44X=}*+`ra}@w zMlev#enS$Jx#X6|o503H=@*>}2DsBQc(X6AJj+W|Qxd@e4Q-BAs0LRWvaZh!wHiYZ zLDQs7)ZUS-eD(;I+o*_|27aO*(Be3PWQ>LWwtfjW?0p&dIG~;`qx5dEWmlm`04==a z1!p}$nPAiVk)Ta^g!8$w+hhzvb_5xaf=IAV1^?OJr%qq_u$tYLsmga%Dx*SRWO6<(#vDG%+L zk7I|x;?JXsxPG5PJ55V*48qOyR~c)D&uy8fs7zgt6~;@Fl5!D6Y9LuGUks)3MLRbr zK+b^HbvkjP9jgo)G=mvT?=PE3RkH;?wL6d8L8wVSJcyXx`P_H76s{xr8DBkZQ&5wJrD!5T?If%~dcLs-l{rL`(XyV}p^4_@=S^|5x!gdeVzB()EaHPpwkKSKT4+i#=uXSqz1_Ts z*GGIeuLzNf2l#TqVJJ@_dm#t?KcU&ARX2Z<3oT(Uv@`Ey8U|ZVoS}`z?>Ricq;y|H zd>o;WQw>))A_=pVkBwU~aAxB-XCL24II|TooNdCbJxe}plLjvf87l^fwCu#(kD#gs zZdNhFBVZ?2aFk%!T^bsvu&Dm1;HcMIIDzek_A>qB{|&n*jZf8}v|eKeM+lH^y<#%` zdp^Mz(0jZFq&>DykACvGpElvN!HydG=mSk(E~@d3lwPMLBFVBeP3GJ!DaB|(t~9oI zS+VqZ;qlv_Z=h7O!9!{{G8p*d$WVe@1RpTg&(10Vi;ULa*8PYA7El)e5W}0dLf{q)FLrTsY0e`5q2hi9}8odxa#mXYL%nLRJ~GvcHtr+c)tSh zw}%}0Bbr3Jp#GrVvBazcWpe^;4FFK?rX6_dEz+g#!qP|Kce|KykSGBOuo;MeUD0-d zBPkmDEVx`yVmwCYfZ2(C(W!CiAuOJtIANc;ey8oO;Z4VgEY#O72ZLdsbxd>*|2z$1 z7ILE!(Q(MJCj6frMb-~ZL66>E+j=R|@;IUjyqaDI1&|d_iLiy;t4R;WnX5M3tl{_G zF5oJ!-c2x0a9x1LDZUtc?CF%Ow^dS=-%|mifC6kF+K>yg>^5vN7ldm7n9IRFkp>vrEIU}8(2;OE1G3OdE%@kb%D zRjVz{OG$(I9tHV5QrY6nIX(B63V13GZ_0oxB{)Off}Uh)5LMlM~fMjU8gr8Jy1nG(J7Psxu~1UWpPayIJGxz zs9+f?c+5`g*PLF5Fb22b&;qc19hlLLly~Rvw}Gj?d1p7sU?za!QTn=K*Q$A*#Dy)? z+AFa!ioUwQNp30fioh)Q4x7wz2z5n(Ek$FP9;%|OnFyR4+qWWLIsfp_?}SMKBec+^ zVrJkOghZ$olZFA{5>?4R;aL3vE_uf*9_kMy%}-TPXhHo-&yEWaT~f^CduEwO3|Oy! zDq6HL{Q^vYk9lpVNIs`Te_9rY4%UKrCT*L}D{`T9xk+jT5ZZl4EJR*g9x&5)qYAfD zB6C-W>OqA^!`t=@DXDQIAmmB^fK{JFlkEdDd?`q+#UQoRyg;HmBwvhBEMlnj4)`+c+eu?Hk3 zkWN84>iJm8M{aj4yQ4h)3M#8{d~%*#xH{2xdvzfnz1om#5j$5?2X5}b+5^u%N!PU->L1&jW7W z-pjGo-6aQoJ_w%KY>5G*JsK{zTS~;!`CF{Q4|H6jX-nAlp(Ck@Z4OLPW z6n{fyLmLuwbd>&~Ze&sOFpN;)@S8>v1ng7_wmb5Ct>ltJHkwo)pZXf>~0o~I+mlV2ctVm^gQgik-{q;599+P2-OIuS_u`)DO?=bbSC zEj}ropvsKJxMY&Z@Ek?%6S^soMzE7bE}#LI%NbBbIsgO=12ahjU(7(m&;x{6wuh)A z{)D!+5uHKIz^PJI_Jg_FUn9r#Qr(WovCp%6$x$h?A(g72y; z;r>d&O-*yHZq^|DPfDw`qtUuEFJ2$x(Gy9u%h5kl&D-RhVmmCpB1#mKjxdR_t}TO| z6HvicF+k$solm%GT(yXC-Ggn-bh(v*aR2fuXl~E}zIbk^o>7tSlf@G@l6U19*TbUe zE~Vz0E~2KZ$)OXJ!B2+$&ZV=Kn|T6)VgCq{K>4^#5PU zl#zgilY^D@|A>NhR3SZ7R#1QEdf#S3Y(gMRRCgIjQfYuB6KP=s|AEkeOazgnOu$G= z1epK^ks%3)K*ZTRic%pqq9hWa>N6M=6gbwR2_eux*g{4_Z30>L*Dp3rUuEu#7vA}} z-*TSidB1vtfe--92^rlV=Lkv?N`gXXI47i6-&b1sT0d9z1ERocIGL-brr=l3*n`xl z%BZJI*XH)t9!l{dxS(Nl*0-$dKJOHMkOw}%`ur^@nT3$O#hQM`%fM66*4I_qb>~h! zs~T9mY)=Zci>RPCn4m4Op4?_t&8yWSd%VF+U7_AS9)hCxV+=jR3TRcIqN|VQOn(D- z#P`B^;49S?z0B{Ivs(STHeJru^^4pfT9!u!L?iXd=L+X&hGm6Y-3&%|V#eiKEXZze zLEfd2YAajJV@a^g3W!?qyK9Ck#T5Xlm#_sVQlS|Fd_t<9>f6ya)B8_H=k@?R)&AQO zK-ME`>Vb{FPkec(eP_V0bYg%py z30FWLn!RUCsWyS^V+|TKk8jKXnyMj;JQJD`DA$TJ%z%hmQDi>D<6PT0=mWgfsPAXD zdpaprlu)?SQ{`*>3mWNjWNITsZhPLC&dd-?-LKyl_F<6%8a0jd1m4b{sC zqP($%>+{6jMVH1vlbT-%<4hC8Nl*XL6f5tTM`Vd0TQ)u_ph(#^@o{e)EsPPRF!tdW z+L~YLu}Kaj8opiTR+*g!-g`D}P$xm7H){Q!5X7OBi#G4e0X=r&m{Aj{@_$0llak;)LWH) zh50)9M5W|Pk^GcXV!N!jmer!WDXx`HI{%r2{~foz>BfEgs!88d-Gklh-9vlo`FwyS z=7jc17~1R3JbmD0e;nrxPEL{Fj4tVzB8AM!%xnoaQ;aox{Io2w)$O|{3(hHBevb8p zLsHc3>n8$(YCLKZMlRBrLB1LdTO^u;!d{{ZHj&p9ACr7!5=fJ_(xhgW62?RHM@2t@ ze?kkU{88;!)gPt$V3m_qiB?5>nbcJ>GY@CIr}a&Hl9rmLHpO2Pucch8T%)-Pbj5YW zcctz}cRL&3h<+<6iqoAqhLitEK-pL zQkN>t`6tsu_nSiOpG=kjX9jWD_JY|(?d~D1sBaAQCBe8`3hSB%kY!|t8RQ6F5XK-I ze`>I54^IqpQ*w58LWlUWJt`n5|AYp3N$sifKaeIz4;9s_1b!R;Jf;JDj z6J_Ktt*iuNWVb~|PsE9bl20u4cbxjcno5aO1KK~8aA}WZ{ZWD1Atdt)Vf_fE6GV6g z=#b5S3$X=&B(1w1c~B&cH~Xc+1(YHI0yaMz~oPq3(!P_Xzzt z%`A#j2)J5dnG`&SEfa{?clGq<++jlxz{7TAN}j9U%aq3kEuEX+$nI~$JcjIsXnv9Q z9Fx^HhCMdIP3}n+Y|JL8<6Dt5&fy#J--=eVqb9%g+jcAaZDY={uw1hbbV7|2Y}KZX z?J-Xcam@*18(I@jXQ3?P%iD~W#mfGPOjgGc2g6~%Je-yj`-1T#WFzCSKJVs@jKJ4F zwqE_=crkHNF%a-qTjg)Sg}p*vVBnx&?{D|bS}dfXgoBoI4i{oIQwoi*4@bzpEju$X zZ@e(+h0N4Pewf1UuF)57(q)au*MG?}-Nc!0>PbS+C?zCh=W^Y4E#+G;YFT-yC_lb|N91;%w0GppD96CA>S9BI`@OcoGUaKoFnV)Rd^A1`50r54+8GG}=4hvlD#T zn~$F+elgfX3ehjGCG&EPv2MR8@!;eS9MF#F^WW1HM^Gu5y*PC85)%3P?)nOU(x0tj zV-LHA-e#v~`^?YT#(XRo&hYW(TpWf*fLu zCyatDL19%xVWa|83U#~TYH*7(Py|J<@KrY@SgNw{BM?;7D^0$O8+&=p-PYDsRaGyq zXQw;Qwlg`;eD-?Jc7Z5s#_|yi1U#dkC~fQaFzWRCOC@!2 z?f)IO^%=@h+t%kanwEr=w?)D-U`9eVgrQ1wx|T7sWrcvK1NiR}yv&wt0M)RtsMJbJ z(C$g=7q=;#`}?$mY6AS3Sd}2nSr8NoPg*qs-_zGlvYffVm>g5!Ow5u-Ul|ldk6#U0 z>GqKJ(Pmz*loc*_|@7bR1SG+qHfXbr?-eyBm#1!}fn zMvVgesl&i9uTlXfIw(mvQacqS&{Ab4(d2T0z%3rdy7+w@-%)*KS;BZRqr1xEI?iQW zmvm=!@}7nk@;q9mNM485EqdE(&1|g@pnI@ge)DMOf|~;G)h*ibZYwZ9nk{*fOj-ZZ zt($<0gE{nWk>qK&o^b_VaXToY#Yh3cL=MwzmzZ@`5{O;Y-MhI<-&92u zcpGm)_`sADQHn?@1TcQwzJPSGTSRhkGB9WEoS`-(_AtUO+^=K9MB?s{N5yLjxOYPm~#B_=}O?2pKhT2SI zx5we*@sSC?2GxUEPtwEBWNE*r**pICaxwAo&U@$e)#NQN-Mc5aaJ=8=XLolsH@9~w zp07W(XguX<968rs=ULA{kH4w7xmx-#-7@q!$lkTJHhz9Zp+335@^ z(j*)rv_fPg?Ud6-P;=IqJTu;a=PVMCAM6gU)ViaWl{BcUbW^XJ#MO;bPfms6<7omX;cY= z6q-n>y6avE>WJhV5HS@v4*oAW!`Tez6J<`LRRj_P3s7w5KFB5?hn;3sW}HMjq=0n+ zR7cw=i!EGDKq)y%xW+*8gdQ`z1e+gC{@xm=N3FT@T+!Q};jR3R#+s|ye;h7u*5574 zO~O(6-M;6gKv!12Q+#|G{7o+2hwyH5u)dLpKE#BnK*kGlL#3ev7O!9+NRafyfM;(W znWM$hTZII6TBxqk0@Z;7^H3Tc@rjx&*MGZeCgpvGSoJ#iR@|wk_xoM_%yS zYaq>m+olIGO@Uk(n1KbJE2b>dU^X>SPRQq{^8?snM7}GCe79pjpP=zOeg>D!yJENy zNnbvyhvxSZn*>QVB3~^1SL1tHtsF-JZz5!Mm3NCm`&fI~bu(zzz z**~fW1@FRtl1SyeI_)R2-s$tSd5?d)uH#2}@XV6}d0Elys73iFbY%1%tPB)rbOGM4fUDWG2iL2j6ZP6Ssbx@O0_ zi`~pA(Xo<8mP4_oM$wpqfP+mi%o=Fkt+6el#Vkmb8ezzzHJ(8MV@JMH{Hxs2(Jpg= zzVQ5*o;`1=N9ASYw|n_{9L>Gncem}kb~~;{Ct16(_Ikamp3hL&6h7|qd-;ExYoEzO zqwVtBGKf;*a(hLv-Q97lcO1K{nOa-jw@%_`^mRjE$uNSA=chzstW_b1mP9=pllLn) z+OnQ-RB+P>A&Q10dMy|$U_>G3RtCH5hfG3G0tbc%I6;TQV&dZD^)W^(T;SfL^|Hew zqK}e@FEEI3@9(G@ z4HXp)3CAbkg-vtNV7enkA|8N}v*gO~FHR<$cVcW$JWSc``&*vDE zs{HmWt3n?V_z7h5hma)oX=PQ_QM#%c;)|vrRuO8qP%~A?aAY#VrqpS~+ldS{P?Ksr z!zCxqGRK#9o7(QZu3paLwRso#OLsk*A3DCeXQ3DL=hXCKR_!%599zu3Gb}i`UKgWN zC(!n8*O&H`rtBR)wbpCb^xtiBG%B~XTMiv4YhdXB>EZ#=xj8GQyC^Lh(`G|X87A4R z7UXEmPCWWf^vvuHbCqnWCN`Z!=0E&Nq&1&`MZEN}=FP3E66!WL@4z>E%^+78=rWy| zPe|Vdi5{QQv@uJ_yBM=o_j)+as=FZ#RYB@U^YgE3{kHsiuZ8 zwjT=rMYb=4rg4Da*fnF@2N8o9+d^SzWWzf;w#j5OC4{C)WF;ub1C9{1DPCmrE<$8C zA%P)e$w0ucd1e7*2MyY&(9kbjYDEI?JCs>U_*)Td z#aZu)Puby3!Q*mg@jQP>pmIMzKv(rWPlK;9Kj+RBpBE#qtMmQRc6{GSvcAHv**BIb zLV>^&pUgL+8A|2m^XWVLgI+1jdU}r)9=LC%L-MSG|jI=v%nHxE7HKO8ZTvO>| z_gr|`wk~z%@Bwz%F(5yt}SuR_+Ymuk0hVS;UX`MfsQWo`W>|FIiK~ zVghj3o*ikTpdv)yjG7w8iZLLBUK@WMu>hDcl^%NBm}0CFXV!lRUZ-Ok53U-9Gmzxi z6s&H6Ot?qy!{HX2Valj$fV)%3peSI*$`Eri$jA%vS@08N@|#R-Oxf=kU#*hqu+DUw zxR4?%uxsAxnWd>faM>O$}E3zjMn2}2=Bpq=!7+2h+E(x0>j67z9?r}|jl ziEoPFeHG;a!;?)cv);&%u92x0o#8}cI3yH6gWYK!=q{@#z@Gg+YFn>IXh;AT^@swY z`i?JPAZU{T)+qRb-0s|wNPc9(s}^h(fAmOIlm393L8xotgYEDBUu^a3Y}NuNU$@g~ zQz?Jf>k}_~yOa2cul;j>Qk}5*7Q5}b*H`IV)0)13dC4vLDbM=WdP~bXH@{}L`9l>y zoz`pm%upRU`&_o3YHN|n_d%a)x%ZmhAPg%U#w7$pO6sQJBMxpDEVx>e15Jd>-5^Eu zx?sp|n+T$ATqtJYaD)SLN$my6w+S|BxwWU4x+H`6ifNNBWc@cVHx) z37zB%l83mA9O_X(Y!xH<0_X-pH#7GByYH8s?s&5=Xh#Kv*;V0e7M!q+`Ic?DO-+*M#gta~R|(<#46z`lZOD!JMU_}?+BJ*h3bZ$p zPEqUf(~hkZ&aCI28_z^M**hx84_`^r(NdjQonq@KrtIvSta6$|v`#e&>(17?ag;=5 z9hguPY#eS|V9a3VV0bZ~u#S`fOf!wRVp_HASm%Mdbx%PQ-8>*oHI@3Zz{+a=2}LcG zcDjvNZRa|pW^u~6vf_wG0t!ivY}y(NJkbS{^c_4k6A06GX_VrmEn-Q#joT(mDDo~+ z4&w}@af>91%^NmsSm#BP4Op^?fEvxEY)XF+?H0J%UZw{TCg% zFW*{XKUAGSGeP!Gx4S9VAJ&9lp8vXQCH$?x}%NO17jJ+KzGiLrsI=jwZ@CcvBohh4y-h8S;s|zOQnB4aC zPY-{~AbMKaCsrxj{k}!XQcOPOt{i=}O;$Vde%1%+7tufL9;Kw}6dDZ=x@xvPR@_9+N8x zx<*>**Uq+1xlX%B_T<~mlmLxN9eGb`Xx`1?NL5HKL>hFgkn)i9&~Bi&rUw1@^Z^LE zoH8IX-<%GhhvFm?OJs>e5)B7PQV78@ZizeG`Mej9U^OWCN90YbC~m6Y7-mNOEO||c z;!!BqX`*5xU)FIVu4rccaZ{|iFPCf8`%S`k6lM~UV^Oa>_!mL1JjxN-$%L2+#@Tgy z2g?GCB0hp$eE5U{ptnpP45*Ul2bNy$*hM{_cJO=TUdGxA9ey)T+d|?rFlbxE2ww8h zGEw5!9F)R$xG^1qR~;g?-Xc2rK1m9CI~a1(1hN|Az03=fABo39(P;_vB-mkM^z9BQ zT-?26mB z{`1_EulTlSxf(r3JIX4n&EKP!LciLtVce~^*@WxeqGG|jphDH$)Ob4Y<2AAKhqhDp zc9|`n8RC0C-qUls?D>V_m+LH}*?gYY@c$@jOoec{^pH}dwI|5kr?UC?zyi-|0xlr$ z3PnN|$sa_AIz_Xp&a(dzkuKur6D1TIsNM}6T#qjzPWpnpT6g(Xb1&!CnS8o46#MV= z?X>^#6S-CI{2nDX*E#Px_t8VudDVaZB7X8Xu^&b|ofvhR!OA|J{%zf$^8X z4NCy7HHTeN(tybVmm`;wWz!pt@AuWcKa# zb=BSdr=5khK^aHQ+sOUN?A_|#dD_jr^EtJ-1|Cryc!y!*iYz55ON_R4fX#4W^{kk_oQy_FKj!RI z?(BT8%+@`iJN?6wsgcr7v6--jU^{CacbokB&ps=>M%c06ZY;)i@$JNQ63jokbB5>I zKR%yf_vwrHH}}^%2`A%Q<34kLwE(AtfbsTp0|b2qW@=OVHM!a(zyS&7b0V0P%;2IF zQ1^W47-(I;l0G*i3gTrF6`&I+*B(;l5GYw3>0psBmaG*ts{~Y}-(+7lD?z=shQQft z+7XZn@59-a6_%8>Xi}ku>BrW6@yFKaPQb0(DlN4e&VQ&K$WE3eYCG(fB82RvPh9l) z*v9Mc>2zQ#MW55u=V9!=?pBDD>lTcP0>-2eOd5Z^Bh z*Ob-34HUx?m>7FUIBaA(C6f`KDHW=ms8Q%Mu5sE@f`^p1u;wJ5dnR)C*z-ha*Srzi zlRal^Va}Kx9$A;s}&+=SPaC@Q=7j#4e-; z3k|rB8Un_}k_}KwitoosO3AgsWYg@%a+7ZN#;zGKD zc(m-~vb=#-ovY;Ey~v^|tp!KZTBzg59B^LiX@D7O#VElTp1}a;CC`4QPUq|MDm36I$a8o@QTv;QM{l3>Ed`fVl$S)g5*Fm zgTd;)STYG>8rDfp(ot+*>!a5RX5VUgcq3Gl?eK_hSo07FUU}GW6%1#vqZ(QkKD9Ir z3~eO63=M2;9IbQ>6D?AqATw5Nd;xemapb<9bw8;l8npxl)3&h%Rzf9m5HkQD8k=tU#ECoL(i^) zbvkYxtkgM7L!!<_A&aYRj!~K=K5&h=wHoh!T0EjCiXRJkn15WJ*2iqFe7yp|&%3h4 zSEJ)^F#1VppVaC7&r9y-kLQDSSs;yXOP0jx;(cvVaW6cw`g@({7sCZao&X1IC&);p zW!(P`STM3tvvHk`X&Zfi+o#=ScRm~h+mLg5e=nEOqEs>mM3m_du!Z~DJB9aq1OvW_q-$U0J z5y6indE&{){Lw+-$%OBqvE3N>UkPsrM@P%}N91IY-iE36J4 z9U^yDcJt8p8XvZ*p{dSjyesPE{hZ~mK4o5_=C{OLpWa@#y^)N%q7gpGUW;62B#{CI zLW(glZEG5|Db)!1Y2Gqqbh7YcO^dp2+Ho}tNiq~z#?9ZAw`udUF;803mm=nKBBBA0 zmPQr^0~}eh*uY|=wdRgI@O5yXQ^L71*yDnZhToikhr{>s2ksv>A&ih`re|D4z=)Kj zP5euUnXn8I|4BlA>p-tE0DJ|~UEnN}gcYKL3`b(4R(P@rkE!?!AFo7B!z%h z!qV5_Q?nU!f!Z-eqd5l|BcunSYR=&qXp_!ERRGeWD*S*hF9VVT36!=Y17wy>@vb36 zhTI@&TV!Chxx4c3bwBK6-NIg7`6q%#-;Y{%3fsf-li{wv=nPY9hxvn7wPqtg=?6m3 zPiVd=@}avcjK4kp^aQ^>Qu_p0hmdc%!xzSRr5Im|n$H<;tIjMXmi zVinb`t2=a>|88fhnB0!9R$0(Ke2jU3#Lu5tAJBX^DE_V?3|%hjIgEiTd-kxf3M=Le zWh{w+9z6{D0@6{$RLY>=pb77w0P(x`0hhVRN7C3)D^fS5C#BimpSer zO_9_vB0?Z0OuQHpLp1y+F>U`_>+z6GAl&MH8w~P_{tQmy&ycGPWQ$VP2HFpxy&9)> zqhwaLfp*0b^Kk(n!y-L*si}#>t$Lt2gC&>z4XSzgQI;E+V{Z$TgI=q5f#oA+h`I(1 z-3+jPQa40}G3$;RS=ihmMN`xLx3j?J$cV4eyZBaz^>oTwk zRZf8w-nt&{!dP^om`p}2)Ro|kQ_5=N&k02`OU|1`)anrP*TBThg_>7*WuzMQ62(ED z^jV%f5|U-uzuupL4G`=n{kAI5_K;`zEq9J@FaGAv=k@3P(fOTymivSmBex-*uFH?fCX+} z#gI}zm2&?j5TLriopfF6`K|&TF?ORKw5AK^)u0oaZXAw(o}vL~v>b3W7#wtmNO%J2 z@X+x)byoxEl_iWec4Q$TnBc1+HRgVP@MHbA^>;EQnU>?CkLn}X8xtUx6O@9-e=M@G z*+SZKasV25P0i`jj{`?VR(2-7w$tovt+O4nOcWX5L=7n;A$5e!MS&z>D;@%Bv`6ot z(m<6K8<4$y7puC1VurK|e+>QtxbnC*dp?bi;_7}bKdz+QotNf7^EKMtje${kmU_Lf zYj5(|Q{-!UZZ&qC^C^6juXY>H%QO39e#%?)aoZ++mKNS(E?m0QA6CBbzti__uQf+~ zS4Vsmo+9z;uVS#5`CB$rhGtrGA$p(2um zp=YRb23J%hSJdP8Jx~GC|Lz=cRp3aibVx+}O3Z*I(1F4Yw^`TejuIRfF<3Z;2Uo#Z zCuhEZqm&GG|JcwDjmLyA&1pJ_kinUM$77|M13S(pqS;q*{Gg(NSFX@)c*aKI z^DHj4k~Z`9Ci)(KW;ws=&iuhME%E-zKn4|sGcJ5K3j+5=N@Yk$o&rnRg-n+C-#-;m z&biY%)H~F=^zU0acQ17e?iH+H%6cUFC$5^9s_rJ_w_r z=*Z1cjWf@hkEl9@7q4tkxlI)5jXgjm#t1AIDXtc61(3s)Aeee$8F}jPc)JIPVN+C? z2LL$~fZ`Sa1YyONmOn-uFxn>vu-uR>Kydt#h)^hb7sp(KcHfn|q*3;nqUdAgM%9#l z4qKocz-S^J2bh+H5=bE`;1h`lsoeU}vBOD6^bm_!5uOdLBc*YtLtE!sgTk31>l7V& z0bwD-%uAGl5lF5mD$QPbzbxt}w!O?+vx|$*zPi z+BcwGLf59=syeC7Y2DnuIAPx|uW1Lrh6iGg#m(*mciP4*xiu@(yx4H=2)5Z@wjW(!#;b41#A=OzM3EKuP6m7ARN zm1`)OgCj&WtP#!II3g=qZ)o|)7=lGY3x&^1x}ZCzRv^-n9w46Ls2Yo`U?{SRxr7s7 zriloc4aDh50Rto%8WJUfsGF$G*0U=#Ve*rWaQNF}oZ;sYQ6OOi#tVp(fd?mFs7V)9 zfdbPE(&Z`O9L--{Sg*hJ;={N0dpKK9T_vX$XSerw+boSK7u(K4^Lu_?@EY6qF@K&| zM`J(gbA9gid)yRTtN#IMb!96&Fbygg)|upG6cJ4qLZqMe{i8k0J7aUC6Lf^O8!V;@ z3U};C6v>{85K^tj?i_B5Qemt4{;PQ&Q2nMZj!9-g-+7Fmt`pL6ifvAw`TaoeM@tWL zyxk2mT*N|&?Gn>o(8gUMUqVwzU z794II`5t4%e)JEbV~P72c8qc{tP-BHIT;Fc2yRfwK-WdIgSAI~h3YO6Uvano-M@$M znwT%AtNLiZZCST(rja9DnCNO2Qk$024y>RzU6_XaxzhSVp*lNBMCi*Ngn z`|bMRs+vudUBq4VHL5@HRRy<-ld(zuE9OVOpzg}$M_H$u$|K*QA|fT)qN0N8B=LYn zK~zelMKu{2Jo8R%*3yB@sCg{p#xo(AJSBX#ew5ju2|QEJf<04uYV{QI5qR;KnR*I8 zolT~0*=N^u3K}Gva2l$=^NXnrg_kt}{3FW7{Xyuh zM?ZZbW27WHf>{wsy&kW6?GVb_HVUEI6PlAeAubw#BX=)GLx%G(aT{3_T7?vJF6D%# z964oJL{1os%13ZTQk~50erqxYi85(>K3n;sC1{28Fk;e1$J^USAR1!qatZEo2=olq z#-Mf>`_rf1Znvd`zUBW>Tk71W_%rr+gRYg5{5aNTdy~aBy7}@IOub2G|F@6KQf>1S zw(8kTBu4XcJbU^2eL-w)ufp%#5FJ zF46=}{Llh0F-tfKhs-GP8Zj|wp&{`p!bF0T1RtKs@c3@bgmttdE3|~w7ri(5_J|{F z_DuLo!ao83K!-O5WPz%W0p0R$1i%ta&+%sjxc>xNua@!4U@CD!l@$==f3Rn~g$XRn z|MG3@7yV(;w}UUaZ_7W zsqcMT>#qP;Wl@Fpib;tT5~6cxOJwDWQ5f79tB7u++)u-8IM_MMz5uuj)!rvCd5to8 zO>obD+mc0bF!HMa|CkF)1#vH@NHTfG{`?NY7AhCYC;i3>-qx|}=w0vL*Ux>r!IyIc zG6bWes1hk5W5rBEv*SPGCaZBSWgmGzR+rqx$*sn$xZ4OTo6Vgw|a z!r-c0L7_$FNJZE(EpknP?8Ym&iFU+I?$^e@jD~*axz4+_&a-bh{|*GRVXIh{8xE3~ zk_r~0Sg9J86OIzgal#K~X{KD&qNA^0p-06Ak#CNNfAfE!`S%@Tcp=^Ug6Ey>q|tf9 z{vw8}%dEo0Jp_+LE9xVGWq5!}J-#?7eZkeWPB zE}JL9mY$1Y1K(s3^@pg{nX68*7q;?*NU5vPsOijHmg)hHBuS^9o|;AtN`m@_dkBd& zl|8*oszM>Do6~fnT%xON0(CL**y>@k)sKdkv)fuxZKW;_mTtNn#^CCV&n8VWTUWi- zjA|%&Ei?uz>W{Be3=~I`sH(H3B}8d`6aJoORc7ssJXN9Y>rk3F(HeV*D7!4ODF!%% zL|js#1cq6KaxvDj6`C6abSmf#(;oBYDcvZdV@p?=ylWp)dPU#kIu>?k?hyOv^G?EJ z1i$F~<)bLoU`AWCc+HkKU*xE*8r>u9BfvA^mxtdWIE%i8cw@mn2!EKoWB-C(vU_c} zo9^zBl|&9M{UCXzxK#TqQ1qaa-Z6&tpSO`+9!(yG9- zDg|HpY?m974@^a|ipObFZoe47xZ#ODs_j<6i+7u~l%~;p!s&%EI0GndWev`8kf1l+~7*9U8hiQgQhkNdGUfwsYMpo4~)ajjp<ZZ7OT&-X~^Z#LH*F+fx|?}bohFoqyu;i1RF)kHkRZ_4&G77 ze*#H!1Y#^}3nojViX`1S&>O8%wc3@_>Zew-A7SapjYa`)&q+B@CDZI{*+5y-?ho|V zomD(@`HibhzpDUWg8MXQ1-_yj_Bl=AS^X33SzTK5-*HM2GdbST#{eWpP24tq z$t_FZ*&*j9lhX2*jXc@a4RjkL^M@iqVD)1A4yM{i`KjnC*h{C>3ngeO#llg6UO;o< zO(we*^b|Ze`gY&}Jq`}ALyh?!XJ(V#kO(>)mT@0Q(8{gytiAD>=xF+2Fz148E(i!W zpvxSYsDcG93nc`W3mhfr_C%$Q*t<32^84|@v=E)0r1?Sq96D)@6;qY;L(0pW`8XFG z7YYSwUKQw{V7An+%aB2sK=iFE8Xt-czTvE4%8%OqPbxiK%>KlG{BP^mVY_){-($sQ zHf`Ob6$Zwg@cJIDZ=y{nyC=xeN;?L;3gny9V4Wl$Oqe%sL0=QzG>N2$_bAc~#STp% zY)i>a$M2Xid?);-MaMXr!8{?3Ym{V@Xv{dbk0lhu6VMqX@MguE%2bNLF!*ZjI0a+I zJUg6eIKU|=Rq$s)2aO8rG>wcLs}BqY6(#Y((RS3aj?DkT&Q7V=I5wvD{{cCN%Cs@1 z{}cJ$0Nf5kH+#e;qsK49xG4XSod)TNMYw&yi)>`1Q`?Vd~b9L-<} z0XRU*kPVQVSg~Bsrakr%kD_QONdOD!_e8wZR`BTUo+JJF9~oUoF`XkU!+n+>jKTy} zZkJ0Jknd!BFvG>%S^E5kz{sQD;u~+}>d7%TEfwelL zg=BfTqjGtsw9rVBT>M^q85d;^)d6KSL}gSv;5{mftr}|x^ePQhdf7Y@^Mj=F(b0un zz2RV`vMjw%^HnOD+idSuy~|9FHmX+Ilym+Ge(%?CYV}@Uu)i*a%nr)I0(itO&OrI; zTz$>f(>)ilr@D)%h<~`<@~Yx*x4-@dt0PhSf=CgRCgkRk5&gl!cd|ueB$=GdHDmPA z_S@2;Ph|v2S!KRYWS*gW5mNzq2vke-m0-0azLs!Yp`Mfs=;Qj)x%d1l#xXuHpU9Wc zm#Tn2kQC4hK&Z57uD~3S>k>~3uk_at#?}P~-(KWuM5+b$n)1Y;&z*DnJXk@zAm7NY zfcQJeCe%m1a6dGS5N!+Wvu8ek7@W|DxWb<;#TUlA)r3FLgqfDN=^&q8 zquiu*K;6o`KbYIrQKmFEAWm}6ZvU`sgTZO?;4Y`RH1G0~yWd}P^anYk7To z_VuI&VN%0?zA9&5c9BD0+?iiVjLRs_|C&I})w7p5x$;}RLfkqYn5M+WQi|952f$3K zVGwI_L-)75YnA}t3z*NLL$0`#tFudlScN6nVmYJCl`cL7}@Y*x*b%_~~o zG9NQx545`E+5NLqLe9&qtNJTuh^A&OY+oo_Gb3t!(>1#PME+~6tqi>9aS{`&fL#Tz ztBqW`Pt^P>2+HUK)epu^Et{$KMX1tSS*wx1i%bMB&1M<*7xmpW!#H*wX&=;(T_*8@qLwod}8fVG8KR5&ufXs8=JgMw0jV z;xuRdtVvW~xJWJ=>zr98;i>21xRE?8P`{aO{lj*|iTtUwpNx98XW#T^c8K#@8JWJ^ zH?Ajx;Fyzoi9F5}fjh@y{NV>I4FI<=aut&_l5Y}d@=0{w?vHsgOwmdzPQ zKc~O{rLylnXu4h0?|U)yu-wHFS2=j`}ZC zR?}e0H*#jrTh#s4Ju6uCuWhRv-{M9nDN`>T|PcP%ZiFgtcBE%7HL;QfX6Qm+F0VZOsGM6O;)$`YTJ0InQ-rlZ?Wnk_(q8o_IO*$+@GO-W-J0JcwSPBO#J^OB4Xeo2CYhbW zVIQPQa{8U(IVO82&$I*n&i6Z|(|1T?wuX15&sW<#wWcj%3jUI((%SvYtAIwP^IV}n zJ4;Q2xU|v@NA@N)Lh#U~@MN{3N3{k1P;I>IBT*C_avQ}bGyy*-hkW|b3e>A*+mXRWZa-1YDK^MF>IC`-Qslx z6Nh3__}uicYHARTn7EBORxEB&JYW7$ABn7ka}s0J6X)`j*G%)`7_Chiytv@JN;>>{ zl<8IsdY{BU%Dw`8_#0W*qxHha8JK!)!N~H!eP;wdFf-=AXiRS0 z_t{@`3mk5f1t*_XgI4y}7TR6T`P8rE!`CR+y+ys*JHbe1LA_BQ9?m@xzF?W&z`Rk{ z4=qCZ3 zJp6lb``5}gXS11DaT9S_)`z7qix@m(z#rVk1Tl;5_fEFDW4FwtkuzxYUDqmP)(z&y zZ2fbdRXBDMTZ?B0&jf_OAQ*wpHMsjzV-zaxsB(0B)&z#%0-0nI%hm*|)ZJw-y_F&~h#Km)Nn;rXO-$Waat&ENO5}j*V|MCOwdf?##-hS7-NkOzh zH3#_RaFfJwHHCd28&V>d5vA!~fU_fo;RpN6B+?^Zw))^pl15 zGvu21YN)yA-pf?%%g$iFJirvrAXVv}vb?B9wdBSpZ_j~W39@s}* zon7)}9lmQ3cl?#FL+vBSau$K@%i=4(+)Da=`R-zo8Q(PX;gk`U6_wlmgCtpN*5=#( zU^MymZ*Zmgif)R=@XWOMt!!#uscWq1Uwf zRCW@UjXBi*Lb!)wlt!E#Vv8zwew8_YusXST<^9@kDdxq`+e92wC4CI)iT2Rhs(`aB z*j3H;F1YpFb{x3X&_!-KvV7vT_g3UxP~c)CJauD-_R&t?PPO`z2ye$@f799&7aLv> zz&%4bpNk!WzWC2$CKLyyKF`c_kaS|&OVHiy1oUYB!FOo%57v`TisnEI;@;pd&N78x zuS*g}WjCF5>{$8QT?xCG9qmU`^*;magWC?sF)(*o`wBO`F^1Pv-{~-Oa@fNKYrw9P zz^9N8Vz)3`nj=MTebh#7eKh?q#@+*{sp$LnRZ&nuP?6q5L_nJKUX&(XKmn;j=v8_r zDk35!6s1E1q)G3Dl7K+yAiWbIK!89(fRNCV%kO{RyKnBi|Gal+&e{9yJ?ETRGkc%e zd(K+x^Nl9Q{o8!+w{{l%EZ3a$Gw5OIA-Eo(dFa`4xf0$-IcKuYDBe3y$xxo0(simU z5_%GpmaNvc-|-2e>*CzKmul@ukKVN-`HoyAy*+q$@1!PkllEBnyUwdWb3U6D?Ym7$ z`4yAPIZ1)ssNlwfubYCfY6sWR!fKhNp@Uo7-o^c|lKMiUq-I;D=lTUUQ-C>vbz>ZY zXT#DV-|&Hw)hUBcRKLUv&A&Jgr{0F?JY5Pf)n{5C0H6cAs@9cnZ5YsJ7=l%FER<5WwLEkffqTSXX)##gVi z_hC2Vr^1@Ku4N6{$AI5g{0pDxxBs^TZ{b}(o z>WT^_{mq7!aSBmRkWS5$Pq`tw1ggI4PpYT2k0aI6X<0csQFF6eKy*;x055ixmYgFND9wY}_zo(Q?MivuQbRgy3ov zv8?fh_1I%j%*I6dj|WMc{<#(K`` z8+aQOBPxL#z)hy-MIn)6Q)hSPRi#tnes!vXnTG9h-4=kUdk#8mm3JEEU%_g?@03{7 zi_y?up6KVx&3}&OTeX_KLo$!?EvV|G$ySx=X5xzc0?8pY6Y+Es>!ox&gZIQ+*5ldV zv@LsHmpS62i@D>HbX<{0cqiu=S?oOVN#e!Mfbb6WOx}3evMTcER-J&;VV)% zb5?_83i9L@p9WDr^1z;`5zhtTcwu7M*|W4KLh2oaTYU>(b>QXD74~?4v!DFKo*mII z{i_Q_o=MwLY@Qstr07g^O?c0<)FH;69*kllH1KT`jXaN`2_FwQte z&OjN@ES36gR^?yT>r$Lv3UPb)GeDGT=`eno{@Gu{U&pN9-o&!Z?OLxXD(*~$AAydw zIo{1a9D~tyFS)HlCR?;lrbf8@a!VcwG#u^WNmfL!kiU9+O}&}bNA}(&j4V0|&jK|( z|1-DVrvrq?dXj>z>32#?i{DRk8d9Hq9gQ(vbM_~};ahhaF+!q&6Uo@(!`)Xw{xwc| zk@A5xn5^R1Gs=%=yxw2%3 zIWzpaRD|116m>djb4Z7Rd||(=mi5ybJ;XOu9)pr@oOZNRr)`skQFy|1o0k6t<4X5C z;q;OFN^V5e!h@v9TKPBIMwOL|i=|a&sFE5>wh|SEdf%83P2<8)*{M{Hz0ie|Rf&KV zs`f&|dQX+LXnFaSI!yf(Kgg}TA%D&j4t?yb-(b_8u(M;};e0Bk*|!tMXi-@X{#sw3 zFhY$F2$KE{TbzIRY)q*zv_nCGBUUGf6|JHHe0hh}!X)oLpo8|rq~cB3wZ$#-acr*@ zVS3cbZCoVDk1tp-m~uhFx@LBDrF>N^{+#k^aMW`04*eL!8%H<>9xLYY-Cr#3mJ9v{DSMZs%(M+}HRErNt|P1IPaNA<}k@w{w32wQxr z2%6x_RQNZPCwRbG2fVMn-`W;$@u8;r#}~?Or^<^@Dt}jsXF?v+{>8*cLp&272F%$q z%sU-5ZOv(9%}BJids^jV8&x(Gvyuf`yIA7%ifkEwW;rbAhZ}Zu%2m{1yJTZoj)kX8 zr??83rmU|R=cYDfIaKMEb?|IPq5wq_321e7`mzZ5KgFa8cUt&|R)^5Sc!r z^2rQRp~;dL@t$B`w)H5RC0Zd9Wq%uOaBHPb<}V|QGB4fx_Q~2#i`cF}-Y=GYWkC~f zNq~cgWaq!dNtx>*b=SLJhe(VKIL`1jb)#V8t)&mUE5~Tur4E#hKiqcbdV1;6BPv-} z8#Rsxmwr9hz`wC$+7GL67Bi_UyR+o;+(9i+c)MK(|z4YPXLAUa_onBbYZ zj=_-~7y!-rpc$VOwMO5@YY;leqdVFj61_{S0*Z!~>mDq^{l#4(XwL!nD9g%nz5@SmiOrO=)glv0&4$AyxEM`1(U;FCVWb03uMY&l!Vyuh!Oq&w~eD zM+MH%4~q4#Jod!f1QB-i;a9o_9l73`h1kH`y>9ubxn@sZ)HgC++z42q^bg<6feNal zmY4m+#~5#oSsv*HNt1u8O8Rmmbvn%GB@aSW-fEFs-@LzjJv^v$t8qGzZe_1`_&MK0 zv$OZ7@Tcp4fg7^!A;+a>ctVm6;`KvlawO?n&rN#r?~`Sx@uEP=3m8${P2(_PAobg? zj;-+1j$3PIOWDu#!z+oe86-+Icnu3-Wp@$wQtv(oXq^3gS$J(NZrA3B;|4q6W8Dr+ zs-O7%+G7hI*>pUs0w~MVX`-S}SjXP$*=Ya7<^n^<8YD4>& zQZ6_8{zyzD^~vT{!u477&HMB^N!!z|9rmJq1uvxrZzOsab{;Gnxdm7EfXsZ9LNs4C z$;8Pyi0SyNcm8x&b=0b;Wj*s{TM?x}wLY=aV2h0ggMJn5X^--HQz(hLhAtnSygdAH z1o~L*bwwPaX{&p!&e`3Und~d#>h(_%N_w1RNwqGF8h>ZSzV3QZP4Q*-#usBgTFZhH zm9`D8#i@W^oF7)Ai9&zZ;ooOCF6_inhvrsB&F9Zg0_{Z`7Rmc9?wq@Xw|pergGphF!-Hst)9kZspG=3pdNBWZyw#_)7kK-Y5X!_*fDX$Uye=C z0U*R?d3UkCmZ6r1ZPA6t@A-g`T!GP?SRMdy)h@i4V>lt+$W-@bkiefW`Y=3 zV2llK!g<3-X=C965!PSK=YiiQxu0o{O?=IC)o_1MTXWG*m-)@@^(V=AlR|^_W8|rr zPDUkjIL!`E4aF7w?95y{}|B|I^xj=<5@DipU%)&jNPCEh^og6?=lX zzJZh!?oV1E3wdzkq}qI9zMHVDVnqP$9v8c=OKz>Y$I(lVpYpQuQ!4EpXl?^G9hZxR zITy0(ZYF6w%Hn)`408&ri(eE=EX9^|yTtZ})f}H#kn^*}^sNU00^Z4?_=37L#w%ts zPa=4C8tOC!w55N4Y%tDyYQ7P4eO8cF+Bd;fYED*`&go-xClg z5OJ>J`u9KUaoNuZf7bnqbvc-ivqwmJ^(cY*%u^jnWHYv(_?MpLt(s<2t#oRY*8oup zEe`!TQB4g~oCOMO8CwyPMfAe2r{QdqD7(RiBat$^0g(Ttx>57xZ0xCo%qim~}p?Ik=I7MTUc5TC^mQ=?_kSsh@NTnO~PCiBzP*cx(X03_cS7&N@8`(yPJw$dN-KWk*!9<-dhlG@gn8|RE{mRxsBS&HJbTvCnG zDwax%e-y0Ga7&GlzfXkkK>ksZq*<L*J>l+82Ritw~_UaF~U{^DwffuF>+ zW%SA79S$X(SEc@W_EJuL#z`wC-gJ7Ay?^k5FiiOS03LR#q5dZrh7Q zq8Sv}_A4um@zi>-{v(58SkDpjBuMPy`ed_s1l?qWUXa9c_tBL}XLF^r7tSBS%72&c z^V^>)PTD$$e%iJvHWTmow9Q&h{VT-vAXdMaI$MO{0UgIVQa|`iHdw&4;XxSm0rvCT zIl*@W9ycCN42rK!bFK~$#{bE#t@OoY6=B9*h~_+U07qc7H8u#Eq>Ab-x|drQkJa zoJ&8 zUK0w1lxDTqq`ptqeN9Q}Z~n}h{PFO9(rit%@I9RUccD!XvD$nYI$OqMp4Z~0(}5<{ zhfd~h-XyQ(8IenigoVmTS2Jger<#{brexeF0v$v`CuuOBoODW-@jK|l;-l-gol|$j zR*R>q+ZLyyyz1``Jve^+_qObm0oE&k?UWiq`2F$vX^wIBa@bTQ%e0fv$oJN(Ci{+m zp6UfwF0wZ)0Ro8|t&(gs74^Bb0gDTswhbqqXpbW4X;XW_rpgAUx!hyLGoIs(z_w+# z<~d02uHd9D^;NFbnaT$F=z5FKjTyD6)PhioUR}_HAI4u7}+{n+vQw6kSx}a6?9_mL z;m^jfEaoAVlknPoP;R&~Ytf_Go$EBl<--CgO(*Y~B) zADKUm)r|MXPKCCX%zGaD$V!fQ-D29yGtHXYdtcHosGsj5nc~!@$Kkrm=szdcte49{ z&WKKwY~w3b$R2;Q7P|HHbCd{Q%u{`9M}x$&`e*ssdapmLr7|!S7r!d}T&DfN4Lmb! z_QK??tDBYlNOo38x`?D^s(?=$H?BqhR@nEY;+_#sDc&}Wu3KG-3E^?caPosdTjZ#V zFO%~4x`-JTZ$b0kS12x-aVCCLMnZU^G`>L1CZ7;AG@eU5@J6geMExQ3 z#k+(EIqVA3xuzy4(FqW~`T{~+QbPY&FQ+PfH0PgZcA-fp#1xb@B`&m5!Q}(ID;5%C z{Aal3%NYQT(@MXr_y#@gE9AvYbD7J9|2idVY;t0^@)}HZ8yfkLCgHulyR*=>375Db zxd{ia75GE}pqFXC@!)plzD9!9pk=((LmhM!I;!Bav(EQ}q(BE5@A8AgHejRTI1QC9XeDMGi zwKco>APj~lNfpP^$P#Dgq?%hs3uL1%`b6EPGi6%z7@-adep{;*=vSy~z;3O|Wd$ZQYCtu~t7u`aWfM(Wm*YkCu z!$@^&yDa6GCXA6S|77PgD~|(!MFDrA^I0D5ULN=#wlhNQOEIf4^5XPy=4rKAtb9kt zwAGGULPxII1%bH0EEy3L7LHQ9i_8OLl$~b5^DFw(HZ`BKLQ-pwb`2Pl%E-O+u?_Af z5$Q9whD&(`?{}Hw3g*Et9Tus9OHL*I@fKDn$(gusY57_ptP4>0@?(%KSX_ z4)v((H$x7Ro2gt4Uj!SA-NZlGx#jZI<@Wz|e&cxg@h|uV@DbIXD&OC$m(N(Td`x^e zY+{#pfBC7upjb%4fNsmod*M}!?#9pVcV_QbNm=RYy#U<5uPhagVbmW@CoMfygr3wr z@CusuL;h}S^qN2abS7+hTrPEVPW2`7orrtLC)=x(S0;IfegC`B{?B0jXMiQ-B>vY} zONsxVVp^sC19bi0B|6>SG2bYB_aOe0(X-o{UHr_9KR;%^j8=TlaplsAve#FW{u?X) z>oxynh1CCJ#Q(8QsMP<|3H@KJSTWgWGIHYo8!Wcn%+e#r>|P$wo4gR#OxOw74VbCr z2-|xc80d-GvD%f?PCa_zGVy|~eEr4bhc^ZMow_T*FFL8;yy3P{eerwBD=F!zQS$q; zNBHPYYQ^iUuesm6Ub|Xm_#rKG+4}$l+@1N@se{P$+XPEEkLF~`IS+6bFfadn=&6D~ zYTBLzp6!JVhs5|`dfm+gkFItYt{)u|shCVfY))|Fw%`q%XF=yioG1|ghfan-PT`mA zYX6~&N{8)_f6N}cA8qS=0_Sy-1%_|3DU$AhVnnSWp-P8`w$s7qVsc}Swxol&A<5$| zPv5k*V5|1J@Q4ja=DXx;Sen}K4c#HLQ357{#H6U)>E7OYFnIEVU^9QhbbE=UR2`J) z3Ed6P{`0``%zHn6?Bhz|b&h!XkLI73RApIjE|;jHixkM`3P7~oUlT35+=3egGq&3{ zXqzzj{)-P#G6~y4W(YMgEx8iwO-i*Db%cx7vc3} zp#9ofdiLC1vcbYLS1j)%)HC}v+ixLhL6pertfNc`wULXB;`;F8^VNZ3ld$Y-annV9 zAbn|yB|4E&ed(yB*iS5Lk?GI6mu^L|tVXJ5hy>Zc(}Zv_IWYy@ei!Hm;~!=Ys(S~A zfa#q+DMY+`0<@UM+e!!_|^Ov`ww4c=dlxn#j zdW{qHudU@HoS=&Sfpu?7lfiE)-lX;Ljtq*Ug#t906bhjhMQ?LlOoJ1|gLLV=n=yVc zm}!29b7UQ)Oj>fDy>!|Cl!*>OcSu&C@mk}|z4UOEbp?Q%a8FQEeg z+B$)H`@x(Hana)4`zC>L0%1MhJM0IQ#T;Q7bq|Z#@0!ql6Nu^g-fcfvkWu%znEjp! zC%sAHH-WyM?@0T>%j1^V#;*)t9lekjdLb$LtDl+OE}}4#hH^M7Ru5V|S?cAF@1L=+ z+3_nHP%l5Y{pC?2`g0C$en~IF|B2aUz#F{MQYCb+amDg}HSG@zt_hTD{G_xHYw0s_ z`D{^k(c_}05PP}QJ>kH0N^^|(^2XFw|H$b2BZvpL8HcQxgx{K%zk`pfDL``=Rds}sD zjTMuF%jc~78J=#~L)p=yKd8z#60P6P9R8X{CQ3Uwb{s1oKq?f>jFlp4)&J~)ejN7t zM*j$4qTbkfc(gtjCnX~FT<2>ZIEmi>8YXy=WR<_a$+mYuPaBR#dtdApF&T#`7yFiQ zcAVvk+PF_*HK6mSCTO~;M*?=d4}_k#m1>vZok=@_0B}S)iyGY*nS~6e$ISO$G4)FX z7IMJ}iY~N@0x(|9oO|8oE-A^Hw*I46tTVWz+`l}7u}MaI%dgyy@adjyO!*lY$=-BB zwVNnSVROyBecdH=3l2EK?NA6j zt_?T&M_^&m-~t*xllFrRGNVZK1?k)OCxrksP;?)AVD1bfk{bY^ zOp=mj^G`NwHm=b{O1`uip?+Zs(DHj6AMo0MaF4H=bNkeS!dTP5{paW{mRyVa>m74v zLYp@^iVSw+E&}3%)PnBGQ@E=h6u2E*eZFu+QcsJ~$=`X(fA!*Dx!!H*;u?e;PxhyX zx)K3ZkKE@#dgy@i5h+mL78#o&5`xA{v(iwL*0`=4Rsyso0wZEDoULwg=6~PIoS^umCWC|zMlS% zet@acE`TUZ2P@((3@VvdwZCvd;H9&Mxq6^R5Oq2(l9miZ-UeH<5(+N zNF#mN->m!-HtD8?W~cj-UnAV^yv(-RtdOMnwo|2B9Xda%1Lju<*6yzw`7~Fu-y$ej{F>aS&BJWn zM|U`;P7dw2x<8=WJN-Y%y zquIw@)A$%J-^iYv^c59WOKFnz0g1|0@p`<~U9n#zUwyr~h2)3TqeQ^M%%_Lp_azX3 z^^JNpo2uK7gxo!63HcY`=}7OICH@dB$0}<0?atYAd+9jrDP}fk%i{G#=|$iu&SI<( zPA7Kc`LvdaUPUa_C%xZ#G1@{oN}=&j%Z~p_&7G-Wh}p)Szf=*E1}K}fwuW8*m20{! zmZ!CF_R`%8$r+V9Tw52vo650`Ht6}ZXCj%{!Jy~$n^sXyRex=^uvdk%%qIyA)E$ve zPvqYPD-6r-)KBkBw;k~^^;FC_j3);V8Z9W&s}p)x*x7lotMflH#*E@%GigWzf(S_ z`RyFX&h}UoidPxqGdknaz#6a-s>W4@=j>+En-@RNk6E1QB#n6;*k4Tko6VMVk5k$C zus``l{;O1sDeU4i+$BK2CU7I7_91#saiSSaY`&TYv?W1D5H*IH5mmm=qkxAn@2Xty zja?F}JJAp;b^=UJv(V2a1C7<7lr%`C7p2Gr!z?J*TDi97`n~Rmo+PrrNlOsiu3i;W z=DAfO^R@seDD$0JS_3 zNhO~vgNJ2^rt?A)AJL?)W^SM1kGAvj#)n-zw9`CpIYifXQP+sk4#^IG`EW=53blES zW0y%M)OiumY!q3zwiJr=L%@bB9#IXHy^( z=g|wfrwINV&C8#&s&rmRg z&cFE=Uu$3E=<;kHpFBZtPq1LN5`5ZjVRS&6zH@Q@1Gr zj|7hZGkGtm<{wJ+z+$|F5#T$aeXDjPyPzFm)6^wuVHZ&a@x#r3Mo%+9NF{)AS} z=@I8!z7D=nv!lEjki(h#cB**`U4)6>w!4|ne!Yj;qwr(4wUghYN(@Sj9ior4Mm65m z(_6>dq+1($(&1D|?g25T884hQ{R%Uav9Kxjki&e;xQh~^s@cD~*?%m4zV`TXNB`Z= zaPF}eAz-sw=18V(sM#^5Vq4__SikS&-w)v|aM#!D&zk2k^N(kWmMgv%}fV-}p~lN15X`YL)yE3XVC*qpoLzgp`Ci zomV!1+G|bGClA_9S@}T8c2d(2NU*4+jFip09Ax}5-$IyHJA6%Q>Lh0<7@8*hWTE~| zTblBmN2T9fZ6p)xcK3X;gROfWYp{UwlHe@XHOE;3l+1H-7|sYh74n}_ljx>o`>;2- zndo2rJ6}FQlR(qMPaRc;wEU`7S zwcD+dZxaRvPSW)dnRu$=#Y_4}dZ~6@M5)BolWn>a_%DzW14#Otp>Is%mb!Q#4uSt@ zSg3d?H2}^IKU(L2Z}#xZDeu+BdR?e;=?&Z>(gF?bUA^}H@FULnj1Iacc5kQUflK9L zk(%PH^ZpeIT-ou@zY{iI0(`s7gUmB>67VJC5wnVhYbF3R-JNXhMrRLVMPW|~**dnm zY`|t=KC2VR&I^`!f=V7T{S)R%=tSWvA=^8WlNKxG32U=)!D6C!V}{2H);Hfi;F6aL zlZJ-@{QgB_O0pCfs^9qgQOhB)iQXh}+D41DOuY5X`?s(>EgX*BIZ_7^vA7#$=up{@ zh=SyvuG1XxQ6+XS8t0a`0sYxWGwR$oQKz-_I-5Dy`};yylXPuWO30!WHDXmJ+(5T_%bjQfP>$rLLy%$ob86(=Z%s5f|+gL!#x_^J(P0$l|24%5a#;M zxzvaVy7W-rU2)rSSxZ&n?;*Pi=LzQW#TtH{XMRqDofMQYM8`J5IJ^5JSB$NMz%+fRTa%dUUm(GMQnA zq58QSC-tHw%4Nsl=p!9o*P0+&(R+z~_7XkEyw2Fj<5DkMJl{hau(i<#+|0;V3D}w2 zWRAKjo0!my^@F)oz`m`O%N2`kAW*1Iu88LG#=Xa_-ovu3WO28*)rC}WKR`>EV(V;o9gPYD%n+ay+x>*NEfS1fVTBZXyp*sO*T3m`Am52dhT!^|x9Me~bfm?;RvE@4&V14_UpLc%6K)h5Ta8^iqE$95GVO)8{&SZ@&|B z+{p%YBA#UH?M?5Ch!Ja3!hCja8HXa*ZbM1z0b@fGlg&}AK+U{*>`3mjKa}l#bh|>R ze)J)K?Tk9kXMGY;mTL+?=qm5~%{3?7=VEI^!Z&9b#%9)&5p(sw9b`Gz%N-k?9oyZO zleH3Ls*iKtg!x^x*L_^{Fv`_BHg#@tlIgQ!S#GOb>s63|LlgP1gyI;t9JF~+o}bWi zlav$2uxIOc3Th7G`IpV|6-BEDYI@L|NLYc}|d*;r?dC`ZA}+2~TJ)R_goN zVLve>;VaBIC{L^G$JXrO{7P-(uSvJ?zGJUSST)h3yuK2@oX%#6INs$Y5HsfRInj4I zHrX}G+?~c71;}#YS*MQHxm{l{WD`s90?UfSOgpp}o=1NH8sc0_WA$=$)-ob7aUysY z(d3@Y+$CEtihcHWZ0 z`dRy)ClE?YdpcivAbciRDKQ1yPk+9e^h2@gY5RcgdcXk`l_Nd4xFy$j_E)_1#FO2c z3lDo7`rekza{&J*DyJ;QX82pV78?lvB4ODbNX$ElM)Pjmq%{K%SW$)}G59a%G8u zn?MKEohu}*a0jG*09_xUq7Esd6ZwnNRbQ*7ETm9W+NB^a`-~q|)st<$o=1)BV)sc8 z8!KF=C-c4Xt00XAXCBEWvfDja-A?Jzc%ZG_$b8%~J~=79yGY!O11U4_lgV--1&7>R zYHvNc?(1#dw}c;PM5&NIa>*6%61JM%a&y!!1_`^e`A)nR4@pLo#UC0insc--K_(wo-AY4On7${OFQTQYmDqxoXZggZfHOSlZ4l zrL6`@V!z2J`d>vX?l>f5LJ@dY3ZXyQ@}rwT zGzAL3pk29d3&4;VSm&R#-w3R=zA#)u3KF*;gk7#NAP=emZ{;SzZn=wJc!6VVbZ#tt zsOSz?gKzFzqQ3gKBn0h_y z!M4BIqaf=tPRJoT#beGd3q@i5yP`Am=6~e=wnKD< z-|hVZA_HJ|(0?h?nFWzSIYA@|cwJ5=N?_a%+G}vEaj;wpgyoJMU@hM3D0)&O&}?XB zESZ~g!;ge!Q;g+69hk6MM>%ia0iN6Ipc8c+uGoTE!~OK-dToF;2^;%iEL!VUp%e4m zIIhM`n_lB?R-swy?-YzgmYnVXf+K?x z!hI@7EBr#)ZRG=&cZ5TsCvQU|Xyq^ZB*D*G>We+I=m*~Tpn=|Z_WK`dX%196Kdp}l;^xhyZo)O%32&80+Ai~@(e#?m) zQDBVR?@R64kibKEj*$Xkn+f_qdrzB=>oID;%veT&g_PihPgOXy+TZE|K?_BEaqi)+E%@oPWi7^={of8qPib0#S&u>FK-pfCcLKmnzMzo=`-LmrYCH*SvH4f*ZP$ zFh{i@ma|nW4EgfE$PlC?IG%p!B9(M;tZc|W8I;S`AQH_a*XbRHec}8AN^J6*eZ4Nv zkk!L+l*6@Tc#;E13F=ecT$aH&fbB7U$Bsm+BM^3TNdtqtV;DQ5;d{L1-Wo4(0ldE) zHRFNUYg12%si+4~FLF)3$H>PzBmM>GDSE)9jsv~7Lu0jA_OdslR-!z<(%D&_cb<;L zdJRb%){b#UZT3l09rCCUGURa^_M;bL(Y!xkL#RskZt?PHiFX(<%e zu<$e!Id@jSDbl@R9Z*VbDuO)(<(q!Ky^w~};%WrX?~>W4fx#;KWL`J&1S?wyxrY;6 z9|Kg>+B@5&iyO@>7HcLaN0ZiO zMA0--WR3Dvi5*M$)+49HUXr?3*2#Xmj?9Ipq&I}*USC_spaX8ji>m&mxY?f)RRVJp za&uTuwujUW#r|-DHA19Sjq{*wUh{a!eTubF6Yo>=^fcDEPV-E;pkhbm%*o62 ztduN=F@se7^reUVGZBR|Dx=O}i%y*Ft}Ea*BNV$rT6diz%(^jgc@HQDqcK8e5{NG~ z-|Oo(r9qow4k>({*c6=KCbF~TMai@U$8$OKlXk6KSa2VA4WZb>qhz(HG~5cv<2vV1 zNOarW#}j6d_jU*vDi=w$*StmJszl)L8DTvm#VS~@<+|5-0#rQrnqAIvWzMfi!|D3P zdPuAc&NW(k?L9o4Ycyhx=cBEDyp3Iw7$Y1-q!+ju%dJa&W|y5!jQo6~dSWBZ<&0w= z$H+l^%XgM9w(x!H#Ux})$YQrG9rCSM?Cq!#h7Z>!<%XE4%Xe3UzdFjsys?yZKbtVa z*ETo17uPNMhcqsvkma_24!u4kn9a-0P0Xzhz z(LFh64sgr0W;&ndP`;;-6iIckz`by?5Jcx%v4IX!`0C9S#?mU;2jp-^l@dpSQ%{Pq z?sZfre;^1sK2(K1hS!bm@bMYFXpA^js^?L2cw{;UT}mvD_xD(Y0IC@)ibalLk?toY z#YSx?@g_xF-$4f>3rwRD_|MpZt-yX^Z`bm*kPm}CzzCHy<_K1*!SbKB3kS~;UGC8l zFEJRC!Hk|Y*XL4OYn9&jBK!HV>jAWX;m3f(mQR0q{)_% zxzEjH-Ecw|>_>C3h;tKjH)zZV>3n#RUdr5wUZ=x+ddtDrBSm(%;L&2%g#`V?KICiM zu}b9HPZqmgi})6$?S33%vT&v!`s%P>t+|1~-bjTv_umvg4)nQH8VFCwDsftd?SyXv z-ew>IsFaw-&4H>^h<b#;)65g`#I}}>(TY29~?t3qBL5?$)c+pO+3wB>PB}1 zgLH+0Ju&D@@hR}YG{Z7sNDVja;C$)F{HG882M@}a4p~| z8|NnwqCsn*z5=id?wRy1hgL-`ZvNKdgY0j==!-foW8zByY{W$NpSbv^IA+HCMNx^X z3`sBUVbwxFDz$chIVH?n1jDSwHPdCACnA1_8J!Y^RQy@dh5H3?KsuDI z17$jkbp)jb0}K{ye_L1AE$gm$uP?o+>vaDo>+3n5A!Xa(rAW!yk|sxUD3Z3cCdk4G~LSm%hKV5t4)YIu2De%w;X}`UErk~-ov%t9tv@Y%3U$s z8`Pooiw+izuzMFm76)B&Vy56_HOw3Fc-Z*Ww_J9(;n;A391~+i6!xbUxSse4#}3>Y z`zFzT0v>Wmv9bz4R&ujT9wo#nta5#tpcgEoN2EA7r`)P9@h_(r8mE5{c=pTW$@V~{LH3vg=z*sab+!Se>m2&ZN!yv*DT z%97y;xRRrdk#&B{XBZEQKuB;o;Ud%S4CU*h_xhCHR~;vKBN$HYPxHJtHJstZF$L(T zXl`cI4CK3Xy_Ug0w(xCvBnc8pHf>^m97BFfCY!9lWGtA|=Gc&H)mqDKgP?U1g3JtL zzT*uzPT6rLkTgrdcUrJ5r0-i>h8vT@|UY0&`B#xvW?BGO@(BJwm@So< ztpg6##Ry|SQ-ehwcv+uXSBtRN+!&(a($t@Y9>H2|u7-+}$YTrJi$m+${AL;{%CWlX z7U$gUGvXZ;D~4wG`I>QKavAn-wWMe+R}|J-TvT4o%G+`1PM_1$GsPBd${=^w{i3E! zg7LBRglKibRVXBGlbh5;&v_Kf9gNWEj_70zrHqjGJ7JU{^)Q~&Dz`>^9H)*lkCJc~ zF<&@8(1aenKCb0d6Om-96qQ$zago!~SCvMw140Gmt$Bx(dnu89!&H5F!Q4SEV8z*#dii0H`8C=;C^2TmB58-!!n(0kuc^7YkLw^+{X$& zzPZSplMSVo^h&Qa9z^YTEzyucE~ZMJD4A;{Uhr<5`#egrHGVM>ntd%^7OAg@0Zd6vrUc$Cuykp1Hva3d~Wmjcw6Q;of2!~+>%`t zo5|DzC;XuRSE39o_{M5*k59Z8&RE+`S-^vw2t*H`nEmL~b)xm)N=y|;&fX_w-2dS1 zJY%8?qje3^J1EkNih?we-n)Q+H0cbzccj;0Km?SoNN)m4M>? z12dO%PEK-@dy;#9-TmWBcCwRi=liqQyY{=D*X;}^ipk5j%aQ`KTR*d)IX?iCYAg9F zZ83k$jG79zU0mPqQ0N+|`H5maE%HK@UWkVTIv|R}+|1Hfb9Pf)Yk~m{vp~l$zJaF~cg!1$K<0L*iO~&`(IPJx#VT;?xrf_atmcvT z?p;9tj<(z{xj8vZ``L3}tjvR5zrAO@ z3=ev`wxy5j?x*&eHgHQCJ@!Cl9hCl!w+Aw2P?ledKM$pkJyS3cY5X-j(aQbzfa9n5$YSkc?ekjgxD9`g@q2eQ-XdQ?iNvuTKQs=hv=MmJow z(&;emUIiws3ubg4gU`!rE(5}KVdKG+D=sx~^}H#8-L(uSVO4$*gYk0+Th#HhdG6t} z)t-!CNZ1{lv}n+aJiE0vPxk}1I4FEq@TwiO-~@&?|Dw7PSg%pULhAUfq^P>Nld|j% zF?V{N&nZXFgXI&w^8mi{=po6kZeukaZdrJ8YU~XNp>W7f)D{4gtQn@`P$`%mI<+#C zd;`q_yG!7`!#_R+#IyO#%wLX(=b_c+cN^g+EwOf~ULPBS;ZLddPpbUlk5~>`-R5tI zuXnQBCV>I~pyc6*$@TI^Sbk@0_;F5fettrNKU_-+#LsNhFVIqtiuNXy*uIIxj*rUX zPC zx3Bzk-Ug2hzFUmB0;L61yKaYq)6CokJN9zs5%VK8N5J3J#bbZ0BnQG!rS%B;d7Vd7 zZKaa20N|KRqGCN&i+v8J7&t{m(WZiBQ`cb+fDf;{0YWHYWBygG*QAW|&<-Ruzv!|F zKPo+C_sVhzqxE_qf1j}Wd^RU)mG+|C_@J(DzVA(|D(0Nc?{impl>XgOG1;MX=p`fcMX06mlBN|lkG>1UQN{%VWqkLG92T5VFY@aU0<}wL#(#l zUdx44OJ4HgN?K84PiP{mK5zfOrf^O|?U}@bj zp6e6{X4rVwEAQt1;%H#Fs9Bh{pl`B#k1E8r6_y5MwdcQc=qz3H|qVeC(Q zc6PmNg5D#pqIQ3+)y6A_cYyPn3-2mQhvD;r{zZ+CW7j;$YtC@5IwT}1Kb#jL?Yea9JZ&dNZ; zMRZL*Gg2ls`Xj+DtOJ_C?BWO~**%p&@|DgjNtBF}Wr@txH{RyW=L=O9WBOg8u@a$t zh)r=qE&A1C@zOcB{X8G()2xq}O81`iE~fV2TO~MS4rIcR%)U}9`vn~_J`$@Qt=^l!s>`gE|yY^m3Sg=nXzGvVA#O$+WkUwfrsWW7xW zXm5y|8?#51S0u@`(L#Es)LFIf1qWQMOY6B^)pqK?1-(FTadK3B@s$Cr(Mn@Ak-L$~ z#_NqUdrndyhA8viBmu2KYWvq-Kh}2Y!|sO~hT5+zE-1U|ydMPTmg8e&TZ&N|?@T?I#ikgf~oqN$Rs>{pfn zU{iVh^^Vr6^}u2H;x}(d1Tt));G~_JaltCUUdyfzQ@z#2-H}MMsbccmH~$BXY61Ut z`&WPe3Bb7qY#&`rY}je-?!6pTW^1@lx;`Tv7rc@xh_=c*`PB+Vh{O>6W6RDtsBwHS z6WLl0^zrSJn#D_7ZBIICtl3@^%(!$}IyJBC=ZZcFP?0+?$+5x^0m*dmS?fLwPFC?peGaG=uwItYm)m6-|{j zM5!{&0(K|Syt2Ih6Xr9*KQDjf@4Xdy;~648qwL>OieXZ5`vNp6oeZsfar2tae>EFQ z|3wDl_D=hg&D|wS>rpXUKR`1~G|u>X%KMTx^x?4P?6WaJtIS>f!Vu_qiwoR3Zx_uC zuOtGi$&#buj)+w*FM((u1! z=kH8b+?@G;fk?(qlWa$)&DTxQ8&JodVFt04royWX z2V?OvBd<&D=vDA6uC(%F^hNoKGV9mEz^H#Mx%ZSn#nWn}Zvfb^FfLT~ksZKSDOC4t z?9+Ot&9Qbg&+pQn4;_9E^0QQEuC*6j}xa1fte zb#Iy~iA8c<;$?mWRdm>vApVosWZ#-|R9|gm8x1EfS-nN?M7=7Z= zVPswaB_-F2I*ii;cv09Q?!(YWQt5@4RxKWk(y zT)PaD!3kTv44!qETawGDn}NaoTzzwLS5GWZaMd-U?&WTIrOV^&`-TwKa}|Nnoh2!z z+YF6h$K{IPQVwP>@WUb~9JF?`dojRq*patvAR2||srkFbw~Ojs54)^&<*pw6+*%{m zI}-P*?OQh-06>D1Maz2W`rum*1mJ6l_WINDJ6RMM)(I80P+ga?>*m4!mP~M3K>kNNGHDHCiAq$okEt~v>Bf}$byUQN?u{O*UxMo6e+D$&QMPR?6z547(VBCca zIY-qdp9I^yO8+Ck4MoBGJRiOCnshS}Kg)2-lvW8~S&i?`kbpftc@=?R+6!J&-n)A2 z*Gek8`{bPE>eU9C57LF(bP7^jS?#vF5IXWBxp-i|xRg+xN0_DGeD#@4_6`g)XqMbxHO z{%@EKM#$Bv>FzCj2@&<`O>5ra`}hgylT9Z3TwGa%HwIfa-)nmia^X6n-Y_3Dg55mX zB$GIV+L3<`z>3z=3pSAn?JDrI(JO+Y{nI%Fo|N$E@EK903xvM*@*CT?GqJl+_-TqH zMz%4XgSn*0mmIGrQALYp`=MXWWM*wC&Dg#-GVTkGSj6ofnrE1enXNF~{hHz`(vJEn z#SQe@Up?rw44iA{0=4l0oZVOax6M=u^;&RW$r3 zmroiZj#QD9kg*N4enJ8MkqqL^LXwzZ2r1Sp67l%xQbWc~_y8qj-<8w^-9Y=AHc)%$ z$Dh$JX(PSD1>GNDZAyJjh3rv zxz0oM10Tl9Up84K8}}(@)AQ_}ZIc(<8JL5@nj(6&Lu%|-TQqC_OdxJ$lR`VhJ9^7U zJ>r_Cd^WY_u#$V1s#OAZCwGk~5VHmNU+%fw_)QJELtydPj=7^?=_pJUQ7>_J&5lQP zy|RjTEE2b%+t9fdB{L~tD-WhxwL4wuin!JsESJ=6cN*(Q51-Y=-^e7jDk23T^2vyg zi9RdAEdw1FRSlF=cVYzvX|1xJUJWzLw!FXB(U+X}2v#qooLdg6el`?N#FlCqkT(@P zz~MO+>OirJyve+5cXK$_gT(^xWWfV+SaA&6&gzQX-Iw;lek9ehaS=*wT+m%o(6=BK zW6p=@4E)<3A#q3Ebnt98j0u63a#fO@?b8=zm##g<-;;2yx@*ysZr>v#8v#%zN6IIQ zmRBh^nc!)dC7;n1nU5`oH~j(zXXN){53ex%_H0r410T3pRmf$CZk%cy=qJwe9}H#d z#e!$0>E>5yh`baA;!RN5upVJOqC@mSS>CJw<%!p+(C0SuB!3a8T-@z1N_tz?x_nqj z>dnI@rn@>=X>!Ey+-}~>;tt+dq3oW!GV!86Q7Y)^4XLU1Cg%ZM`**LZMWq4!&-pzJ ze{g1W_QbAmq`qG%?e^aD=UgaxjNYMolIr(#g#u2~7&h=-gir6F0p|ub7nPIX_}%HQ z{c^!-puMXDpg+{!+`$Yuv0(F-0xQyKuiCIk(8biE)Uyki*qV8F-hm2@%)dtp3jIDM>G-F4qxJf-v615)v1uu3lfm%|*F3YN+sFR# zQ&N$K-)dOg(sFcKxk7D><=ug#AypBS0roT-mjDcE9+sLrQ6YLmBLuL@Z4% z;^n~$u>Auz`q0t^DHYYIR#T;>FnMzP-0%s!9gkpk_xizE8!Ba2KO0l3=K1(#R^Q+i= z{)ldljK^^>78rM0K4h9t{Yah zh})@!)-PFl%h*(*S@HwO;h>(OzycU`0ccAZ`-yA6G6_KGQ?A20aV_ZvL%Xyj+n`OBxFkb2%nOk~((s|Om} zj>>LR>wLu;rEQ~by05o9X+%sf@_KLf&|K)1yVuVH4P|}BqIu*Rz}nFu=CNH6K6<= zdtbT5UcQ|1S0~oSP#~ugiN{{iVOD)L0%rbQ_7-(?jCqHMZuugU-A3ZS zd7`*w6Ravfqe)`av;w61G9GtUsYGIp%P?4~LfHwah zhgGc8uksVo3|_yT{12lsUOZd;vv(cR&dk0$etNS3fhxDT!*!6)*jFaxOHAB5^OX+6 zGdETO_Rli{r=K;^{{w}!G=Hwox3dUR>w})-R!?MCiJA`7kF{|=@3P5lw&Fn0-ikx% zpJ%i|b-T2L7CA8JXs_&?M$7w2CbI^O&D1x{)4!*dRQH#D26bqj{}Tsnnma|V)OvT| zUgsya%jqTR=L0-LADz?#3qreZ1EY{Hc(Em0DDL{`Kzk==xY@NdmpL!6R2>RcN4SZI zY1M-n_IQIEL{>^JA2hnK_hzybU4C1BHvhMSS#vgrbMbRleX-$rNt{#3&gjFuXXfm# z`UU$hejNFCM|I0~XK-K^{nFiUtB~>FvWW#n_uH=HAttzCyk8Z}q!XD6=e+ZJ=&JN1 zFBLME6A+0Mb@lrAr!2K5M|75tG4Y$JR-BBHCSggyLZ;V|^;6n)lMyF9K|H&?G%xeWphY0Jux2NVrFVCauSF$pScS2U93d>H@AS!m(5pbyKkpr~c;C3Z)0lh|$5J2zlcY`z=Y%^adE z+SdEW802~iF$;?fWv-XQLEtWR^`>0&RuM5T(Lb|YVrV7{Z77j~Z_mV3ZIp9pMgD--UrtD-+8IxJcJkViREpZXDt z`Q}YI>MYDk8~lNhr_4mO%9X*?*Y87Jx|`%;bV!c(sWDjQps9-yYqrbbKdU)%rYNQx zFWg3K*>&CI9gX)r&?fqlsc_03?m_CyE2u3mVyzA7#LLma<1jg7L7tE=UtG2TY1Yj!(0kVDB~ z-tdIHdf@_5ImnFH+Ge3{9xN&#`BFbd=Af-(#y=prRV{_Ay(*nc{+u1U%(OpQ820+n zrua*!pj9(>Afd=6rBZU#9{Z;xqQa=v8g4~V`^HB!^3WC+RwT1`QSs*-!rUpou@6yb z$y%zja0=6b3Gk!37NWYI`{H_IM>&DD<@_t2S885r%U=-w;e|3Cwlh+CP38j*C*?=V z1>kFr4OmC|F2|TFJOm{(3y(T-dRjvTe%8r+D_}j^nX*WN8PmaRTYkLNzQE$Hbau0y z9OJ^Hs1QUzN}qI_yUqZriITF=2Xn-%&2u*wK>9n6fWssut^5Zi4_umR{G}DzBfXwk zdEng9?TP(ho+Gb{)G=wNTC0Kr}K+P&XadSb;PT>Edb zU|@Wn!0c>Qs|l4N=igM$Krh>KYIVt59URMb*%{Bk0EO$4LQuAUpwl$; zt!3Jn`s~%6qXVlqL4v;_A3LhyVfmESme5=)W@KssHAp<(5H5cJDw1;;c+YeMPs|M&8wCPKW+LwTj>_> zNAZ0jC0n$q{wOB50Z zc7j7?t6p1pHOtg8Y|a>=YhKGwyrQ}Zon<>ae}I}EjmkeCDb>0vXy|kmFUYWwvB>Ot z96)Ho+m#&sG$M4OvXi)$T!`*LGLAdd5KK8hJn6wjwi6t8kR%G}F_7<}mJ`lSwtmY5 zc~;dz9O8S2R%ppa+yYUOF=(%X(zV0bRC&Yv{YDYXN-*T=ru`4lO4~I ziUa{2twPL)gok~VZ$u}yOY|=@rJ`K|3w5yR^I3KY-k>O7XoImvi&-aKQ|QIv9uYFu z&gN}suY{RbFu%)vmBb-7XXd@NKT?JUQCx7Hb%%_Y60|X2EOK&02I~!{zw!mc(_E$Z*||KevfPZ$@u_eVv*l)hm}@kWb@j>M}FDn~;MZo#$J<62tvc zGKqE$K;`9SO*c`(qqjFMdX+p{0)8g$dJ5uw_T)4%4_ahaBSNJ9$)mxF(wZ zW%6Wya+)Z{OOOm}auC2}>E}Qx(QXuGSNPC8iJWL1W$-Lm=Wej?v#rPbJH;kj?p zfx+xA-$<^$DW2el$o-8R&!!`zP{0Ycx7&7~jq2TV75C42^vEYRjWE}Fv$MX`!46jIFjzJ;PH*P6{e&HOnYYd zy3{B*9nng%QSe(T&dvPif-Cn4!wF7p%C%afa?l$&;1dz9E7T7N9Zp~jMwTb^zRLJ2 zwJ^hlRmv4#S?3$Go<4Tw9izWPN{r2TUir23H$PlbDL{!ui6{HEvDZ~F`yx%i$sC-0 z{G6V(=*-CEVa4LlbtIMIfwn7hBa7C7fADWf;??CS`}qiim|)T`nQnA|bstxrWPl?v zn$931A>+SehJ)$?YveLiH_f)D;w#UXaoB}7YBQSb9$p4eI<>H1d1(MZzOZF?>t%Yi zBm2%w<$~Q8PR%UM64|xclC?H9{WP;3RazSaLkyjor!GVv7(&Fd$P0KW0hTqj{+_+L z5o4m*K6f^ctHNtRB1XgL)(c@f8->oAZ=e5xje_(=eH8G5LnG*IV23+7-)BYvPlbO3 z4^!+bIu9Kv>2MG*&7~3nVXhyBUJ3_St(v+OG%O)}-2^Fos-cP8M;1NfE?(ruKZYa4 ztRH+}2%>ey=ee`n65e}r9NM?_y<&$VT-N2Z{?TdCqs#v8_M)*H9Ug5oiu7=eR-$3B z@^RZP#hx)mg?@L2t>+{wyQ356%gWo}(D?o)OGxzkv8i+ycjYedm1g$x&%aDY8}Dk~ zU}bI=DH@%)&y*g%e58eE`s7zYQG`)w=ubU*`+fj_emx)?WN^uUTC$y&a9ja0-tvII z2q3f+Tp>O-?l~rgKJi`rdw3QwdE2x&%P5G63V1cVRr&rOZ&O1P!Oi`LulSFX%sHiu zULICsP~#A+0uQH{CKW`1^QO!qL;lf6{m#7p9_mAUDD}C?Gn$pxx>qg(Z`Gt>op_u8 zT&id_16=kDti-=G!$-aTh-Ovk>4*Xofm zt~T#kGAuC}3+u^UC}WX)w&8oLw4ER=g0h?-uQm6{0CO-$aY`MQ;0B8Rq-8Tj-+rQ}TX)%O;OoR<~wur5|K%(7M>GJx^~i=>5UlI?mc zs48rlsXg${LN%nHGK!Q+f#tvt!lQ(0^t- z;WO9XH!OF0RU}7=(=MSx>K54Z?ak)f49=uTSuwQkkOwU4y310sF1>iwWP)y}$4c_LIgxGVijZFXM zul^KvysR&OgJLqpIk)Tz$ix;FavGD$!X{o?&A53QU^;0MzYyB}Q?L~Lb=NIhC~K=F zCfJz&ch->YUQ6n%;K$u-$+rFEtOoTN<6Zl!I7NooN{Qq0r-1;X zMjgL50{Etr=}-SlONK$PD!#qvy4B{`3#Er~mEwx_>PEWwXEOe`!ezH66Oq&P%z&K@;5Y+qZo%daWS=Q*qsRbM`~} zHFiPWT@g~nF(yg_UNss zSG*p!urnL=yCp!k{ki*+U0EwhCBW;VtAV=31SK5!!6PBdPQ`RlmiAOI!|syiUP_XV zB$D^dw>PG@Uvz1|%rM_6>vt7M$6k4Q&^pKtw0%(Q8@P@z(&Tc}nyss9fJARmF&Dwz zwpc%c&iTHXFUYCiIsVI~IYrQeU5>wk%`S6(-YZECmDqBN%GS&JR>j@Zr=wh}?-KQO z+E;4T|3gV?wXyw&l0?VBwYrCq#>)*mUEB*9Rku0mt7>liBVRq9E{mQ8M!&X1CVkCA z{X6z%V&*WVB0_4ch$M<@T17a*?HG!c8nx@0Ur1+)H@#hDs7}nR@)vQjj1S^;TM?O< z=;_nVK_>7&aHt^y6Uq?Eu$_8MxtMMG!Rdi|{L6pmuRz;Fu5iO*_o^wAyn7)@c;`i3 zp}Z!gMp-W|jQ_jFGW1byyxDcgCy44>)lU1Jw=@G9}5mOsh-E0h0S;zM>_YaA`5-qy5+z7IPW3eBPuw-zb_`hxnl}~hP1E)& z3oN9&@Qp@maV~g`$rkxyu!Ho5>*5;062Dc3U2z!bJExba(l~&4$YKyG9TwvtJhfe%yXSR4DUjo=f{0;gzO*d zz|iK?_XFW4M?U(?0mIBBjfcx(Ba$Sy_}Jv$n9gp;z02!gxZeY>jaGTBXeZ+Yx)lM!8>s8E`!T@B z{x0q+8@3VFXIgEsyArv=HW*HJ7P7`W`63`d|CoBKIkF2bkM%)6>7uynib7G>vUi{r zL)Uss6<1?&1(dN*hn3CsX?JA~EF&puvcqq}S<7bZ75_s+5}HLMENps%COye&=`ODc z#}Sd951Mh9BWF%X+)%|=fz)#(EJg`Hs!cE4fr%ADmTy%uwJ=QSGFpNDgyTL!)c=GF zt4E2r5WHG*__y?_Y3euLO&PZF30o?hK4;POeDciWz zT(G-3f7-vVpDVaMQz|B~Z;`*dSP@$qI+2jWu~U0?5(s|CyIM+byDdG~6>MB-N#=(X z6@=^E&igcJ+Br6D1a~11@?*s-wK`Uf`wuX-tz+Qdzb8WTlV>`MTAV`DOG_8aP>tO3 zP!71MQAI~$n`LEN)yUA1owp`kmv(T?zk}tHu*rO{$f0itf);L|a@Da~JfB4c0(13m zHBao9i+-28VOxpGGU69-lr(Jy-9ON)=_oXOn7nZ(&su2*9k}qFzkZ*-Q?OHYZB~_# z)p~w0z@x@gV6`2LuJT3Yk8#aV^-7_07m9Dh9d~1@5atCd4g7~{Ey^18?+&IRo{2wO zHxIkb)V(M3XLgqzFNbaO#2sdx4umv?gKtIHr-D3=fM^J6qeuSpp(;Yvx|*muaal{<*EbAJur_BGc({-3!AmS zlSjNw;C{kJvocUn%|eZ_cZXKkJuSbpLIiW45w=+Ar{;HTIFI@Qn}Ln8H3%EQPJX!# z{5UHZZzr6|h^ig(LUxXTl`>M;)d*dw=ASh>CvLLPf8 zRdI+sT6z|0Z!pOs|9U{(CB4zpBg1H)20>rIyl8ugDl(SIN5}%T-4kY-L|ukOfnol;vzXW~;!FYnJwuyuf{MhLd^l zFXTIi;5~EYVN(qV zBl{iE`b|n!^V0O2=}S%9OXi8*`0q{&fz_X9fF2%3F|^QLih1ctHo;CiZ{(Ok{>8}V zFYn#cS$l8&@N!Hr+kTtnJ{{yB(~_ogb&fmvab4TMI~RKH_~$ zKj7PT7oS_s!V#uO5@AtxxLc2oSKh8+$NB$st${`k3#O7syl~dAYE^>8S92c!895;z49~f3ddLbF@lYpJfZrjM>@tF}LF<-nmR<;xEnJ3LQh4+~^i&5^DkL&Vitc zlMY?_@XC|0b}Uh}8{aKew41W8yYAKX$+F46(!V_or$91+iY@sXWt(_m#In!au)imU zDViU13)4td-bJfP4RE$WVjYhy+rzJ?ygngyNm*@-Umjs2M0?Xd2rh{d_0E47%FmNLXm#rE{%62doDKiH7xVST;8d6g1Cq@foHvk`45xj1LfXEsXj zDuWnE@{nQA{Gz?vh3$eZ$YA^#4e8LC6V;&Qv)nuK)2`19;WaK}ot)Aub(<=}fLEzj zt4%3Z7TmD#*?h~o%AD+ZR;P=Yd!D7(U#R^ z|L_w?+s0ylv~3AXo7p@1b4+|E=CSi?DGa%QB)cqyb0r#lOm54s zOiwd53NJ@%l+jJ_!cEP+hOe>fb6MQdV!2r%4D4OL@=J@las#1L%*U~TC2DMt*Mk1? zE6J+`;kAJ}dttS1rK}-s@Y>=jN>+G)vs+W|tfRDu=z`4@Wc>Q2J7rD}B(fT>=0ctn zP}P@6+VZKo&~)9SkiU_~ou7K)@o_!PWcdf05T%x$_UisXo(_Q{iqN5TqRmoxwOw%l zgPcQbp`!Ff#?gn{OxByEx%Kh;yJOTxR^m>ZE+I)4%IGLkb_(G7=N>NiaaR4H?vfDo z^;EGv!pCeRz3bn51WdRRdBPwuJNrIYRu9N=qReTH|0h89f7926goOnEH%9h<)4Tt# zPHkIQy8m1JHr}OX7i#>rcTHJH4lJV=Vdf!?!%Myfe<< zr9ZDLugqn8vLqHW^t3mRe)T+of3AAS?OK+vKTTeZ$q)!IlrQsQG)c>NR_dxZ`=&*D z`O)?Zy%l!@8BafsH>%ULZ?fk0JxdcDE!(`NroOJZYVkjPZtSOC-@qtHS2KVdQ-1G} zd`J2khvzaJ|9?8^|2U}s#NUev{x^$UT=M^wMJ_J+Uo3JtIZ|Ig9|s!`(zjpwG5}sI z12oaADC2uXPWPDhYCEoC#9PTP6mzw`1nvssc%5dF@19MT%+}>u6(9_t-yXi$KBN8= zF)b|&EFYFEt!RNBC&6lJkZP!{f5_Wgq%o=}{on3J4@*hw^v3&9{db~m4|~41dmV2h z&vp^XU3Wnr7QJecV%x=y13~_ad7W1`2eF4am7ACF#L%0I+v{k+U1Rq0k&jcxn%S8? z)$wud&FpejGkr$GVweB<_YmJ>c)l@cZHCIrSY8s*I3|6h?&~dh!~NZ036tn?g z{Raad$3|F6k|qS-C8o9Nv>MUxmTx+6=SC9Dr9blJmA*Jo+Hwm>q#oRo>z8bs_d-n=UxznyhkDj^xlUnV%hx)vRDo$S zJm({>W!=f`fp0*Ln2xCRn=ks-hgv%N>ohfC6jD#mWt~+t^y8!q#OM%yj_c&?ZwC_$ z3$xNmbQ#rWAI%dzH3Z?TLi~sJ% z{>o;dJzURfMC;$56kNgVi86jTQ4i~9l9s0m*hf&f6;#OlZ6c-Nr zZr4;JleYVKTRPGxg2dfTh?~@#xxdr!ykhALt|wZG^Ej0H&0P2pA;*yxnAj-mZRA)A zeyoe*d&f26{7*C~RX^ro({E7a5NCr8H`{MZYkd{KFXQj}I>euE+V?RQF?P$vP(S>o z8~%ksfo)7xP1lx_*w+3bg_#JwTiy97-UrXm9x=Z5NlJefHcA-DSV2Ibnq?!# zM~Wbta)GZRX&v?NweU@Pcq!D;BrzZEyYf zBnf90*^t3&r8hD-%H^5dWvc3m+!qk`FYamE)dFA1)?(G0gL_Xz?4LWn_;|(LQ}*_I z=@-BCD;IkeRrYzT4Q=v)G{;9GXYFD>CCAP&&UvOM@6+&~wHHMVfP|EiI$KVjj1oTX zG2r8V)ADfk_oFmE2Kt|$Ph9b*cfWGUbJYXv|_MYz~sga^I}r>jdc zXN86_0^<2gk1_H`kOi|}{~4XuZ!#~f@~`GZw@S_S27hIxeF|^t$}1RFzGMjzefeP^ z)hLww?&R4Mf)3rn>Ed^r6FkvzG?VnvEM#skY(~L=PjTWTTzvJ;sd2&fw9R{E8xFWN z|L9zZU*N{uTKMIEP|uDtlo!b2l6hZR<|-NbLi;NLA1$3%W>)M!ZU%QEa0B9fvG#*D zsqb5F10M$W#Z2dt`qYc)4?lcHz+e}Lw4mmhRMq0jyLj}18Ae}bL{fG#u>SFJD+5m} zP4*{qSJg2*YU{SfM!busTCarBzg7m0zU~*)0}zXKRQbB=QPj{{E9b_ zvk(*Mp_nD4b-eqmWJ6QI=&g2{(6@S7j@gvwO%g`Bq*;ozAD?XPn^i27I2K*s6PDu2 zG@QSG9;&|n`kBzM-{IwKd2Wo{o)qCxcc4y^g37rOLC$`PA{EylQMMxwm^&cFb(rtl z_;ZyZ>O2i*+RuI>Iri|h4~$jcJx=a_6qnQ{szxk4|2nQHdMu*RSVp+85&lWMRX)M? z`^WYKrH>|0`WV2UO~oIoi+*!?U!RZ)5lK2xVb%EXWRi)fAbM*fgq>hO-z{p!;pVf* zLjo|V$;(8x;+#$bXEnW|0tpVM>K`-^_wR}xaSHkTm6@uHJ*ok9;crSRM613*34C20 z_n!ZaEVnc0V*IojET+QAEK*K!*=RYiVt+W{U6aVD^2ES4{qe5_QV)A45rd9I;jQqC z*=5?tEi#$ogWO*b!=&;W^ws{1?op0mMd$IF%-II^cOu3dfMOG0&R?%)Ct5}2YQ6N- zuETTXCK+)Ac@$!_O;%R_ig10es^u#_5V{+?dn?zL*_@z+v=w?o7BfCE6@lX-Hg!=~ z(b=pj4PdW<)QvjUW{BC>O>T)9oJR3gRA$3H3&raFQYDpze1nT*@83boTzum-U^%JH zKoI9~;zOPplH*s3&gmngs>ZL_N87CQKYw%s0iJsBzm&BWNc+LFL{X(t#a(C&a%>^e zpZ;)=N$qLnzCDNghta0~=EJh`=g~ceX)|Ws;?|!lO5T}jU9V`@hJ_e-Ar`je%thN5 zUgPU{K8JR2)x(a>txLg3VQ0bQ;W|t11*=T6< zUuvwlylZQjiT(P?RL@NHi#cQWdl$Z9OF(qW858D7diR5kgT2SNrXs0pzuUScZrqO< zW~6>#m z7UMPDgW{ha!!eFc%W(YU<--}rWQ(F-E&wAHMVIO69RR2#EAS5u{AvF0d>;(Y_69GV>Y>014uCU%$2% z!}Bw&7|zWUamnk9iS?LWoo}#78~B0lGg(^_N>xWbnvevBc#YnkU@lP3+jrAykK{%9 z?*vL^-&vYBc5myi)u)%Ck#_U(mjvp#vi1r?%P=V4qXM{*eAWZ|%a8e_{o-`XtVXMC zIiY3d=A=9s^j0>>H=|a$uQ!Pt*(M_j1KBrTOmOP5u;U2JY&!RDsO=QvZZBU$1=xOt z3JaA_N*0|hbJZ0O3Ga-Y7h5dMZQDRVAG@vFtAMbRx+i5hf=(ZY%f80l#^y7hK3>-O zfW1WqbpU;JKur1?rLLg7s0EN2)h7jm>83r_8!QHiysFv5(jZdCh2Aw=l{S&+rvX)Zg+F`*Oo@^E?IkjRNdJ|6tuhu0ZCg$9}rvR zrTazhWq%(!_<%UxtlPF7aG;BI2Zk-h~W!{%5%#WwVXy(2(ayX!C zDP!j@8I8j3)NrlK&j5kzlvJYbdQu$&tGAeV_Rcd@mjJbbA!eTPk7N=+H(N zpIlerbk|tXwj9?@`Z0GvtE(j5$zItv+a>?zsYEQfQvkS+FDybgC?Wr# z)q&}e%O`r>pB-%U<#BP1+Db%&`qD?^%K}n7%tSPA|12otU$Uum#yYSveo0EOy(x^D z)}zU{as*rw%beDHEY@eG_ov{JpLn->RcuZC?)`3!V&H4o!a?o7zavj7dsLzWS*CPR z9sL;(bbbp5Qn9u<{`n~gq}r;QIYEl3xUd;Jl^YG1$%ZAzWs?{U1n24#E}E(F-qJMM zs&()(QORTwRB%ei294 z?D{S@>3483NJw-02;qYwPDHJJtypIt>E0V;;YP=@y9?yJ_F#Cag?>znQmdC#lCwqj z(C{1>_Rr6Mb<+srO6i#^dE_nKu1H4jopmY_E{OGfkr`}kmhz!1#kr7s?B@fAf{7Rg zU7kNVvzy@tvaI=u!v+*XA|GKa2XnQw_lcsPS_7^Zp3>h9fngcB{&F6Dt2o@Q>%475 z`D{D(USu)EIvD?@(9RN(L`Hh^p!UrN<@xRi*3PkV**}fRqlEM14lj%Rnt_b^vyn!~ z!Pi%#9REI;hhC;2-{7Mpb!JzTgRR&hXfv{_Nx_v>$05_86Pyz-uGS%L*|=Ls|KHJr zz;RsC$OjyS*J>F|`%6AwZzgM(j`2{n!TpvBpI8{b6C;XVMW4QR%B8T*$b5jXec0hf zAkP{A%U>pYh12Nt;0PKF;X-5C#>65U_G3oF8wt01_4ZPa<1XL&6z7b_k?#dczy`c# zyVJ#rA{!8EDYwL4A zW&gvBN19t22jg}?wXAYo6WAty=Luc!OK3$`n~O{Lq>F7+UL~AHfjZq)#=0uESmI5a zML6>6Q*wZBqx;AFuCXzf+k(GulrU~x=P^cYa~tm#!E35MFM}mgtv3Cly zEZWv=!?tbP%&=|Swr$%H8Mdv=ux;D6jf#Et*{AB@-m0hdveq}gIUd%Sy|?!FL7_HJ z^1Fm0W*%1BE$fNAQQexS{XP}3DH{C6oXU@!;~L5)_@9; zW#^*?4k2i0Y3s=5qYmgb0fdR%@1@YjtkMcc@m=?%S#Zpu{?ZB|o4GMHQByB4&81jW z2E=Wl(TcQrot2hvwJ?ffos26X!j*fhseiNPi3a$A3eX@qu&}!>C*c zd(sdxGi&xKTR;RBp${giTYGgMEDOlj?fjRzj{bBx!%KRQ;ux%yK2x$5T#6Tz@zUZJ z!Tk1>TF$;2bt`7VbMNnV5k!;f)jDVdLGY~ZG0MCbe#greXH&CH$1n=&@()^`eY?V7 zGnwC}Qdz+$W%cWDLiz{2?=6s_#F7X>8*L?X%eWJ?GR#*DXXRMZRP^C+^f07pTvG`V z1&I-(A-@J9$9h`nG#niR1SNJ<5Tj^u#|cT{2hiAiRla8b&WvSDAG3xhV9M{?OvheT z!_Iz>hqR}ApnEA%U^oMbAtfghUPDC{5;TFCNb07wN$cJ=Fm1XF&BJ;j;xHHWtLFq< zlMViX+u!(|YG&D(X=aGCf*uCe0OG*k&Kmk)07`YAh)*%YFbERUqH9zk{S8b4XX<)Z z@|yCs^HtNLi<)8Sl=?rmTP3!eLMSU_}eIJutrb?!ndI=@PJd`RS#yZM{{UZwp z&DWXl4}!{m=s68t=`@x zXj5O=@xv-fy6{SF^N+O9vfS07U15@~q?5mz! z$crYO*4uNmhdaS>w9j5=COEcY2apZ?+HSD)(ueXy7n4}G^F z|NUF^r3mDDc#^q3-brv)q-k)AjbU{N2t<>KA}Z>gF}4?xVtY2S5OX+liQR=;OqsVu z+)c!}&Q{txSGa|^ha3goO=qV5z`3JDi0$Hu#l)$n5MZV>M{Ul<#;36bXZf^VxO6lj zDudC}osa%)S>AzWqGxlH5fKhCQ#{v%`v}Cjh~9DiQ&i>aNPwItEk-2_gzSbbw5rfq zKNRK|D5u-_q4p%(J{4}gnwm!V1(jo#C#;_&c;)5C47iMJz0=k8rlod3|0Bz4^6yax zc4*Z1+%Z}OYZy-l9q?w@VxXbDdVPBV#n}OG3%6X-dhUjmCrXG z@2nk3+Q_tiBx(Gunsb=P*p(AqrEUV6m1J;zWI7?8Gd&ewG$@*IFNpfw<9-yTXoGTk z`vopt*-;)QOqJ61(ubvQkhU$@hFx|3radsH&o$}!c3b3)ztUDf-*V~Nm^r+jf`6B} z!KF?jZ^X+LxPS3S*6t$asUl=SdJaEn1&-ckr7fMSn@&^BK=((rTA^$WHP;@72?CA% ztwF~!Ts97v6qIr=r(t#H4CxoqoZe63(7rgfU*T=G@tAr2VB4l7o0ct07iL#(KF_ps zofr#%S$fWi{EQHthV)|l>ZY@v5Lo{L87S!YRm9Q-K?=u##x{ z=UXzMJI3i8<0GvNio|=C?#~D%Yc)Gb==6%5Cuk^~0_lY|p`LO8d=)c|u3f$`?2-pk z{a4z1#ktLTXu?VLUiY0u{idR(N8)(YY8S;<>1<#8hs&DK$gPyvGtQTza(t<<01xhZ#$d$?| z2o=7oY)xLI#~HP&!Zx#YL7Sz5A9Rc@OpV0&HL2$djo3&nv+^O#v9=oqflztL_(v00 zt=BebFgF3;xXhs3PRW6*)kh{^-5*i@_pOLF0*KKaXM_zso!lBBL28SjATLh)n+zkjzeq#5sV{*LVrVeB)90@B=#aF)T?=s6(0{6l!)# zTNGod$fOdKwBl&3@EnwGkZ3@wquM-C*gexGNd5d^S7=7nS2w?NE%A5@W}1nGX4Ci^ z`b(Vlf{nbB(Wbmx64nt)(CtrU&n%Qi=`?qsc@d(z$%r8Zbi2sU2iawgN5AGvRy_l; zE(@JWOen!Fv%Re63!#08&Jl33||`9lVg= zL4Vq{*MWNlEzzG&MTqn{YyNAQj7xU?X9$#N@oTI7%r9$Q25)yM!TO<5+rz zDQJW?xb35Y{kf_;uro>StY83aq8jdMs`4KcNi0&RE(YM;{}NeN7J6txT=F|DMHZOS zRAa1PTQ-u9*d^3p0iF2d)1g8 z7k)cQvZ3d)o!E##h`=UH)bM57wGBRb<{<&eBoKB|qtcKFhDfusy;*PPfJZYAs<_07 ziT=f#w@&_d2p!Rp5_c!Z#0>cmgxzG6VPgZ(R?+35;mc~nfUltP6&vN(Y#@AvY!iSx z`WxIF-*RZE2Hr33!taMFP-r7t&_gpi-7-B*wy|GmmAbTp$PhJS$Q_VqKyWvhNa-!? zFjt+jL7+jU?;jZE^+AR5=JZw^8bwLyy4t&Ht?K}mg3^r-;LYoa(R22(n3mmO{YQi9{k3V@pp4pWtXcXqArNe|%xk}}u9-*- zcUt}ip%aRg4$G1lC{S3PW5?MCi}o)qrw|*$SI+H(uf!48Zu38qe`#$@3XM?|Dq-Ch z*s5#7VaWqa6&Pck39ZULOVs2sv(FsAC`saco~Gj_ya&kIzXnBM5Sx-jmi88ZE3q?0 zvSk?YQkG8~^V_Q5a76cPuvvZlbp_v;wvlC^?B%}Jhx=t?#Cqdh-G8E=yy|xlSyL zHkFg8{VrNA{tHyQh;6E*asn8dir;ubl(I(py}ku4h4xD^o4;l=0M`bXP;8WO+<1;M zNh7h)nv9h5MD~C}X{zf$-BKdnzXLHPO$|QSywkC&6pnC5Y@Ik7X6(7UP0|UB^s`me_0ho zj%e)OUolqED%HtkR>?hMnTNg*$2Ng@rAQ3w6vU8C{ z>S7RwH^P-_=l(;BAZ)6>Rd0QNc*?+^U&UJ^8o9%9F>U1fqNdz@m30o)MUJ1?`(y(w z5G8x*Pd}%P+V5LYQG&?0*=SBJQ~A2<9|&JwJ0APr(eOXn?my5lI~xPX|7OGguMD1@ z^S?9rrvJ=_C;r8T>tQ+K^FfV&*szQO8*)@rIji-zmtU!8YEjvUI35xIMRrEl!eN%u zV!K&uSf$%BI`|J7zIu2#a(ixD`b#?)LOSs?q@q~!Xv@l(G?>$Edn0pmT(6t&1n$8eWZk`Ra6j{@Bd+e%#a{YMf`9@lWc?>aE1*wf1$`vdDI8o|K}a6Xgp_jBIze!|vK%;53+cIiKH{ zdqZayvK`(vL>{}i-RF4tdsx-We#uq(8`tX{F9Z9$!@2X3hugYZ%87AOiU7u`%9rM3 zVj`gIhH>Ht4p0BU;k3X1A8>e>v~9`kpKy5JX7sK?_&AO0{a~|cVs$@fmcoV6wF9CRxLxYaM7!XZ^KVlvyNm#Er zQ8MUMRuBfgxLc{_9N_>=HBk}ysNJy>K@Q8ek0T(qm<6PKA%I};&WRme$NoyBZbAgg zC4_{dpXinmKUlT)Rq8$KRaSL%}=| zdI$(kV1oQn363;ErkwT|Zh8V2yHL<0Ba<7H6=xwY6cFJ}7rH&TE@sD{%>@%Kf|VMQ zD$6jcEngCdNVErtAvq{5z$ytPna}i5*%>NX$r$=mHnXK!tQ@ zL8Qasi=&Y+EB4flKUnytFMLykcuo-&uTk45(E=8(Od2p!bFy=r8y#mKxIE25^blMfkvik8L2A#q;eMV_I4E%jv(q`MVSKclRe=XV*E zPA7JIil_-lpeVIVh9Oh4xucG|m1N8T*A99EX%G;uKf+)6&va${Rjr9+PH~Xpx%?Cl z<3Myk%AF9XVmuS9I8{pJ==d&*19f$3NUNt!BIOPV4ub>{C90zYg_VNB$TZLnGOZ%Q zWDuH2mqm|0QVS~8&kp098}aOdio?AW4iU6EdG!thQ%tf_{W{#2sV=D)F36J!A+i5| zIL!V7ht>X1ILrwtBS^s zaCKU!}we=QHC1vl4KfqwXJhR1L*8PZ)$J8xPMisq9Vl z4>(NppWv`k!;|D67}YVdkMI{()RtKY`AiZduCgIqu?Vz9eyxp|8?xtjg=j_lWd(5r z=wOU~bjEX0qH<9t8Oc(SjZ|KDpZ!f^cbcx8N`uB6V!PMp_LK3rMMC0=1`TpzlO4tFxey=3@*`U z>_PS&G$kX(K@2Pl^Pad~N!4P*oouEk0rC+VYA79Z_e`q(HIlQ9{}m3O|7SRC^>1*v zL-`+YxF1ncr>fA&%3FWCAogyb<1=i^KUCvbh@9pco?#M_l$z$etWCPxi9Hd1(<8Pp zzVkQCY#^cY0}BEF@5v@4n1P>$*FWJf?SFy8niu~W4xd?A?6o0=t(M2qslf1y6b4JW z1hz{d{3dmZnoSuOYrI-UDcD()!!D`@Ee5|Jt*Ys5Gh~o6l!5GgV{Ye3F9GK;<`5 zkRa()i0GE0mWZtQJbyt(&(Xl``nfDQB1{5k!(~z^KS-i8qF7TO%UY+XZw*7A>u>`@NH*zaq-#4qwkZez%hu>lZnjcr{zu zdN>&yzBOB%|JV6ctQuT z%qQIZHcbq;1w(wNRQjzm{dCP<+p3pKA?WZ9N^JA=RGB0})U=sP(O~jEk$oG5)#~GL zXZp?RKX*x_*H-h*PqsbNDq&(++*F44rYG*Sw$;oSk|hBN z(q)^salyNO`@=AJ+Va!9L)_SG_VVy3rM(MyYE=sG_;8i4Ug+}BP8Q-0Sm1fIw`W~$ zHYuJ3WFJqUpE#Dy*p~}mvm|UjH={uo(#>KtidwsHf|Nmz+dRk4GT66`fpZC6-=|T;4v4J+28@=IK_6S#Lw* zG)|RQn$V^QjSniArm%;u(gY&yn5yyf_DtCGY1i1&4@r-;(_x+eVM{Nc7<2$SqM%99 zOA@hET!BU4?5W{YAaDE&Xh4bEYD^n~9cHZivV?3W) z>mCdUT+OmlrZ21~&6kd!K z$drdfzM7EEQmYk6+Q7eZ`amb#`dY#BU^x0-RHb7Cj53&@T9|Ska!5Nw!0N7t%${3H zJG_}+W3w6hvW5Bu>W^Z%xSuB`dXjia{#V_}q|cnBy;`zwdy~PL{jz^@7Xb*Lr=rD9 zp-IVKk;7Uberb(kh8S8*%p(wLQ}vO?k+8hOEVo;XTGoNu&N_msqp5tVEvbI2SHT@q zZn@K{pUw1o4`@^FR{AFMa(Z5-k0Y0C0XA4Mpjry<39qJe)uf8<>i3O$y=!jOK` zLbV7`R0u1>CU;k&z%O+KhBB}l?L_8f@{-#sj_%Yy&EwZW1|@)o0c1JN`YFg+Sjj11 zXzy~G$FBA91$cOcY^eUnz8s=ZS2(Dpxsb&|Ztd zFEVQ@(;w4%VQ4Hc_9nDS!d+!tP{-;;XjWYSQ&H0S#JrRs^%jkNL=^VU5ADv9db1M( zfVmN-N>>NC-1&W%46hGtB4i&lUOkZ{7Yuj2MEHQ;v|7`|_*rnC64IF{Y`!D%QPeIs z_lyCwa#OJM`B@d)P&+M-cVYuFW^f(ELhTV~{xyXVb33idu?M_!_X^%$DM2Hw_~^Od zraBOqtw5nsXaI8TF?zkYs ztJWN~oB10BTN;W!rpUm_r`g1kq?V}TGx!2Eq_nzHapG|12}YzH8{C@s&oWo_hP6#H zTtC70WWRtk1l2do-Bu&;%&CJhw==O_W4<~Yub+`_$gAwVgl^)bnvoQ9#AVvd!g%Gi zlUczq;YJaq!A$Th{9Q>V%>WLoy*6((>GDvcQ>VAp5WMe$HSSArE*APD(h_cpk4vqp5(loc#3< zrzlN9YeKQT%~aPuDLYHKz%&ULZ=S#xfM_#(Fu*C7i@>zG`d+qFiuy(|{11S#q6Oz_ zABgt`b-jWagM#&NhSG9Wz0jlAtlK)5x6f5BMl!psWsU)FgmUE@Vfo{uhWm8L675p~ zc%U2oB_k#JUqo}j!Wsj%*y!Yc*R3<|i+b)=g~L~xz>Z>*s$@mxUE3=t@o8e-Y3Rq2 z(Vy1u_Sl{CyqGs7-U7c9p@L^>S0>zN4}PB|NmZXZh37*r@xP|d^W2PU9CwAfpaEGb z&GCTq6ZmJ^{JnbRZ79Ia`mncHr(JSsFL+;8SL^e6#;>zIN_eYiSMgZ_zKM+5_kfXv z=HLw*ZO+5SFJ`a;;EFlE6<_GvEeVnxn)cCUyGJl?8Dq!Y;eT3mNsKkoL#L@hQ)@@t zilR%+qJsun{MyBnHod|`CvY`9r_WJJ-c7v3q4roTJwcZ+RwJ0ID27L#f;TXpAcO(V$x3D z56Dg+pADpX+ier&w~1$4J;QBB&|aD@6BNuJ9}X`V3YH%<4wf&KbAaUqBq7rbjC6&m zr@gRG-OTwWb}9p_S#znnsZP0v>Q-eXsI?`ir99(2BaR9b{k>hHMvdU&&~S7~-Vhda zEW>F&)0No-{dU=E^TAf2WEE?75`~WOf=CctAp$Q8qcjbTQGA>J8pp{L5HBK}06KGB zR`6$zsUx*T>^xRdyAeU^gc)3_1kbMg@Nd$6e?!AjG)<5|u_@8aOwo$qWSlBB2W;BYFwA6|i<(W=3k;d3o|Fnzq&CTOpO1o@BiNt5gbfR|1A+=sm~7x zg#!Qx1^}@NQ2yW7{O51}(E(y)``;@v|39zzj}(C-6uq>Gt(mhqBLN!|BPY~;gk#Ca~P~t$AvDaop_LJgifzHVPe)3&w z_i685Z*9NcJOKpaM-uk$zd%)ab%LsSurlV9YiMh63A;1>ia-WP2O~hUvG%PvWp_hA z1DJaT2!@qoy;{TAyjla&=N9?MvG*yv;?ivs0?ai3$Y#Kto3r7|zn!-Du>WH*JT*tU zW`Ly!v=fHax)fScmEHhE5CTHa7UIfwzc?rDzaYIwttBY)D6}rCz*~MFzCFL8xZSZg zM~n@?6l$&wOCdLy8wi268)+XxqhTahwlB%ViRVmPtB7Lnm+#F;bhyVz5f3dN_bdL> zud9Yngl~O#De;MDVdj%U0(TS|A%x;w(mpRI;N(eXjFez?SsMHSuOg^7+eK{9pg1M|T=3*-2Gl{0{~y^!Jk+&4LlEcjI^K zEgB37XO0RwCUv0|Ya%HZ0YZ5hm1yKyA*~QTH{}Z82F6WDz;XHDK7S$+dYUl?$TniR zhpD+j?RFe~Ni}=(zaZG{8G_+bVeZuhy=p2xpjlD2DUJbh- zTU?n2D<2}s8Df4_zB=R;WYrsXyZih#d@leMH5vaDys0 z`TcM`b$)5M8g>aS6I!;<`el&4Ypd1V?fZ9i+MNN@R^Db^OeumCV;4^<4Z9|`dRjuZ zb_lb1@fU>92Gn7nhOL-MEKSSBN=Ye+s+@Um)ibnP}8he*? zN5@IAT_SybM{KB`6A~9?m2X->Q(^E1Ma#AhjJj?|h6DKVbNELQqdJk261VpAG&je%JtTl2N zRfUWpHjN<8pfbFlot#O{=aSzuYz=Kcz~-~{+lDjD)zEqiex>cHpnkgHshkcqr})n0 z-j)H1;4?fPme3uf2SKvfbDhEta#LO?IKxosZZ2ajbqK%@Mv<>dE+l$tlyRGMwrDtlFE`{Vgoc}^$I1-;+Osl~2IlcOl z@Tjr%E?leCl4?V&_&mCymdm#@)NQS%Y1UKc& zt5bF#4?=$Cm)fgjcT$6D=VheAkYu+8An2gPYjTkR^O!V>cC9C@lzmcx)*`8;`Z`L{ z;P0x_I>)s8i36tRzX^N-8EUf?pA|}a7xKV_)5-2&=G1O3DQzip?>rtge|T7DPhW&6 z3nlM@y;9yBa?3NEg$k>NHDg3YEh%jfb;?yJkh?1yFF=Q?eF4pzp~FSh0Lp)&d);}a z^h{`i6D^gIY!FR|3jxztt-+$SiY-0}FpDd6`&zLdMr}EnmD5=k7bt&&Q&X9!*@o}$ zw5vV;u34)+I9g&Vznm8HEATdNoU*9?tzL&^WtkyP`5I6Uz#7K1KRyO?Mq~MfKJ+W2 z5=PE=g89o+zWCA`Em}yw#C8<(yLhE>u5*_NxA7~iop-l%dbn}`lu@hl<~X>CO-xqa z3Vvqp?;;!ZFVd(&cR(#oFb0oeIAD+B`C&xVk&2ER2FQB z(m6HWoVzes$|x{exTsgT8BA^_>tEYicgqYt_92(4+Wh^-Np=TNj=lDvxS5nMBP#3F z3h#ck-4OZ@p>RheqS8`~$r@(-3rqZtfMW+Z;hNJz(Ye98;}+qg%E_!I%4{Sgrvwt* z12mlojh)bpx39q%+6L64tar2ZGQMbIG`J}D0H;&I+bBYMlCDVk(1wY*TeWiG-W-I2 zI)X4=4|G*{$m7EUTB0rEEW_&uZt)}uHgu~`v&_f^ij=~`M@ZkSR6Zoh_kJVvnJa9O z6tUAQHExNaEU*^Fhy=)i9Qt#21RQwinHfmS-`p>;lDQX;cM3 zinIg{fhDN;GI{y7{bHI9{DDB=bT|}&j)FLxP5?!B+dfedoATix;K6Eq-`gF}N0$>- z%&U-maNlHpIL~wHmV0F(4%B7jbOMZghY~kHYnk~Xzbn%PzAtBfX;s8DAQM()k6%Cc zdBQ2rYV|4{;8bfy`C)Xt(1D?wPi^^BWDtK*(H|Ur)-i>#ztqzk*r_+Sfa6!*@!TK( z^@C?r1%+b?^zDA$j$UK%%{A~m+H$I`dUsjvI@@pUhgT-bAsxHbqoRDzHC5BzFuPcV zJb?;aR%iPYVKPY9vBm5<{e6R_eyI4}pVr>(JAJN>o@w&<(mfAgMa{N{F9hCESlG_q zt-Tdu)Fjr9%@>s?;tKKPZx?0|_u3Me{YGirAP=j_`P69Vv^1G}a|uv+Ozy)C@lD-@ z8~7RW^R@4@btu`!XW9{UH@CQrLNl3urn{C4<_U>@Wt&Y3*Rg?tV4NlB{T9+NRw?Gv zW^FSr=3g8fSU%G9XpTK+7)ww}$Q6H8{Za%udwu>XxIEj*ZL~*cN_=SFimhT{NtL28Fo>(=e(q&ulYwk!>*uc@CIdzO+RdADGR-@@IH>uFvWBS zcZg}Ai0$NhLq{NNRu5Y)?J1F$5&5~DThr@%{gvHRT>YvQthpZUYJ=2~bm8(;)Mom; zCM@`}#u%=;Uw2UG2J?`&QtaN!lWPt;^FfT5v9W-it?e6vX3Ak?qK||ykpMD|59kw48+bdga>wX~*Bw3!JZc9g9o(!JhXYg>bUJ9C z02II+! zI<<#;hs7Nc2k`Hgx{{32B$`=<+^`$<6y~6Zgo7#SuzVKe;3#$MPxlnnEO*Zsg}i!$ z_6kXHgVGkgH6q*`O{PGBCEQbi+%g2g01*i=z%62~x>uQiHSwT)PD~>eE2%hFbS=%} zvhZEFXNb5y*XT@xy+=jFL1?e!5lD>uu6lJ%*Wo^h&ndZOj!_h{YGNldP| z2sNwofzZ-etA3^3VP;zLk{rr1H&E@q2k!E@`xZnu$ABT_yx`7832elQg#2Q^6FnPYi4G~{|H}mF#Rk0 z{(mp&{(<5Z|5Hh&9p7u&&j1s8?F)swF64kU)*=LvY#oHt7GvTCFs!QBZ-_m}d2mV2 zT^s~y{WALFPx?)kg2z$J~qkQ78W{ zES%C<=p`u;k5`*3%0y3FC@^YJ)hg3{l(e-u^fUoOkPO?s`$wku->4Rdc(YV)Jgb zkQz#VWj`oBexx@Yn!65-lBtsFiEB5Y=|q9ew^}A`-CN;~9#~sI<9lF>-m7bVy;9Wm zCV`Q%H1K6m*C0|bV4};WA6J*OqI)&jF{%DXnq8I23Y$Cn$k4Fmk1T}ooqD2NO~Gi*D`uXT}R1|#28kNYz7w!ICr+Wn89V=`ya&n!<+RE(Ng^4`l*`Yj>5jrAJdBqWIJS=9$x{5!au< z)Xm6|FL>p}2De7}i`<7+OOVw9bNC@8UCP2JI#W-m4UJ6BjwTRvyK3qjYL{@q zp8QBWI+n0nfmzZa+_Jg~$|Wh-K=K^t4{0eNTp24W`Fe1H;L9{ahQ2MF3VoGul#^%; zdw+>uRIu0`2@JqdsNa)EbZzvsq=iV086rQzLgtUKkP{xFFFrIH%q+|t=mSGYBANez z#OVJkOC~n2NDyIQga+%un6Ab0cprRc192VbM_9m0Arbx&7IOA}goP)$%vwB1VZ(P` zew#?lA7Q}_slMNj&=OZ)$l@8e*OGE04!vp!)IGAXp_D`lu?sE8Kg?1gK*3ZUcAOZF ze~j*>6@VmOri|_!agqZE$3i7w-9<)>Gxx426euaZCR7jKnh8VR4H&G53YJ=MoFLtp zj!J13BH;!A=FqYv4~tc-m;u9&q(LV2xn7hm5Fc&z2)F+}IYBu&yhT_916AUVC5aBF z8~e2&FYe--AyVveHhf2dcu4_`uu;G)$r=`+TmmRTXO?h>50h}1P~AP=GziL|A{C`z z9pZc@LJ}=HN>SLI6&P!5Lg^;sLiI;jVEuPt;e~GL9JxyT#H8mQYw$-{IQM3x`G>Fo z;k!}HNw7~!vQD0V1P% z1~q8BoHXikSWU^Acc1&hR>9u^yaMROMp`YG2n#_bNBuM(y24=xGDK9ZAIOL?{}2|cmHuK66`kYM0dE7> z1EBJ#qh6Ef;0?3FnS>}?H4Cm94V1lWs=3Z|3#$i zLNOa4ZiOR=m{^HzgqFo$9iy6dN_;1c@=~Fn@9G(C@T8iTEga!6jLB&Q8pD8A2xF-P zdS|FH$TEh&))4hb%%oCnkmOyHuEZ=v4hbiXoAfqGf#YQtDa{5UB*s&{T+cq}>AZ37 zB!UW&lKvPKspk1~4?VL;;prN>A=lfMS+S=|hRnrDdTaDaG%+V)r9-}+hpFW3YhfeQ z7-_BU&D`J;$%>P|P|U{NItB8s>XM8rH9&907CSsr=_7lR-eoyc| znQ~%>TCE&Kpv4k2lLH1STBWI+<^R>ex;FUc&KkR!*(0A)7 zt1778aEtV)j#yLnn;bXCR0Tjrg*4%TjP#4QnuN0asdgV;+a2v^(1-snDV{0h%?vAi zNG#bSS*m4#MV(7Rq?Hl>qDW#j5%~G>E)eR*nwt))bftu9>z57;>6Fc0iR5n5Yjq+k z_@Y!<-or+W27BWZLn0D2_c;Y-B{CP4uZya2CE%Q@5XJ%`PLFctCIN$_Dbj^7hUx!#LU(iEP1Aq*zGi!M@@;&aY+cC7+4;KER=Op#j6kkNR%j2~ zjFD4`SALj&pB>x%WAx1FQ?71~pPR?|6S&vg-N$?7`ThRlWV6@T#{+4YPctWv^^;jG z!!D2OpJ(*t%+KAt5Bx1#*DbE-eo+5AmZC5{X(om(0z*C%$=37L-OZ!Nr+Z`(3L8Fy zqRA~^*M=kr8+h_a>&-5EvyXxyo9G^uIjh5T@57{rx#;^C4IdW*e7MgFq zw9VRP@zi#4G}`JLf{DZbFcuzHy6P6Z9alb#gX#axSUA`zTpyoYzIwysFslX0QZw@# zglkUg<{+ey2H_zA2e$Kz%ZV-`#DItRjpxurc>jE!Z{pkWakz>MgW(*AI))i-#~Vqy znDKY$oxJ_w?|6UYH(0`~>uTuju4z+b7tavR7Un!^Z(RK6!;yQ3huidX*%Wz27CZjp ze;5m5!Qc0jlecjY-|;`j!qktk&`w+yx=4hr){^`Ya7m_+3%2?`xN1h9;kCk9^J6Rs zTxoSA4)$!5JANfwm(kTU+_J~FCSM+Q%icYm1wXGpdonMDWg;(lcwNehuRSSEDx3Z> zFxS|?lcPXh&(xARxU`cCF4mCoJOh@HU*0G^D(3`MTWEyX_?GcXc^rzt*?s-ht{0nmlRAXLYo;YZ`^n+{U7%@>@V(-x(zIf`2U;W~sYm zQzeS_A*yCxkDilh#gAXm>1i5TDS)qzGCXf>b3y7u@7v!garIB-yuTDIhonQ0dlc6+ zu(we^>y7{{xSLwyCh!L<3Fg7xi$5gU-Dt??MNq#Ie;bPYqM|W*L2D%xHZA zCJYtU*x$V3*jl=giNS;*%9YUb)PWX%!P7}lh(5yd7GGKT+{3edqHe_fTetb6)dX@3 z1^3IqTf?|3_@Dw|kZr_wi6kBbbd=jB^tT7KG(g{xF0t&F_ch8sp9mi|=z!UCx3HQ3uv z2E9`ZRRO+r-0v9&FAM7V){@zB1@d-Yq=uIwH5+fkS5TteAFkl@H6wq=Y1okwu$l^f z0gD8nlHTV>H04ab2Zue!oN<-%*zrtLs=Sg+Et3D4`W$um{Dk8k+=u0U@dy*@Cx1jQ z>zuw`0jM~k{SY1_uk0%+h{LGAfVEaV^wJgFuD?V!gzki70nrrsl`?h5Y+r#y`?QKu z#PW0BX`0FRram{uRrw-T3h7*!Zr_ z^8{Qy<0=d%0|oOUg}_8U=5#RdHhw-hX6;_JZhirhe=v73)fkg8Qll$(b`ITA!n-`x zPuepYxQ~KQ;bqU3L--#NJg+HCh*S1;T5aT)*1iUW;+LTPYoyJI8c0PHoXZmi$I=r; zZi_YXsf;8sR*S73`#&?^O0Tw#`Y5S4DGiF1a0~6LZ80k3!B}T{y@;u>DQLv^$6e&L zq#jo01q`c$WV6sv1zpdJaN=ErA#XKMHf@IUD9MZC&sVoa2d7oOe84-Xv@hpHnx>y% zRf(5Zx7ZLL`^_AFUcC21KO8nY`M*BE_yB9X-?EK~d`VBKHR~80ol53_tBIn@GLe0Q z?@Fwr*djEfH%GpZJcz@9(0;{ryk`7<^OeIzDND}@mfC*kz%xVrVy>tbTzJL2FM3uCm~kF5^r_=wA?}OSdxD#WNHhPF zys*>~Khd0I+NM4xP0p>lo3R<*MBNbJSplOV)K7g*ZZ9+cypU^bEy;CUL@|BSGTNf$ z!kC!vG~w=*FEqh8RM>4)-AfRz!;;JYEJ;(B8F4I8YM|TXqvmublyqHoRLv0Tx`VDd z@VF(a_-x_0A)Ak#V>c6X`(g4&)Ut-sNV)N}FVZ4!|M8Y2;#QiLZU++v;a4ZhbXjlS zm|r2-r>x7G-VHTIlC6cgI`6%F2yN#Sa}H_jel^xhNgXb9mYN)c^5y^rR3G8*-D1kK z?1H7|cD%a-Pmx-tK9b(eFphS^-2TdbidRK7F-7fglxx&(JW4WTB&y-T@UV6%3=Z7Rnuh9o{^Yn}~$zSusaBaGv<+uglDLYM3qPi<|d(oT9 zs8b9Hj*TCx&5(1ZMu|)EMf6Y{KP)=PgnaK>4~9fKYqYFUC|nlweDGe|j?AGw-1 zzf2uxZ^=f+Ce#S)moEdL;#}%*7#wmBR(n^lLM@-M)V4sb)`0aguH@JEht0ocm2`T> zyK}}p9sGWp;$a)}dx|zrvt5VyzRmyjC+F0%Nozc%R=G`#u2*g)4E$;}1Ia zJ4NP^Xc+ireJ!fvwSxGSmYwy(#M!69UEhHpc9{aeH@|D(F$Ilw%npwov)um_T8C%p zYx=uzMz|{_t5nN*%VQA13*I8-jia+#n}Xc&sJ`ZfEgU{)S4GNBr`{6+2bo9q3g8_t zUGT*jAqYRl#lGVSgDZ9F$YskKxQQxc6SIL(<+f4YN~oNMWqG2iTBU5$!fWeFl?;3^ zHRA20vQ-o)UmJfRXE4=fiGAIbxr`P~=#@7-CPuWXgfR$suY^niuOOr&|6R>oom5Ct z%e!4`QCx*o0l~(Av_MXNitZt^Ud;!uK_T`Q$M0QilsB<>9q9C1`i9RCdHQoxP}{Nz z*_r5>YvEoql=Mo7-E5HC8I%j$Q8c3iz5`gTY^dWmv(N;9Xu&DcQj`@*#|oUblBo3a zXU!i;%W0BUbBN;R`?&Vt+S01bIN3|5_oi16aK|#9jC88@hN{?-;Av!R& z0D5tRqJBxCbPAdcyc0HN-8KgW)(3x9&Km>te=+vXF}6M7*Js=A+qP}nwrv}?joY?u z+qP}nw(aie?{6}1=FLnp^WVuiJK4$EReM#{dOquUrRcWUI%IdPYV3DfTw)QhOIo$G zbJ8(czKDPWWV{}g&`3@?|7aG5qToS_7NB3ax^AM z;HN5F7`_?b&6dDPlxt=o14ZVQ*kqqCSMz|3=GlOcIV0F#-BU{`4fKI5Xv_VeY6m+U zNm~MoEts|RJ@x5l8{E^3H-@J9Yy~a@$vg>XE<$Vs4HEa^zo7vfSSu_Cr2r1~TebH1qr#X{MSgV;VD>TZzsS_?chXQ7_L z0n=SV%CpcP2gs|IvsqEuuBO5AE$rYkw4oTv`?r_;q1rX~w|;nes8gS?F04%0V(5kg zOLUq{6i+4IckG1awRPIMlW_)TqVt3%*_wkgN9%&go5@jC5%&ViHE4}h32Q&9ZXpB` z07WM|Q%qPx6bz{~3cVbf^!FK?uHLBE&V-Cr{J2G>-y3jS2RE7;Yxz?$jq&qGh0bP; zVXW(!OhW+nGG4k7$%1zGH=WZ@5bZ^}W|9xOl)j(fb-Ql8lx?59ea}c?3 zHn_5w?=MZ|uQ=dn_;fo!UZMJ4EaH))ymA|h>poWh3uNpOu1poJ%T}r^SQ%1T%uaNi zFAbxCu5fY01ftWzx#6FV($?Iz;@;KHDccx~xqCYF?>PsqIAzZAyz{_doc+Mx9Vtt32k^DUUtjmOjIj){SqDJf<+P>HBDjg zn2g_&`hbATVGJJWl%XZV(JYQlH@72Ew-zoQa|U60{3EI7Up5C-nVm#v-tGIJ#S|I4 z1%8C!AIa#kzUzN$t73^jSAZ0y`Dh*zi6E4Dr77P&$5vejPwO;_fDU1rFs zV=c<6m-4EVE6X_8KJB{a$hRU>z0CylUGwmJ6o2yu1EG}`*MsChABaa&OY*(dUlYGt zL55;V?2!ex&g7ob-PjC|&KNM=>D@hs8Vq!ov{T7c6}X^c4sVcd>Oz-Yov~ON`IQLF zy6V2BO3O&#ocoqeC1yYV4Z+O{F_gzn;?6h*;K_aNLj14=aCq|EjSE+cIa}m^$XxtJ zXC*<#AyC~zpk00K(key~Xa@?CHRw7wwR!DTQBf0;5=SX&atFoF(ohQc$mzrk%U z^U${93ARGx8QgP?RFd82F!1s-%_Q%&M)FGNWo+oFhP1&FVDTD&|Gb-dq9sk$;kmB2 z*zcu{u6;> zJ_h@K2zF=Ou71kpFHIlX_sC(Qn(D4axrnO@?%%0(vyF_vd?AeGHW|*^o92NQbM7Hk zo4h zpbxhIg%`#!JPMPW#A{d*6oDMq0KdK4zcdvD%JO2%(d{DK)*^2O&b%p3&67M}%T#Xt4eRf47wP9(2%t-*jBw�U(GYzrXA@VfJN~!MX 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:nzfKL$_YX8( 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 z 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°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 z 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

=Lr44Tx7pYw8v#fD6p^63NUqKdp4VcH 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

`0g$ns_3zg?|Og#m?8+_rN4(jd8mwrLVT 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

x?i$wtt$|Nq)A!z1d3p<+ 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�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�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

Z=aj<=nFpv;8Jlu?dEJ@ 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

Y(@4IoK%@4fp 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
(oO8%L_{*AP|dc3?TZfmL(&_A&d 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 z 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≫dH2Eo@+r?mNF6 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

+h@UH#mvc0BUvNu3)=*w< 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

2hbgK>5s2s~iDsBGho`GV?%XO87wW4$NJ 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 z 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

ugsWU>M)-9t;8 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

HcNE~?l*F_c)&to3r?jsSVv6+-;}58H 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�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 Ai~s-t literal 2456981 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

phkGM*{5YNwY_vWeN#cvUh9St9(XS^m?O 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�qM<0I{2>nNjTNf>O5BbYKsrJW!zU~o1KC}M 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
  1. 2 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
    0oBGo!@a7cL-})wC;f{@!}n<2dsIZ; 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�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

    H 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 z

    GGdcO`zLg6T|zAo4ocnemx?e8G0uXfkj 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Ⓢ?r6O~-*IqOSrhduGG}8K3v&Q=8c?82OC69bYoT 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%0AnXaR-am0B8d9Zt)a3zbbu@R^n6rZ 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

    0m%2+^^Y$^%uld8bTuIPm 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

    y%tDl%!@`#uJRT`RoRzH${ON6W_(Ud#RUD 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᝘sJu0ZL2&^@|Sf;Sk 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%0Djot^r#F#v7_^&t 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 JDXFlY`lPo0xN`b-I%4IN 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

    >}$#iy+- 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 From c38825ba2a793dc7ea238fddec2afb9ed1787aa1 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Thu, 3 Feb 2022 23:05:28 +1100 Subject: [PATCH 050/244] Fix for .NET FX --- src/ImageSharp/Diagnostics/MemoryDiagnostics.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs index 7ea484175..d83e737f1 100644 --- a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs +++ b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs @@ -1,7 +1,6 @@ -// Copyright (c) Six Labors. +// Copyright (c) Six Labors. // Licensed under the Apache License, Version 2.0. -using System; using System.Threading; namespace SixLabors.ImageSharp.Diagnostics @@ -69,10 +68,16 @@ namespace SixLabors.ImageSharp.Diagnostics } // Schedule on the ThreadPool, to avoid user callback messing up the finalizer thread. +#if NETSTANDARD2_1 || NETCOREAPP2_1_OR_GREATER ThreadPool.QueueUserWorkItem( stackTrace => undisposedAllocation?.Invoke(stackTrace), allocationStackTrace, preferLocal: false); +#else + ThreadPool.QueueUserWorkItem( + stackTrace => undisposedAllocation?.Invoke((string)stackTrace), + allocationStackTrace); +#endif } } } From d8372568e08f9802dd8f3d42591c32a6474299ca Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Fri, 4 Feb 2022 00:45:50 +1100 Subject: [PATCH 051/244] Convert OrientationMode into something usable. --- .../Exif/Values/ExifOrientationMode.cs} | 24 +++---- .../Linear/AutoOrientProcessor{TPixel}.cs | 36 +++++----- .../Processors/Transforms/AutoOrientTests.cs | 71 +++++++++---------- 3 files changed, 64 insertions(+), 67 deletions(-) rename src/ImageSharp/{Processing/OrientationMode.cs => Metadata/Profiles/Exif/Values/ExifOrientationMode.cs} (69%) diff --git a/src/ImageSharp/Processing/OrientationMode.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifOrientationMode.cs similarity index 69% rename from src/ImageSharp/Processing/OrientationMode.cs rename to src/ImageSharp/Metadata/Profiles/Exif/Values/ExifOrientationMode.cs index a8ba5a55c..b68390ae0 100644 --- a/src/ImageSharp/Processing/OrientationMode.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifOrientationMode.cs @@ -1,56 +1,56 @@ -// Copyright (c) Six Labors. +// Copyright (c) Six Labors. // Licensed under the Apache License, Version 2.0. -namespace SixLabors.ImageSharp.Processing +namespace SixLabors.ImageSharp.Metadata.Profiles.Exif { ///

    /// Enumerates the available orientation values supplied by EXIF metadata. /// - internal enum OrientationMode : ushort + public static class ExifOrientationMode { /// /// Unknown rotation. /// - Unknown = 0, + public const ushort Unknown = 0; /// /// The 0th row at the top, the 0th column on the left. /// - TopLeft = 1, + public const ushort TopLeft = 1; /// /// The 0th row at the top, the 0th column on the right. /// - TopRight = 2, + public const ushort TopRight = 2; /// /// The 0th row at the bottom, the 0th column on the right. /// - BottomRight = 3, + public const ushort BottomRight = 3; /// /// The 0th row at the bottom, the 0th column on the left. /// - BottomLeft = 4, + public const ushort BottomLeft = 4; /// /// The 0th row on the left, the 0th column at the top. /// - LeftTop = 5, + public const ushort LeftTop = 5; /// /// The 0th row at the right, the 0th column at the top. /// - RightTop = 6, + public const ushort RightTop = 6; /// /// The 0th row on the right, the 0th column at the bottom. /// - RightBottom = 7, + public const ushort RightBottom = 7; /// /// The 0th row on the left, the 0th column at the bottom. /// - LeftBottom = 8 + public const ushort LeftBottom = 8; } } diff --git a/src/ImageSharp/Processing/Processors/Transforms/Linear/AutoOrientProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Transforms/Linear/AutoOrientProcessor{TPixel}.cs index 6c5219b3a..c9f9d4327 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/Linear/AutoOrientProcessor{TPixel}.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/Linear/AutoOrientProcessor{TPixel}.cs @@ -28,42 +28,42 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms /// protected override void BeforeImageApply() { - OrientationMode orientation = GetExifOrientation(this.Source); + ushort orientation = GetExifOrientation(this.Source); Size size = this.SourceRectangle.Size; switch (orientation) { - case OrientationMode.TopRight: + case ExifOrientationMode.TopRight: new FlipProcessor(FlipMode.Horizontal).Execute(this.Configuration, this.Source, this.SourceRectangle); break; - case OrientationMode.BottomRight: + case ExifOrientationMode.BottomRight: new RotateProcessor((int)RotateMode.Rotate180, size).Execute(this.Configuration, this.Source, this.SourceRectangle); break; - case OrientationMode.BottomLeft: + case ExifOrientationMode.BottomLeft: new FlipProcessor(FlipMode.Vertical).Execute(this.Configuration, this.Source, this.SourceRectangle); break; - case OrientationMode.LeftTop: + case ExifOrientationMode.LeftTop: new RotateProcessor((int)RotateMode.Rotate90, size).Execute(this.Configuration, this.Source, this.SourceRectangle); new FlipProcessor(FlipMode.Horizontal).Execute(this.Configuration, this.Source, this.SourceRectangle); break; - case OrientationMode.RightTop: + case ExifOrientationMode.RightTop: new RotateProcessor((int)RotateMode.Rotate90, size).Execute(this.Configuration, this.Source, this.SourceRectangle); break; - case OrientationMode.RightBottom: + case ExifOrientationMode.RightBottom: new FlipProcessor(FlipMode.Vertical).Execute(this.Configuration, this.Source, this.SourceRectangle); new RotateProcessor((int)RotateMode.Rotate270, size).Execute(this.Configuration, this.Source, this.SourceRectangle); break; - case OrientationMode.LeftBottom: + case ExifOrientationMode.LeftBottom: new RotateProcessor((int)RotateMode.Rotate270, size).Execute(this.Configuration, this.Source, this.SourceRectangle); break; - case OrientationMode.Unknown: - case OrientationMode.TopLeft: + case ExifOrientationMode.Unknown: + case ExifOrientationMode.TopLeft: default: break; } @@ -81,32 +81,32 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms /// Returns the current EXIF orientation ///

    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 z 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

  2. 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ǣ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 z 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 otP$30i@G*RZ~Fv$SedVLn`Q8?(w3=~ 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

/// The image to auto rotate. - /// The - private static OrientationMode GetExifOrientation(Image source) + /// The + private static ushort GetExifOrientation(Image source) { if (source.Metadata.ExifProfile is null) { - return OrientationMode.Unknown; + return ExifOrientationMode.Unknown; } IExifValue value = source.Metadata.ExifProfile.GetValue(ExifTag.Orientation); if (value is null) { - return OrientationMode.Unknown; + return ExifOrientationMode.Unknown; } - OrientationMode orientation; + ushort orientation; if (value.DataType == ExifDataType.Short) { - orientation = (OrientationMode)value.Value; + orientation = value.Value; } else { - orientation = (OrientationMode)Convert.ToUInt16(value.Value); + orientation = Convert.ToUInt16(value.Value); source.Metadata.ExifProfile.RemoveValue(ExifTag.Orientation); } - source.Metadata.ExifProfile.SetValue(ExifTag.Orientation, (ushort)OrientationMode.TopLeft); + source.Metadata.ExifProfile.SetValue(ExifTag.Orientation, ExifOrientationMode.TopLeft); return orientation; } diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/AutoOrientTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/AutoOrientTests.cs index 38fde5060..597c02dfc 100644 --- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/AutoOrientTests.cs +++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/AutoOrientTests.cs @@ -18,42 +18,41 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms public const string FlipTestFile = TestImages.Bmp.F; public static readonly TheoryData InvalidOrientationValues - = new TheoryData - { - { ExifDataType.Byte, new byte[] { 1 } }, - { ExifDataType.SignedByte, new byte[] { 2 } }, - { ExifDataType.SignedShort, BitConverter.GetBytes((short)3) }, - { ExifDataType.Long, BitConverter.GetBytes(4U) }, - { ExifDataType.SignedLong, BitConverter.GetBytes(5) } - }; + = new() + { + { ExifDataType.Byte, new byte[] { 1 } }, + { ExifDataType.SignedByte, new byte[] { 2 } }, + { ExifDataType.SignedShort, BitConverter.GetBytes((short)3) }, + { ExifDataType.Long, BitConverter.GetBytes(4U) }, + { ExifDataType.SignedLong, BitConverter.GetBytes(5) } + }; - public static readonly TheoryData ExifOrientationValues = new TheoryData - { - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8 - }; + public static readonly TheoryData ExifOrientationValues + = new() + { + ExifOrientationMode.Unknown, + ExifOrientationMode.TopLeft, + ExifOrientationMode.TopRight, + ExifOrientationMode.BottomRight, + ExifOrientationMode.BottomLeft, + ExifOrientationMode.LeftTop, + ExifOrientationMode.RightTop, + ExifOrientationMode.RightBottom, + ExifOrientationMode.LeftBottom + }; [Theory] [WithFile(FlipTestFile, nameof(ExifOrientationValues), PixelTypes.Rgba32)] public void AutoOrient_WorksForAllExifOrientations(TestImageProvider provider, ushort orientation) where TPixel : unmanaged, IPixel { - using (Image image = provider.GetImage()) - { - image.Metadata.ExifProfile = new ExifProfile(); - image.Metadata.ExifProfile.SetValue(ExifTag.Orientation, orientation); + using Image image = provider.GetImage(); + image.Metadata.ExifProfile = new ExifProfile(); + image.Metadata.ExifProfile.SetValue(ExifTag.Orientation, orientation); - image.Mutate(x => x.AutoOrient()); - image.DebugSave(provider, orientation, appendPixelTypeToFileName: false); - image.CompareToReferenceOutput(provider, orientation, appendPixelTypeToFileName: false); - } + image.Mutate(x => x.AutoOrient()); + image.DebugSave(provider, orientation, appendPixelTypeToFileName: false); + image.CompareToReferenceOutput(provider, orientation, appendPixelTypeToFileName: false); } [Theory] @@ -76,19 +75,17 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms // Change the number of components bytes[20] = 1; - var orientationCodeData = new byte[8]; + byte[] orientationCodeData = new byte[8]; Array.Copy(orientation, orientationCodeData, orientation.Length); ulong orientationCode = BitConverter.ToUInt64(orientationCodeData, 0); - using (Image image = provider.GetImage()) - using (Image reference = image.Clone()) - { - image.Metadata.ExifProfile = new ExifProfile(bytes); - image.Mutate(x => x.AutoOrient()); - image.DebugSave(provider, $"{dataType}-{orientationCode}", appendPixelTypeToFileName: false); - ImageComparer.Exact.VerifySimilarity(image, reference); - } + using Image image = provider.GetImage(); + using Image reference = image.Clone(); + image.Metadata.ExifProfile = new ExifProfile(bytes); + image.Mutate(x => x.AutoOrient()); + image.DebugSave(provider, $"{dataType}-{orientationCode}", appendPixelTypeToFileName: false); + ImageComparer.Exact.VerifySimilarity(image, reference); } } } From 00bc55003053ab2f7a37a12a2f4015823fe9b313 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Fri, 4 Feb 2022 11:42:15 +0100 Subject: [PATCH 052/244] Add tiff and webp to the PackageTags --- src/ImageSharp/ImageSharp.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ImageSharp/ImageSharp.csproj b/src/ImageSharp/ImageSharp.csproj index 7dac3c283..5913ce59c 100644 --- a/src/ImageSharp/ImageSharp.csproj +++ b/src/ImageSharp/ImageSharp.csproj @@ -10,7 +10,7 @@ Apache-2.0 https://github.com/SixLabors/ImageSharp/ $(RepositoryUrl) - Image Resize Crop Gif Jpg Jpeg Bitmap Pbm Png Tga NetCore + Image Resize Crop Gif Jpg Jpeg Bitmap Pbm Png Tga Tiff Webp NetCore A new, fully featured, fully managed, cross-platform, 2D graphics API for .NET Debug;Release;Debug-InnerLoop;Release-InnerLoop From 0149a5baabfd13fd64052dbf06d64680c9f0dd76 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Fri, 4 Feb 2022 12:01:09 +0100 Subject: [PATCH 053/244] Change webp package tag to WebP --- src/ImageSharp/ImageSharp.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ImageSharp/ImageSharp.csproj b/src/ImageSharp/ImageSharp.csproj index 5913ce59c..e2ee2e2a3 100644 --- a/src/ImageSharp/ImageSharp.csproj +++ b/src/ImageSharp/ImageSharp.csproj @@ -10,7 +10,7 @@ Apache-2.0 https://github.com/SixLabors/ImageSharp/ $(RepositoryUrl) - Image Resize Crop Gif Jpg Jpeg Bitmap Pbm Png Tga Tiff Webp NetCore + Image Resize Crop Gif Jpg Jpeg Bitmap Pbm Png Tga Tiff WebP NetCore A new, fully featured, fully managed, cross-platform, 2D graphics API for .NET Debug;Release;Debug-InnerLoop;Release-InnerLoop From a4c6834c92e0b99c610876bd9259e222e71635a0 Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Sat, 5 Feb 2022 09:29:55 +0100 Subject: [PATCH 054/244] Install missing SDK. --- .github/workflows/build-and-test.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 6d31e8c53..f381d5036 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -98,6 +98,15 @@ jobs: - name: Git Pull LFS run: git lfs pull + - name: Setup .NET SDKs + uses: actions/setup-dotnet@v1 + with: + dotnet-version: | + 6.0.x + 5.0.x + 3.1.x + 2.1.x + - name: NuGet Install uses: NuGet/setup-nuget@v1 From c120c5b4784745299ddddf0b77032325ec7287b2 Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Sat, 5 Feb 2022 09:58:38 +0100 Subject: [PATCH 055/244] Removed unused ItemGroup. --- src/ImageSharp/ImageSharp.csproj | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/ImageSharp/ImageSharp.csproj b/src/ImageSharp/ImageSharp.csproj index 7dac3c283..541805111 100644 --- a/src/ImageSharp/ImageSharp.csproj +++ b/src/ImageSharp/ImageSharp.csproj @@ -58,13 +58,6 @@ - - - - - - - True From ca9c45e60134d38baae6d9698839c7a476155fc7 Mon Sep 17 00:00:00 2001 From: Dmitry Pentin Date: Sun, 6 Feb 2022 02:57:42 +0300 Subject: [PATCH 056/244] Fixed invalid non-interleaved single component jpeg scan parsing --- .../Components/Decoder/HuffmanScanDecoder.cs | 61 +++++++++++++++++-- 1 file changed, 57 insertions(+), 4 deletions(-) diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanScanDecoder.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanScanDecoder.cs index 2ae3ae86b..cf2fd0290 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanScanDecoder.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanScanDecoder.cs @@ -148,11 +148,16 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder private void ParseBaselineData() { - if (this.componentsCount == this.frame.ComponentCount) + if (this.componentsCount != 1) { this.ParseBaselineDataInterleaved(); this.spectralConverter.CommitConversion(); } + else if (this.frame.ComponentCount == 1) + { + this.ParseBaselineDataSingleComponent(); + this.spectralConverter.CommitConversion(); + } else { this.ParseBaselineDataNonInterleaved(); @@ -161,7 +166,6 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder private void ParseBaselineDataInterleaved() { - // Interleaved int mcu = 0; int mcusPerColumn = this.frame.McusPerColumn; int mcusPerLine = this.frame.McusPerLine; @@ -198,7 +202,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder { if (buffer.NoData) { - // It is very likely that some spectral data was decoded before we encountered EOI marker + // It is very likely that some spectral data was decoded before we've encountered 'end of scan' // so we need to decode what's left and return (or maybe throw?) this.spectralConverter.ConvertStrideBaseline(); return; @@ -221,9 +225,12 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder this.HandleRestart(); } - // convert from spectral to actual pixels via given converter + // Convert from spectral to actual pixels via given converter this.spectralConverter.ConvertStrideBaseline(); } + + // Stride conversion must be sealed for stride conversion approach + this.spectralConverter.CommitConversion(); } private void ParseBaselineDataNonInterleaved() @@ -261,6 +268,52 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder } } + private void ParseBaselineDataSingleComponent() + { + JpegComponent component = this.frame.Components[0]; + int mcuLines = this.frame.McusPerColumn; + int w = component.WidthInBlocks; + int h = component.SamplingFactors.Height; + ref HuffmanTable dcHuffmanTable = ref this.dcHuffmanTables[component.DCHuffmanTableId]; + ref HuffmanTable acHuffmanTable = ref this.acHuffmanTables[component.ACHuffmanTableId]; + + ref HuffmanScanBuffer buffer = ref this.scanBuffer; + + for (int i = 0; i < mcuLines; i++) + { + this.cancellationToken.ThrowIfCancellationRequested(); + + // decode from binary to spectral + for (int j = 0; j < h; j++) + { + Span blockSpan = component.SpectralBlocks.DangerousGetRowSpan(j); + ref Block8x8 blockRef = ref MemoryMarshal.GetReference(blockSpan); + + for (int k = 0; k < w; k++) + { + if (buffer.NoData) + { + // It is very likely that some spectral data was decoded before we've encountered 'end of scan' + // so we need to decode what's left and return (or maybe throw?) + this.spectralConverter.ConvertStrideBaseline(); + return; + } + + this.DecodeBlockBaseline( + component, + ref Unsafe.Add(ref blockRef, k), + ref dcHuffmanTable, + ref acHuffmanTable); + + this.HandleRestart(); + } + } + + // Convert from spectral to actual pixels via given converter + this.spectralConverter.ConvertStrideBaseline(); + } + } + private void CheckProgressiveData() { // Validate successive scan parameters. From b4ac71e1ddef93d6f9f612eebbedb701a9a52dea Mon Sep 17 00:00:00 2001 From: Dmitry Pentin Date: Sun, 6 Feb 2022 03:32:28 +0300 Subject: [PATCH 057/244] Added test --- tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs | 3 +++ tests/ImageSharp.Tests/TestImages.cs | 1 + .../DecodeBaselineJpeg_grayscale_sampling22.png | 3 +++ tests/Images/Input/Jpg/baseline/grayscale_sampling22.jpg | 3 +++ 4 files changed, 10 insertions(+) create mode 100644 tests/Images/External/ReferenceOutput/JpegDecoderTests/DecodeBaselineJpeg_grayscale_sampling22.png create mode 100644 tests/Images/Input/Jpg/baseline/grayscale_sampling22.jpg diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs index db5169a04..70cbc3af7 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs @@ -42,6 +42,9 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg // High depth images TestImages.Jpeg.Baseline.Testorig12bit, + + // Grayscale jpeg with 2x2 sampling factors (not a usual thing to encounter in the wild) + TestImages.Jpeg.Baseline.GrayscaleSampling2x2, }; public static string[] ProgressiveTestJpegs = diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index 5ff71ba39..b0537817b 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -223,6 +223,7 @@ namespace SixLabors.ImageSharp.Tests public const string Winter444_Interleaved = "Jpg/baseline/winter444_interleaved.jpg"; public const string Metadata = "Jpg/baseline/Metadata-test-file.jpg"; public const string ExtendedXmp = "Jpg/baseline/extended-xmp.jpg"; + public const string GrayscaleSampling2x2 = "Jpg/baseline/grayscale_sampling22.jpg"; public static readonly string[] All = { diff --git a/tests/Images/External/ReferenceOutput/JpegDecoderTests/DecodeBaselineJpeg_grayscale_sampling22.png b/tests/Images/External/ReferenceOutput/JpegDecoderTests/DecodeBaselineJpeg_grayscale_sampling22.png new file mode 100644 index 000000000..b2c3effdd --- /dev/null +++ b/tests/Images/External/ReferenceOutput/JpegDecoderTests/DecodeBaselineJpeg_grayscale_sampling22.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad22f28d20ea0ceda983a138b3bf9503ed836d779ed75a313f668329c910665e +size 168405 diff --git a/tests/Images/Input/Jpg/baseline/grayscale_sampling22.jpg b/tests/Images/Input/Jpg/baseline/grayscale_sampling22.jpg new file mode 100644 index 000000000..b861c68ab --- /dev/null +++ b/tests/Images/Input/Jpg/baseline/grayscale_sampling22.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5cc8572082a54944d48b3e4f49e6c441871f6eb2b616fbbbfb025f20e0aeff5 +size 45066 From bebbe150ba93d4c9bcb1eeb301ed7e4f9bcbde52 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Sun, 6 Feb 2022 16:33:09 +1100 Subject: [PATCH 058/244] Remove duplicate dotnet setup --- .github/workflows/build-and-test.yml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index f381d5036..fd38bbe48 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -98,7 +98,7 @@ jobs: - name: Git Pull LFS run: git lfs pull - - name: Setup .NET SDKs + - name: DotNet Setup uses: actions/setup-dotnet@v1 with: dotnet-version: | @@ -118,13 +118,6 @@ jobs: key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj', '**/*.props', '**/*.targets') }} restore-keys: ${{ runner.os }}-nuget- - - name: DotNet Setup Preview - if: ${{ matrix.options.sdk-preview == true }} - uses: actions/setup-dotnet@v1 - with: - dotnet-version: ${{ matrix.options.sdk }} - include-prerelease: true - - name: DotNet Build if: ${{ matrix.options.sdk-preview != true }} shell: pwsh From e36cc7bc922fedd5189b2b8817fe81297c41e8c6 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Sun, 6 Feb 2022 16:36:18 +1100 Subject: [PATCH 059/244] Group dotnet actions --- .github/workflows/build-and-test.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index fd38bbe48..9942a0ca2 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -98,15 +98,6 @@ jobs: - name: Git Pull LFS run: git lfs pull - - name: DotNet Setup - uses: actions/setup-dotnet@v1 - with: - dotnet-version: | - 6.0.x - 5.0.x - 3.1.x - 2.1.x - - name: NuGet Install uses: NuGet/setup-nuget@v1 @@ -118,6 +109,15 @@ jobs: key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj', '**/*.props', '**/*.targets') }} restore-keys: ${{ runner.os }}-nuget- + - name: DotNet Setup + uses: actions/setup-dotnet@v1 + with: + dotnet-version: | + 6.0.x + 5.0.x + 3.1.x + 2.1.x + - name: DotNet Build if: ${{ matrix.options.sdk-preview != true }} shell: pwsh From 438a97bb9b0073a745c780e2aae783908cbd1bce Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Mon, 7 Feb 2022 20:35:45 +1100 Subject: [PATCH 060/244] Handle missing global color table. Fix #1963 --- src/ImageSharp/Formats/Gif/GifDecoderCore.cs | 39 +++++++++++++++---- .../Formats/Gif/GifDecoderTests.cs | 12 ++++++ tests/ImageSharp.Tests/TestImages.cs | 1 + ...e1962_Rgba32_issue1962_tiniest_gif_1st.png | 3 ++ .../Gif/issues/issue1962_tiniest_gif_1st.gif | 3 ++ 5 files changed, 51 insertions(+), 7 deletions(-) create mode 100644 tests/Images/External/ReferenceOutput/GifDecoderTests/Issue1962_Rgba32_issue1962_tiniest_gif_1st.png create mode 100644 tests/Images/Input/Gif/issues/issue1962_tiniest_gif_1st.gif diff --git a/src/ImageSharp/Formats/Gif/GifDecoderCore.cs b/src/ImageSharp/Formats/Gif/GifDecoderCore.cs index b6348803a..72e3ed144 100644 --- a/src/ImageSharp/Formats/Gif/GifDecoderCore.cs +++ b/src/ImageSharp/Formats/Gif/GifDecoderCore.cs @@ -376,7 +376,17 @@ namespace SixLabors.ImageSharp.Formats.Gif indices = this.Configuration.MemoryAllocator.Allocate2D(this.imageDescriptor.Width, this.imageDescriptor.Height, AllocationOptions.Clean); this.ReadFrameIndices(indices); - ReadOnlySpan colorTable = MemoryMarshal.Cast((localColorTable ?? this.globalColorTable).GetSpan()); + Span rawColorTable = default; + if (localColorTable != null) + { + rawColorTable = localColorTable.GetSpan(); + } + else if (this.globalColorTable != null) + { + rawColorTable = this.globalColorTable.GetSpan(); + } + + ReadOnlySpan colorTable = MemoryMarshal.Cast(rawColorTable); this.ReadFrameColors(ref image, ref previousFrame, indices, colorTable, this.imageDescriptor); // Skip any remaining blocks @@ -415,6 +425,7 @@ namespace SixLabors.ImageSharp.Formats.Gif { int imageWidth = this.logicalScreenDescriptor.Width; int imageHeight = this.logicalScreenDescriptor.Height; + bool transFlag = this.graphicsControlExtension.TransparencyFlag; ImageFrame prevFrame = null; ImageFrame currentFrame = null; @@ -422,8 +433,15 @@ namespace SixLabors.ImageSharp.Formats.Gif if (previousFrame is null) { - // This initializes the image to become fully transparent because the alpha channel is zero. - image = new Image(this.Configuration, imageWidth, imageHeight, this.metadata); + if (!transFlag) + { + image = new Image(this.Configuration, imageWidth, imageHeight, Color.Black.ToPixel(), this.metadata); + } + else + { + // This initializes the image to become fully transparent because the alpha channel is zero. + image = new Image(this.Configuration, imageWidth, imageHeight, this.metadata); + } this.SetFrameMetadata(image.Frames.RootFrame.Metadata); @@ -445,6 +463,11 @@ namespace SixLabors.ImageSharp.Formats.Gif this.RestoreToBackground(imageFrame); } + if (colorTable.Length == 0) + { + return; + } + int interlacePass = 0; // The interlace pass int interlaceIncrement = 8; // The interlacing line increment int interlaceY = 0; // The current interlaced line @@ -452,7 +475,6 @@ namespace SixLabors.ImageSharp.Formats.Gif int descriptorBottom = descriptorTop + descriptor.Height; int descriptorLeft = descriptor.Left; int descriptorRight = descriptorLeft + descriptor.Width; - bool transFlag = this.graphicsControlExtension.TransparencyFlag; byte transIndex = this.graphicsControlExtension.TransparencyIndex; int colorTableMaxIdx = colorTable.Length - 1; @@ -635,10 +657,13 @@ namespace SixLabors.ImageSharp.Formats.Gif int globalColorTableLength = this.logicalScreenDescriptor.GlobalColorTableSize * 3; this.gifMetadata.GlobalColorTableLength = globalColorTableLength; - this.globalColorTable = this.MemoryAllocator.Allocate(globalColorTableLength, AllocationOptions.Clean); + if (globalColorTableLength > 0) + { + this.globalColorTable = this.MemoryAllocator.Allocate(globalColorTableLength, AllocationOptions.Clean); - // Read the global color table data from the stream - stream.Read(this.globalColorTable.GetSpan()); + // Read the global color table data from the stream + stream.Read(this.globalColorTable.GetSpan()); + } } } } diff --git a/tests/ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs index 6bf606ac9..c8ecdb717 100644 --- a/tests/ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs @@ -247,5 +247,17 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif "Disco") .Dispose(); } + + // https://github.com/SixLabors/ImageSharp/issues/1962 + [Theory] + [WithFile(TestImages.Gif.Issues.Issue1962NoColorTable, PixelTypes.Rgba32)] + public void Issue1962(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + using Image image = provider.GetImage(); + image.DebugSave(provider); + + image.CompareFirstFrameToReferenceOutput(ImageComparer.Exact, provider); + } } } diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index b0537817b..8b943194a 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -451,6 +451,7 @@ namespace SixLabors.ImageSharp.Tests public const string Issue1505 = "Gif/issues/issue1505_argumentoutofrange.png"; public const string Issue1530 = "Gif/issues/issue1530.gif"; public const string InvalidColorIndex = "Gif/issues/issue1668_invalidcolorindex.gif"; + public const string Issue1962NoColorTable = "Gif/issues/issue1962_tiniest_gif_1st.gif"; } public static readonly string[] All = { Rings, Giphy, Cheers, Trans, Kumin, Leo, Ratio4x1, Ratio1x4 }; diff --git a/tests/Images/External/ReferenceOutput/GifDecoderTests/Issue1962_Rgba32_issue1962_tiniest_gif_1st.png b/tests/Images/External/ReferenceOutput/GifDecoderTests/Issue1962_Rgba32_issue1962_tiniest_gif_1st.png new file mode 100644 index 000000000..24f5e9c0c --- /dev/null +++ b/tests/Images/External/ReferenceOutput/GifDecoderTests/Issue1962_Rgba32_issue1962_tiniest_gif_1st.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4f8c6d416f09671777934e57bc67fb52ccc97145dc6f1869e628d9ffd7d8f6e7 +size 119 diff --git a/tests/Images/Input/Gif/issues/issue1962_tiniest_gif_1st.gif b/tests/Images/Input/Gif/issues/issue1962_tiniest_gif_1st.gif new file mode 100644 index 000000000..a5bc432d8 --- /dev/null +++ b/tests/Images/Input/Gif/issues/issue1962_tiniest_gif_1st.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b7b8a4b411ddf8db9bacc2f3aabf406f8e4c0c087829b336ca331c40adfdff1 +size 26 From 490bf0f3be1167f9377e571927e62d97bce13ad3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Luthi?= Date: Mon, 7 Feb 2022 17:08:28 +0100 Subject: [PATCH 061/244] Fix documentation of HorizontalResolution and VerticalResolution properties Also improve the formatting of the ResolutionUnits documentation. --- src/ImageSharp/Metadata/ImageMetadata.cs | 30 +++++++++++++++++++----- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/src/ImageSharp/Metadata/ImageMetadata.cs b/src/ImageSharp/Metadata/ImageMetadata.cs index 39e1cef8a..89592f776 100644 --- a/src/ImageSharp/Metadata/ImageMetadata.cs +++ b/src/ImageSharp/Metadata/ImageMetadata.cs @@ -72,7 +72,7 @@ namespace SixLabors.ImageSharp.Metadata /// /// Gets or sets the resolution of the image in x- direction. - /// It is defined as the number of dots per inch and should be an positive value. + /// It is defined as the number of dots per and should be an positive value. /// /// The density of the image in x- direction. public double HorizontalResolution @@ -90,7 +90,7 @@ namespace SixLabors.ImageSharp.Metadata /// /// Gets or sets the resolution of the image in y- direction. - /// It is defined as the number of dots per inch and should be an positive value. + /// It is defined as the number of dots per and should be an positive value. /// /// The density of the image in y- direction. public double VerticalResolution @@ -108,10 +108,28 @@ namespace SixLabors.ImageSharp.Metadata /// /// Gets or sets unit of measure used when reporting resolution. - /// 00 : No units; width:height pixel aspect ratio = Ydensity:Xdensity - /// 01 : Pixels per inch (2.54 cm) - /// 02 : Pixels per centimeter - /// 03 : Pixels per meter + /// + /// + /// Value + /// Unit + /// + /// + /// AspectRatio (00) + /// No units; width:height pixel aspect ratio = Ydensity:Xdensity + /// + /// + /// PixelsPerInch (01) + /// Pixels per inch (2.54 cm) + /// + /// + /// PixelsPerCentimeter (02) + /// Pixels per centimeter + /// + /// + /// PixelsPerMeter (03) + /// Pixels per meter (100 cm) + /// + /// /// public PixelResolutionUnit ResolutionUnits { get; set; } From e54219acec10d2d2dc247ed5fd4230204a89c07b Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Thu, 10 Feb 2022 18:16:20 +0100 Subject: [PATCH 062/244] Renamed master to main. --- .github/workflows/build-and-test.yml | 4 ++-- README.md | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 9942a0ca2..43a4a1708 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -3,12 +3,12 @@ name: Build on: push: branches: - - master + - main tags: - "v*" pull_request: branches: - - master + - main jobs: Build: strategy: diff --git a/README.md b/README.md index fdf14b496..acaba0c6a 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,8 @@ SixLabors.ImageSharp
-[![Build Status](https://img.shields.io/github/workflow/status/SixLabors/ImageSharp/Build/master)](https://github.com/SixLabors/ImageSharp/actions) -[![Code coverage](https://codecov.io/gh/SixLabors/ImageSharp/branch/master/graph/badge.svg)](https://codecov.io/gh/SixLabors/ImageSharp) +[![Build Status](https://img.shields.io/github/workflow/status/SixLabors/ImageSharp/Build/main)](https://github.com/SixLabors/ImageSharp/actions) +[![Code coverage](https://codecov.io/gh/SixLabors/ImageSharp/branch/main/graph/badge.svg)](https://codecov.io/gh/SixLabors/ImageSharp) [![License: Apache 2.0](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) [![Twitter](https://img.shields.io/twitter/url/http/shields.io.svg?style=flat&logo=twitter)](https://twitter.com/intent/tweet?hashtags=imagesharp,dotnet,oss&text=ImageSharp.+A+new+cross-platform+2D+graphics+API+in+C%23&url=https%3a%2f%2fgithub.com%2fSixLabors%2fImageSharp&via=sixlabors) @@ -93,7 +93,7 @@ git submodule update --init --recursive ## How can you help? -Please... Spread the word, contribute algorithms, submit performance improvements, unit tests, no input is too little. Make sure to read our [Contribution Guide](https://github.com/SixLabors/ImageSharp/blob/master/.github/CONTRIBUTING.md) before opening a PR. +Please... Spread the word, contribute algorithms, submit performance improvements, unit tests, no input is too little. Make sure to read our [Contribution Guide](https://github.com/SixLabors/ImageSharp/blob/main/.github/CONTRIBUTING.md) before opening a PR. ## The ImageSharp Team From 6cb2d3760215ef8c9671e31ccc90d61325a8e9ae Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Thu, 10 Feb 2022 19:25:31 +0100 Subject: [PATCH 063/244] Changed master to main in the links. --- .github/CONTRIBUTING.md | 2 +- README.md | 6 +++--- tests/ImageSharp.Tests/Formats/Jpg/Utils/LibJpegTools.cs | 4 ++-- tests/Images/External/README.md | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 0943ab4eb..ffacf51e4 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -28,7 +28,7 @@ #### **Running tests and Debugging** -* Expected test output is pulled in as a submodule from the [ImageSharp.Tests.Images repository](https://github.com/SixLabors/Imagesharp.Tests.Images/tree/master/ReferenceOutput). To succesfully run tests, make sure that you have updated the submodules! +* Expected test output is pulled in as a submodule from the [ImageSharp.Tests.Images repository](https://github.com/SixLabors/Imagesharp.Tests.Images/tree/main/ReferenceOutput). To succesfully run tests, make sure that you have updated the submodules! * Debugging (running tests in Debug mode) is only supported on .NET Core 2.1+, because of JIT Code Generation bugs like [dotnet/coreclr#16443](https://github.com/dotnet/coreclr/issues/16443) or [dotnet/coreclr#20657](https://github.com/dotnet/coreclr/issues/20657) #### **Do you have questions about consuming the library or the source code?** diff --git a/README.md b/README.md index acaba0c6a..2492041db 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@

-SixLabors.ImageSharp +SixLabors.ImageSharp
SixLabors.ImageSharp

@@ -39,12 +39,12 @@ Support the efforts of the development of the Six Labors projects. ## Documentation - [Detailed documentation](https://sixlabors.github.io/docs/) for the ImageSharp API is available. This includes additional conceptual documentation to help you get started. -- Our [Samples Repository](https://github.com/SixLabors/Samples/tree/master/ImageSharp) is also available containing buildable code samples demonstrating common activities. +- Our [Samples Repository](https://github.com/SixLabors/Samples/tree/main/ImageSharp) is also available containing buildable code samples demonstrating common activities. ## Questions - Do you have questions? We are happy to help! Please [join our Discussions Forum](https://github.com/SixLabors/ImageSharp/discussions/category_choices), or ask them on [Stack Overflow](https://stackoverflow.com) using the `ImageSharp` tag. Please do not open issues for questions. -- Please read our [Contribution Guide](https://github.com/SixLabors/ImageSharp/blob/master/.github/CONTRIBUTING.md) before opening issues or pull requests! +- Please read our [Contribution Guide](https://github.com/SixLabors/ImageSharp/blob/main/.github/CONTRIBUTING.md) before opening issues or pull requests! ## Code of Conduct This project has adopted the code of conduct defined by the [Contributor Covenant](https://contributor-covenant.org/) to clarify expected behavior in our community. diff --git a/tests/ImageSharp.Tests/Formats/Jpg/Utils/LibJpegTools.cs b/tests/ImageSharp.Tests/Formats/Jpg/Utils/LibJpegTools.cs index b74e4445e..1d54245d3 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/Utils/LibJpegTools.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/Utils/LibJpegTools.cs @@ -56,7 +56,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg.Utils /// Executes 'dump-jpeg-coeffs.exe' for the given jpeg image file, saving the libjpeg spectral data into 'destFile'. Windows only! /// See: /// - /// https://github.com/SixLabors/Imagesharp.Tests.Images/blob/master/tools/jpeg/README.md + /// https://github.com/SixLabors/Imagesharp.Tests.Images/blob/main/tools/jpeg/README.md /// ///
public static void RunDumpJpegCoeffsTool(string sourceFile, string destFile) @@ -83,7 +83,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg.Utils /// /// Extract libjpeg from the given jpg file with 'dump-jpeg-coeffs.exe'. Windows only! /// See: - /// https://github.com/SixLabors/Imagesharp.Tests.Images/blob/master/tools/jpeg/README.md + /// https://github.com/SixLabors/Imagesharp.Tests.Images/blob/main/tools/jpeg/README.md /// public static SpectralData ExtractSpectralData(string inputFile) { diff --git a/tests/Images/External/README.md b/tests/Images/External/README.md index 936b15e6a..9e9fcf5e1 100644 --- a/tests/Images/External/README.md +++ b/tests/Images/External/README.md @@ -5,4 +5,4 @@ Contains images to validate against in ImageSharp tests. In most cases the file Various utilities to help dealing with images. - `optipng.exe`: [lossless PNG compressor](http://optipng.sourceforge.net/), to keep the `ReferenceImages` folder as small as possible - `optimize-all.cmd`: Runs lossless optimizer for reference PNG-s. Currently it has to be manually edited to add new test class directories. -- [`dump-jpeg-coeffs.exe`](https://github.com/SixLabors/Imagesharp/blob/master/tests/Images/External/tools/jpeg/README.md) +- [`dump-jpeg-coeffs.exe`](https://github.com/SixLabors/Imagesharp/blob/main/tests/Images/External/tools/jpeg/README.md) From 3c9eb470a07a15012c2a29ad84090dcc804a7975 Mon Sep 17 00:00:00 2001 From: Frank Racis Date: Fri, 11 Feb 2022 10:12:17 -0500 Subject: [PATCH 064/244] Adding fax4 (T6) compression --- .../Compressors/T4BitCompressor.cs | 457 +-------------- .../Compressors/T6BitCompressor.cs | 194 +++++++ .../Compressors/TiffCcittCompressor.cs | 536 ++++++++++++++++++ .../Tiff/Compression/TiffCompressorFactory.cs | 5 + src/ImageSharp/Formats/Tiff/README.md | 2 +- .../Tiff/TiffEncoderEntriesCollector.cs | 3 + .../Tiff/Writers/TiffBiColorWriter{TPixel}.cs | 2 +- .../Formats/Tiff/TiffEncoderTests.cs | 13 + 8 files changed, 758 insertions(+), 454 deletions(-) create mode 100644 src/ImageSharp/Formats/Tiff/Compression/Compressors/T6BitCompressor.cs create mode 100644 src/ImageSharp/Formats/Tiff/Compression/Compressors/TiffCcittCompressor.cs diff --git a/src/ImageSharp/Formats/Tiff/Compression/Compressors/T4BitCompressor.cs b/src/ImageSharp/Formats/Tiff/Compression/Compressors/T4BitCompressor.cs index 30da537eb..0c296cb9d 100644 --- a/src/ImageSharp/Formats/Tiff/Compression/Compressors/T4BitCompressor.cs +++ b/src/ImageSharp/Formats/Tiff/Compression/Compressors/T4BitCompressor.cs @@ -2,8 +2,6 @@ // Licensed under the Apache License, Version 2.0. using System; -using System.Buffers; -using System.Collections.Generic; using System.IO; using SixLabors.ImageSharp.Formats.Tiff.Constants; using SixLabors.ImageSharp.Memory; @@ -13,179 +11,13 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression.Compressors /// /// Bitwriter for writing compressed CCITT T4 1D data. /// - internal sealed class T4BitCompressor : TiffBaseCompressor + internal sealed class T4BitCompressor : TiffCcittCompressor { - private const uint WhiteZeroRunTermCode = 0x35; - - private const uint BlackZeroRunTermCode = 0x37; - - private static readonly uint[] MakeupRunLength = - { - 64, 128, 192, 256, 320, 384, 448, 512, 576, 640, 704, 768, 832, 896, 960, 1024, 1088, 1152, 1216, 1280, 1344, 1408, 1472, 1536, 1600, 1664, 1728, 1792, 1856, 1920, 1984, 2048, 2112, 2176, 2240, 2304, 2368, 2432, 2496, 2560 - }; - - private static readonly Dictionary WhiteLen4TermCodes = new Dictionary() - { - { 2, 0x7 }, { 3, 0x8 }, { 4, 0xB }, { 5, 0xC }, { 6, 0xE }, { 7, 0xF } - }; - - private static readonly Dictionary WhiteLen5TermCodes = new Dictionary() - { - { 8, 0x13 }, { 9, 0x14 }, { 10, 0x7 }, { 11, 0x8 } - }; - - private static readonly Dictionary WhiteLen6TermCodes = new Dictionary() - { - { 1, 0x7 }, { 12, 0x8 }, { 13, 0x3 }, { 14, 0x34 }, { 15, 0x35 }, { 16, 0x2A }, { 17, 0x2B } - }; - - private static readonly Dictionary WhiteLen7TermCodes = new Dictionary() - { - { 18, 0x27 }, { 19, 0xC }, { 20, 0x8 }, { 21, 0x17 }, { 22, 0x3 }, { 23, 0x4 }, { 24, 0x28 }, { 25, 0x2B }, { 26, 0x13 }, - { 27, 0x24 }, { 28, 0x18 } - }; - - private static readonly Dictionary WhiteLen8TermCodes = new Dictionary() - { - { 0, WhiteZeroRunTermCode }, { 29, 0x2 }, { 30, 0x3 }, { 31, 0x1A }, { 32, 0x1B }, { 33, 0x12 }, { 34, 0x13 }, { 35, 0x14 }, - { 36, 0x15 }, { 37, 0x16 }, { 38, 0x17 }, { 39, 0x28 }, { 40, 0x29 }, { 41, 0x2A }, { 42, 0x2B }, { 43, 0x2C }, { 44, 0x2D }, - { 45, 0x4 }, { 46, 0x5 }, { 47, 0xA }, { 48, 0xB }, { 49, 0x52 }, { 50, 0x53 }, { 51, 0x54 }, { 52, 0x55 }, { 53, 0x24 }, - { 54, 0x25 }, { 55, 0x58 }, { 56, 0x59 }, { 57, 0x5A }, { 58, 0x5B }, { 59, 0x4A }, { 60, 0x4B }, { 61, 0x32 }, { 62, 0x33 }, - { 63, 0x34 } - }; - - private static readonly Dictionary BlackLen2TermCodes = new Dictionary() - { - { 2, 0x3 }, { 3, 0x2 } - }; - - private static readonly Dictionary BlackLen3TermCodes = new Dictionary() - { - { 1, 0x2 }, { 4, 0x3 } - }; - - private static readonly Dictionary BlackLen4TermCodes = new Dictionary() - { - { 5, 0x3 }, { 6, 0x2 } - }; - - private static readonly Dictionary BlackLen5TermCodes = new Dictionary() - { - { 7, 0x3 } - }; - - private static readonly Dictionary BlackLen6TermCodes = new Dictionary() - { - { 8, 0x5 }, { 9, 0x4 } - }; - - private static readonly Dictionary BlackLen7TermCodes = new Dictionary() - { - { 10, 0x4 }, { 11, 0x5 }, { 12, 0x7 } - }; - - private static readonly Dictionary BlackLen8TermCodes = new Dictionary() - { - { 13, 0x4 }, { 14, 0x7 } - }; - - private static readonly Dictionary BlackLen9TermCodes = new Dictionary() - { - { 15, 0x18 } - }; - - private static readonly Dictionary BlackLen10TermCodes = new Dictionary() - { - { 0, BlackZeroRunTermCode }, { 16, 0x17 }, { 17, 0x18 }, { 18, 0x8 } - }; - - private static readonly Dictionary BlackLen11TermCodes = new Dictionary() - { - { 19, 0x67 }, { 20, 0x68 }, { 21, 0x6C }, { 22, 0x37 }, { 23, 0x28 }, { 24, 0x17 }, { 25, 0x18 } - }; - - private static readonly Dictionary BlackLen12TermCodes = new Dictionary() - { - { 26, 0xCA }, { 27, 0xCB }, { 28, 0xCC }, { 29, 0xCD }, { 30, 0x68 }, { 31, 0x69 }, { 32, 0x6A }, { 33, 0x6B }, { 34, 0xD2 }, - { 35, 0xD3 }, { 36, 0xD4 }, { 37, 0xD5 }, { 38, 0xD6 }, { 39, 0xD7 }, { 40, 0x6C }, { 41, 0x6D }, { 42, 0xDA }, { 43, 0xDB }, - { 44, 0x54 }, { 45, 0x55 }, { 46, 0x56 }, { 47, 0x57 }, { 48, 0x64 }, { 49, 0x65 }, { 50, 0x52 }, { 51, 0x53 }, { 52, 0x24 }, - { 53, 0x37 }, { 54, 0x38 }, { 55, 0x27 }, { 56, 0x28 }, { 57, 0x58 }, { 58, 0x59 }, { 59, 0x2B }, { 60, 0x2C }, { 61, 0x5A }, - { 62, 0x66 }, { 63, 0x67 } - }; - - private static readonly Dictionary WhiteLen5MakeupCodes = new Dictionary() - { - { 64, 0x1B }, { 128, 0x12 } - }; - - private static readonly Dictionary WhiteLen6MakeupCodes = new Dictionary() - { - { 192, 0x17 }, { 1664, 0x18 } - }; - - private static readonly Dictionary WhiteLen8MakeupCodes = new Dictionary() - { - { 320, 0x36 }, { 384, 0x37 }, { 448, 0x64 }, { 512, 0x65 }, { 576, 0x68 }, { 640, 0x67 } - }; - - private static readonly Dictionary WhiteLen7MakeupCodes = new Dictionary() - { - { 256, 0x37 } - }; - - private static readonly Dictionary WhiteLen9MakeupCodes = new Dictionary() - { - { 704, 0xCC }, { 768, 0xCD }, { 832, 0xD2 }, { 896, 0xD3 }, { 960, 0xD4 }, { 1024, 0xD5 }, { 1088, 0xD6 }, - { 1152, 0xD7 }, { 1216, 0xD8 }, { 1280, 0xD9 }, { 1344, 0xDA }, { 1408, 0xDB }, { 1472, 0x98 }, { 1536, 0x99 }, - { 1600, 0x9A }, { 1728, 0x9B } - }; - - private static readonly Dictionary WhiteLen11MakeupCodes = new Dictionary() - { - { 1792, 0x8 }, { 1856, 0xC }, { 1920, 0xD } - }; - - private static readonly Dictionary WhiteLen12MakeupCodes = new Dictionary() - { - { 1984, 0x12 }, { 2048, 0x13 }, { 2112, 0x14 }, { 2176, 0x15 }, { 2240, 0x16 }, { 2304, 0x17 }, { 2368, 0x1C }, - { 2432, 0x1D }, { 2496, 0x1E }, { 2560, 0x1F } - }; - - private static readonly Dictionary BlackLen10MakeupCodes = new Dictionary() - { - { 64, 0xF } - }; - - private static readonly Dictionary BlackLen11MakeupCodes = new Dictionary() - { - { 1792, 0x8 }, { 1856, 0xC }, { 1920, 0xD } - }; - - private static readonly Dictionary BlackLen12MakeupCodes = new Dictionary() - { - { 128, 0xC8 }, { 192, 0xC9 }, { 256, 0x5B }, { 320, 0x33 }, { 384, 0x34 }, { 448, 0x35 }, - { 1984, 0x12 }, { 2048, 0x13 }, { 2112, 0x14 }, { 2176, 0x15 }, { 2240, 0x16 }, { 2304, 0x17 }, { 2368, 0x1C }, - { 2432, 0x1D }, { 2496, 0x1E }, { 2560, 0x1F } - }; - - private static readonly Dictionary BlackLen13MakeupCodes = new Dictionary() - { - { 512, 0x6C }, { 576, 0x6D }, { 640, 0x4A }, { 704, 0x4B }, { 768, 0x4C }, { 832, 0x4D }, { 896, 0x72 }, - { 960, 0x73 }, { 1024, 0x74 }, { 1088, 0x75 }, { 1152, 0x76 }, { 1216, 0x77 }, { 1280, 0x52 }, { 1344, 0x53 }, - { 1408, 0x54 }, { 1472, 0x55 }, { 1536, 0x5A }, { 1600, 0x5B }, { 1664, 0x64 }, { 1728, 0x65 } - }; - /// /// The modified huffman is basically the same as CCITT T4, but without EOL markers and padding at the end of the rows. /// private readonly bool useModifiedHuffman; - private IMemoryOwner compressedDataBuffer; - - private int bytePosition; - - private byte bitPosition; - /// /// Initializes a new instance of the class. /// @@ -197,38 +29,20 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression.Compressors public T4BitCompressor(Stream output, MemoryAllocator allocator, int width, int bitsPerPixel, bool useModifiedHuffman = false) : base(output, allocator, width, bitsPerPixel) { - this.bytePosition = 0; - this.bitPosition = 0; this.useModifiedHuffman = useModifiedHuffman; } /// public override TiffCompression Method => this.useModifiedHuffman ? TiffCompression.Ccitt1D : TiffCompression.CcittGroup3Fax; - /// - public override void Initialize(int rowsPerStrip) - { - // This is too much memory allocated, but just 1 bit per pixel will not do, if the compression rate is not good. - int maxNeededBytes = this.Width * rowsPerStrip; - this.compressedDataBuffer = this.Allocator.Allocate(maxNeededBytes); - } - /// - /// Writes a image compressed with CCITT T4 to the stream. + /// Writes a image compressed with CCITT T4 to the output buffer. /// /// The pixels as 8-bit gray array. /// The strip height. - public override void CompressStrip(Span pixelsAsGray, int height) + /// The destination for the compressed data. + protected override void CompressStrip(Span pixelsAsGray, int height, Span compressedData) { - DebugGuard.IsTrue(pixelsAsGray.Length / height == this.Width, "Values must be equals"); - DebugGuard.IsTrue(pixelsAsGray.Length % height == 0, "Values must be equals"); - - this.compressedDataBuffer.Clear(); - Span compressedData = this.compressedDataBuffer.GetSpan(); - - this.bytePosition = 0; - this.bitPosition = 0; - if (!this.useModifiedHuffman) { // An EOL code is expected at the start of the data. @@ -315,25 +129,13 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression.Compressors this.WriteEndOfLine(compressedData); } - - // Write the compressed data to the stream. - int bytesToWrite = this.bitPosition != 0 ? this.bytePosition + 1 : this.bytePosition; - this.Output.Write(compressedData.Slice(0, bytesToWrite)); } - protected override void Dispose(bool disposing) => this.compressedDataBuffer?.Dispose(); - private void WriteEndOfLine(Span compressedData) { if (this.useModifiedHuffman) { - // Check if padding is necessary. - if (this.bitPosition % 8 != 0) - { - // Skip padding bits, move to next byte. - this.bytePosition++; - this.bitPosition = 0; - } + this.PadByte(); } else { @@ -341,254 +143,5 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression.Compressors this.WriteCode(12, 1, compressedData); } } - - private void WriteCode(uint codeLength, uint code, Span compressedData) - { - while (codeLength > 0) - { - int bitNumber = (int)codeLength; - bool bit = (code & (1 << (bitNumber - 1))) != 0; - if (bit) - { - BitWriterUtils.WriteBit(compressedData, this.bytePosition, this.bitPosition); - } - else - { - BitWriterUtils.WriteZeroBit(compressedData, this.bytePosition, this.bitPosition); - } - - this.bitPosition++; - if (this.bitPosition == 8) - { - this.bytePosition++; - this.bitPosition = 0; - } - - codeLength--; - } - } - - private uint GetBestFittingMakeupRunLength(uint runLength) - { - for (int i = 0; i < MakeupRunLength.Length - 1; i++) - { - if (MakeupRunLength[i] <= runLength && MakeupRunLength[i + 1] > runLength) - { - return MakeupRunLength[i]; - } - } - - return MakeupRunLength[MakeupRunLength.Length - 1]; - } - - private uint GetTermCode(uint runLength, out uint codeLength, bool isWhiteRun) - { - if (isWhiteRun) - { - return this.GetWhiteTermCode(runLength, out codeLength); - } - - return this.GetBlackTermCode(runLength, out codeLength); - } - - private uint GetMakeupCode(uint runLength, out uint codeLength, bool isWhiteRun) - { - if (isWhiteRun) - { - return this.GetWhiteMakeupCode(runLength, out codeLength); - } - - return this.GetBlackMakeupCode(runLength, out codeLength); - } - - private uint GetWhiteMakeupCode(uint runLength, out uint codeLength) - { - codeLength = 0; - - if (WhiteLen5MakeupCodes.ContainsKey(runLength)) - { - codeLength = 5; - return WhiteLen5MakeupCodes[runLength]; - } - - if (WhiteLen6MakeupCodes.ContainsKey(runLength)) - { - codeLength = 6; - return WhiteLen6MakeupCodes[runLength]; - } - - if (WhiteLen7MakeupCodes.ContainsKey(runLength)) - { - codeLength = 7; - return WhiteLen7MakeupCodes[runLength]; - } - - if (WhiteLen8MakeupCodes.ContainsKey(runLength)) - { - codeLength = 8; - return WhiteLen8MakeupCodes[runLength]; - } - - if (WhiteLen9MakeupCodes.ContainsKey(runLength)) - { - codeLength = 9; - return WhiteLen9MakeupCodes[runLength]; - } - - if (WhiteLen11MakeupCodes.ContainsKey(runLength)) - { - codeLength = 11; - return WhiteLen11MakeupCodes[runLength]; - } - - if (WhiteLen12MakeupCodes.ContainsKey(runLength)) - { - codeLength = 12; - return WhiteLen12MakeupCodes[runLength]; - } - - return 0; - } - - private uint GetBlackMakeupCode(uint runLength, out uint codeLength) - { - codeLength = 0; - - if (BlackLen10MakeupCodes.ContainsKey(runLength)) - { - codeLength = 10; - return BlackLen10MakeupCodes[runLength]; - } - - if (BlackLen11MakeupCodes.ContainsKey(runLength)) - { - codeLength = 11; - return BlackLen11MakeupCodes[runLength]; - } - - if (BlackLen12MakeupCodes.ContainsKey(runLength)) - { - codeLength = 12; - return BlackLen12MakeupCodes[runLength]; - } - - if (BlackLen13MakeupCodes.ContainsKey(runLength)) - { - codeLength = 13; - return BlackLen13MakeupCodes[runLength]; - } - - return 0; - } - - private uint GetWhiteTermCode(uint runLength, out uint codeLength) - { - codeLength = 0; - - if (WhiteLen4TermCodes.ContainsKey(runLength)) - { - codeLength = 4; - return WhiteLen4TermCodes[runLength]; - } - - if (WhiteLen5TermCodes.ContainsKey(runLength)) - { - codeLength = 5; - return WhiteLen5TermCodes[runLength]; - } - - if (WhiteLen6TermCodes.ContainsKey(runLength)) - { - codeLength = 6; - return WhiteLen6TermCodes[runLength]; - } - - if (WhiteLen7TermCodes.ContainsKey(runLength)) - { - codeLength = 7; - return WhiteLen7TermCodes[runLength]; - } - - if (WhiteLen8TermCodes.ContainsKey(runLength)) - { - codeLength = 8; - return WhiteLen8TermCodes[runLength]; - } - - return 0; - } - - private uint GetBlackTermCode(uint runLength, out uint codeLength) - { - codeLength = 0; - - if (BlackLen2TermCodes.ContainsKey(runLength)) - { - codeLength = 2; - return BlackLen2TermCodes[runLength]; - } - - if (BlackLen3TermCodes.ContainsKey(runLength)) - { - codeLength = 3; - return BlackLen3TermCodes[runLength]; - } - - if (BlackLen4TermCodes.ContainsKey(runLength)) - { - codeLength = 4; - return BlackLen4TermCodes[runLength]; - } - - if (BlackLen5TermCodes.ContainsKey(runLength)) - { - codeLength = 5; - return BlackLen5TermCodes[runLength]; - } - - if (BlackLen6TermCodes.ContainsKey(runLength)) - { - codeLength = 6; - return BlackLen6TermCodes[runLength]; - } - - if (BlackLen7TermCodes.ContainsKey(runLength)) - { - codeLength = 7; - return BlackLen7TermCodes[runLength]; - } - - if (BlackLen8TermCodes.ContainsKey(runLength)) - { - codeLength = 8; - return BlackLen8TermCodes[runLength]; - } - - if (BlackLen9TermCodes.ContainsKey(runLength)) - { - codeLength = 9; - return BlackLen9TermCodes[runLength]; - } - - if (BlackLen10TermCodes.ContainsKey(runLength)) - { - codeLength = 10; - return BlackLen10TermCodes[runLength]; - } - - if (BlackLen11TermCodes.ContainsKey(runLength)) - { - codeLength = 11; - return BlackLen11TermCodes[runLength]; - } - - if (BlackLen12TermCodes.ContainsKey(runLength)) - { - codeLength = 12; - return BlackLen12TermCodes[runLength]; - } - - return 0; - } } } diff --git a/src/ImageSharp/Formats/Tiff/Compression/Compressors/T6BitCompressor.cs b/src/ImageSharp/Formats/Tiff/Compression/Compressors/T6BitCompressor.cs new file mode 100644 index 000000000..174144010 --- /dev/null +++ b/src/ImageSharp/Formats/Tiff/Compression/Compressors/T6BitCompressor.cs @@ -0,0 +1,194 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System; +using System.Buffers; +using System.IO; +using SixLabors.ImageSharp.Formats.Tiff.Constants; +using SixLabors.ImageSharp.Memory; + +namespace SixLabors.ImageSharp.Formats.Tiff.Compression.Compressors +{ + /// + /// Bitwriter for writing compressed CCITT T6 2D data. + /// + internal sealed class T6BitCompressor : TiffCcittCompressor + { + /// + /// Vertical codes from -3 to +3 + /// + private static readonly (uint Length, uint Code)[] VerticalCodes = new[] + { + (7u, 3u), + (6u, 3u), + (3u, 3u), + (1u, 1u), + (3u, 2u), + (6u, 2u), + (7u, 2u) + }; + + private IMemoryOwner referenceLineBuffer; + + public T6BitCompressor(Stream output, MemoryAllocator allocator, int width, int bitsPerPixel) + : base(output, allocator, width, bitsPerPixel) + { + } + + /// + public override TiffCompression Method => TiffCompression.CcittGroup4Fax; + + /// + /// Writes a image compressed with CCITT T4 to the output buffer. + /// + /// The pixels as 8-bit gray array. + /// The strip height. + /// The destination for the compressed data. + protected override void CompressStrip(Span pixelsAsGray, int height, Span compressedData) + { + // Initial reference line is all white + Span referenceLine = this.referenceLineBuffer.GetSpan(); + referenceLine.Fill(0xff); + + for (int y = 0; y < height; y++) + { + Span row = pixelsAsGray.Slice(y * this.Width, this.Width); + uint a0 = 0; + uint a1 = row[0] == 0 ? 0 : this.FindRunEnd(row, 0); + uint b1 = referenceLine[0] == 0 ? 0 : this.FindRunEnd(referenceLine, 0); + + while (true) + { + uint b2 = this.FindRunEnd(referenceLine, b1); + if (b2 < a1) + { + // pass mode + this.WriteCode(4, 1, compressedData); + a0 = b2; + } + else + { + int d = int.MaxValue; + if ((b1 >= a1) && (b1 - a1 <= 3)) + { + d = (int)(b1 - a1); + } + else if ((b1 < a1) && (a1 - b1 <= 3)) + { + d = -(int)(a1 - b1); + } + + if ((d >= -3) && (d <= 3)) + { + // vertical mode + (uint length, uint code) = VerticalCodes[d + 3]; + this.WriteCode(length, code, compressedData); + a0 = a1; + } + else + { + // Horizontal mode + this.WriteCode(3, 1, compressedData); + + uint a2 = this.FindRunEnd(row, a1); + if ((a0 + a1 == 0) || (row[(int)a0] != 0)) + { + this.WriteRun(a1 - a0, true, compressedData); + this.WriteRun(a2 - a1, false, compressedData); + } + else + { + this.WriteRun(a1 - a0, false, compressedData); + this.WriteRun(a2 - a1, true, compressedData); + } + + a0 = a2; + } + } + + if (a0 >= row.Length) + { + break; + } + + byte thisPixel = row[(int)a0]; + a1 = this.FindRunEnd(row, a0, thisPixel); + b1 = this.FindRunEnd(referenceLine, a0, (byte)~thisPixel); + b1 = this.FindRunEnd(referenceLine, b1, thisPixel); + } + + // This row is now the reference line + row.CopyTo(referenceLine); + } + + this.WriteCode(12, 1, compressedData); + this.WriteCode(12, 1, compressedData); + } + + /// + protected override void Dispose(bool disposing) + { + this.referenceLineBuffer?.Dispose(); + base.Dispose(disposing); + } + + /// + /// Finds the end of a pixel run. + /// + /// The row of pixels to examine. + /// The index of the first pixel in to examine. + /// Color of pixels in the run. If not specified, the color at + /// will be used. + /// The index of the first pixel at or after + /// that does not match , or the length of , + /// whichever comes first. + private uint FindRunEnd(Span row, uint startIndex, byte? color = null) + { + if (startIndex >= row.Length) + { + return (uint)row.Length; + } + + byte colorValue = color.GetValueOrDefault(row[(int)startIndex]); + for (int i = (int)startIndex; i < row.Length; i++) + { + if (row[i] != colorValue) + { + return (uint)i; + } + } + + return (uint)row.Length; + } + + /// + public override void Initialize(int rowsPerStrip) + { + base.Initialize(rowsPerStrip); + this.referenceLineBuffer = this.Allocator.Allocate(this.Width); + } + + /// + /// Writes a run to the output buffer + /// + /// The length of the run + /// If true the run is white pixels, + /// if false the run is black pixels + /// The destination to write the run to. + private void WriteRun(uint runLength, bool isWhiteRun, Span compressedData) + { + uint code; + uint codeLength; + while (runLength > 63) + { + uint makeupLength = this.GetBestFittingMakeupRunLength(runLength); + code = this.GetMakeupCode(makeupLength, out codeLength, isWhiteRun); + this.WriteCode(codeLength, code, compressedData); + runLength -= makeupLength; + } + + code = this.GetTermCode(runLength, out codeLength, isWhiteRun); + this.WriteCode(codeLength, code, compressedData); + } + } +} diff --git a/src/ImageSharp/Formats/Tiff/Compression/Compressors/TiffCcittCompressor.cs b/src/ImageSharp/Formats/Tiff/Compression/Compressors/TiffCcittCompressor.cs new file mode 100644 index 000000000..316610621 --- /dev/null +++ b/src/ImageSharp/Formats/Tiff/Compression/Compressors/TiffCcittCompressor.cs @@ -0,0 +1,536 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System; +using System.Buffers; +using System.Collections.Generic; +using System.IO; +using SixLabors.ImageSharp.Memory; + +namespace SixLabors.ImageSharp.Formats.Tiff.Compression.Compressors +{ + /// + /// Common functionality for CCITT T4 and T6 Compression + /// + internal abstract class TiffCcittCompressor : TiffBaseCompressor + { + protected const uint WhiteZeroRunTermCode = 0x35; + + protected const uint BlackZeroRunTermCode = 0x37; + + private static readonly uint[] MakeupRunLength = + { + 64, 128, 192, 256, 320, 384, 448, 512, 576, 640, 704, 768, 832, 896, 960, 1024, 1088, 1152, 1216, 1280, 1344, 1408, 1472, 1536, 1600, 1664, 1728, 1792, 1856, 1920, 1984, 2048, 2112, 2176, 2240, 2304, 2368, 2432, 2496, 2560 + }; + + private static readonly Dictionary WhiteLen4TermCodes = new Dictionary() + { + { 2, 0x7 }, { 3, 0x8 }, { 4, 0xB }, { 5, 0xC }, { 6, 0xE }, { 7, 0xF } + }; + + private static readonly Dictionary WhiteLen5TermCodes = new Dictionary() + { + { 8, 0x13 }, { 9, 0x14 }, { 10, 0x7 }, { 11, 0x8 } + }; + + private static readonly Dictionary WhiteLen6TermCodes = new Dictionary() + { + { 1, 0x7 }, { 12, 0x8 }, { 13, 0x3 }, { 14, 0x34 }, { 15, 0x35 }, { 16, 0x2A }, { 17, 0x2B } + }; + + private static readonly Dictionary WhiteLen7TermCodes = new Dictionary() + { + { 18, 0x27 }, { 19, 0xC }, { 20, 0x8 }, { 21, 0x17 }, { 22, 0x3 }, { 23, 0x4 }, { 24, 0x28 }, { 25, 0x2B }, { 26, 0x13 }, + { 27, 0x24 }, { 28, 0x18 } + }; + + private static readonly Dictionary WhiteLen8TermCodes = new Dictionary() + { + { 0, WhiteZeroRunTermCode }, { 29, 0x2 }, { 30, 0x3 }, { 31, 0x1A }, { 32, 0x1B }, { 33, 0x12 }, { 34, 0x13 }, { 35, 0x14 }, + { 36, 0x15 }, { 37, 0x16 }, { 38, 0x17 }, { 39, 0x28 }, { 40, 0x29 }, { 41, 0x2A }, { 42, 0x2B }, { 43, 0x2C }, { 44, 0x2D }, + { 45, 0x4 }, { 46, 0x5 }, { 47, 0xA }, { 48, 0xB }, { 49, 0x52 }, { 50, 0x53 }, { 51, 0x54 }, { 52, 0x55 }, { 53, 0x24 }, + { 54, 0x25 }, { 55, 0x58 }, { 56, 0x59 }, { 57, 0x5A }, { 58, 0x5B }, { 59, 0x4A }, { 60, 0x4B }, { 61, 0x32 }, { 62, 0x33 }, + { 63, 0x34 } + }; + + private static readonly Dictionary BlackLen2TermCodes = new Dictionary() + { + { 2, 0x3 }, { 3, 0x2 } + }; + + private static readonly Dictionary BlackLen3TermCodes = new Dictionary() + { + { 1, 0x2 }, { 4, 0x3 } + }; + + private static readonly Dictionary BlackLen4TermCodes = new Dictionary() + { + { 5, 0x3 }, { 6, 0x2 } + }; + + private static readonly Dictionary BlackLen5TermCodes = new Dictionary() + { + { 7, 0x3 } + }; + + private static readonly Dictionary BlackLen6TermCodes = new Dictionary() + { + { 8, 0x5 }, { 9, 0x4 } + }; + + private static readonly Dictionary BlackLen7TermCodes = new Dictionary() + { + { 10, 0x4 }, { 11, 0x5 }, { 12, 0x7 } + }; + + private static readonly Dictionary BlackLen8TermCodes = new Dictionary() + { + { 13, 0x4 }, { 14, 0x7 } + }; + + private static readonly Dictionary BlackLen9TermCodes = new Dictionary() + { + { 15, 0x18 } + }; + + private static readonly Dictionary BlackLen10TermCodes = new Dictionary() + { + { 0, BlackZeroRunTermCode }, { 16, 0x17 }, { 17, 0x18 }, { 18, 0x8 } + }; + + private static readonly Dictionary BlackLen11TermCodes = new Dictionary() + { + { 19, 0x67 }, { 20, 0x68 }, { 21, 0x6C }, { 22, 0x37 }, { 23, 0x28 }, { 24, 0x17 }, { 25, 0x18 } + }; + + private static readonly Dictionary BlackLen12TermCodes = new Dictionary() + { + { 26, 0xCA }, { 27, 0xCB }, { 28, 0xCC }, { 29, 0xCD }, { 30, 0x68 }, { 31, 0x69 }, { 32, 0x6A }, { 33, 0x6B }, { 34, 0xD2 }, + { 35, 0xD3 }, { 36, 0xD4 }, { 37, 0xD5 }, { 38, 0xD6 }, { 39, 0xD7 }, { 40, 0x6C }, { 41, 0x6D }, { 42, 0xDA }, { 43, 0xDB }, + { 44, 0x54 }, { 45, 0x55 }, { 46, 0x56 }, { 47, 0x57 }, { 48, 0x64 }, { 49, 0x65 }, { 50, 0x52 }, { 51, 0x53 }, { 52, 0x24 }, + { 53, 0x37 }, { 54, 0x38 }, { 55, 0x27 }, { 56, 0x28 }, { 57, 0x58 }, { 58, 0x59 }, { 59, 0x2B }, { 60, 0x2C }, { 61, 0x5A }, + { 62, 0x66 }, { 63, 0x67 } + }; + + private static readonly Dictionary WhiteLen5MakeupCodes = new Dictionary() + { + { 64, 0x1B }, { 128, 0x12 } + }; + + private static readonly Dictionary WhiteLen6MakeupCodes = new Dictionary() + { + { 192, 0x17 }, { 1664, 0x18 } + }; + + private static readonly Dictionary WhiteLen8MakeupCodes = new Dictionary() + { + { 320, 0x36 }, { 384, 0x37 }, { 448, 0x64 }, { 512, 0x65 }, { 576, 0x68 }, { 640, 0x67 } + }; + + private static readonly Dictionary WhiteLen7MakeupCodes = new Dictionary() + { + { 256, 0x37 } + }; + + private static readonly Dictionary WhiteLen9MakeupCodes = new Dictionary() + { + { 704, 0xCC }, { 768, 0xCD }, { 832, 0xD2 }, { 896, 0xD3 }, { 960, 0xD4 }, { 1024, 0xD5 }, { 1088, 0xD6 }, + { 1152, 0xD7 }, { 1216, 0xD8 }, { 1280, 0xD9 }, { 1344, 0xDA }, { 1408, 0xDB }, { 1472, 0x98 }, { 1536, 0x99 }, + { 1600, 0x9A }, { 1728, 0x9B } + }; + + private static readonly Dictionary WhiteLen11MakeupCodes = new Dictionary() + { + { 1792, 0x8 }, { 1856, 0xC }, { 1920, 0xD } + }; + + private static readonly Dictionary WhiteLen12MakeupCodes = new Dictionary() + { + { 1984, 0x12 }, { 2048, 0x13 }, { 2112, 0x14 }, { 2176, 0x15 }, { 2240, 0x16 }, { 2304, 0x17 }, { 2368, 0x1C }, + { 2432, 0x1D }, { 2496, 0x1E }, { 2560, 0x1F } + }; + + private static readonly Dictionary BlackLen10MakeupCodes = new Dictionary() + { + { 64, 0xF } + }; + + private static readonly Dictionary BlackLen11MakeupCodes = new Dictionary() + { + { 1792, 0x8 }, { 1856, 0xC }, { 1920, 0xD } + }; + + private static readonly Dictionary BlackLen12MakeupCodes = new Dictionary() + { + { 128, 0xC8 }, { 192, 0xC9 }, { 256, 0x5B }, { 320, 0x33 }, { 384, 0x34 }, { 448, 0x35 }, + { 1984, 0x12 }, { 2048, 0x13 }, { 2112, 0x14 }, { 2176, 0x15 }, { 2240, 0x16 }, { 2304, 0x17 }, { 2368, 0x1C }, + { 2432, 0x1D }, { 2496, 0x1E }, { 2560, 0x1F } + }; + + private static readonly Dictionary BlackLen13MakeupCodes = new Dictionary() + { + { 512, 0x6C }, { 576, 0x6D }, { 640, 0x4A }, { 704, 0x4B }, { 768, 0x4C }, { 832, 0x4D }, { 896, 0x72 }, + { 960, 0x73 }, { 1024, 0x74 }, { 1088, 0x75 }, { 1152, 0x76 }, { 1216, 0x77 }, { 1280, 0x52 }, { 1344, 0x53 }, + { 1408, 0x54 }, { 1472, 0x55 }, { 1536, 0x5A }, { 1600, 0x5B }, { 1664, 0x64 }, { 1728, 0x65 } + }; + + private int bytePosition; + + private byte bitPosition; + + private IMemoryOwner compressedDataBuffer; + + /// + /// Initializes a new instance of the class. + /// + /// The output. + /// The allocator. + /// The width. + /// The bits per pixel. + protected TiffCcittCompressor(Stream output, MemoryAllocator allocator, int width, int bitsPerPixel) + : base(output, allocator, width, bitsPerPixel) + { + DebugGuard.IsTrue(bitsPerPixel == 1, nameof(bitsPerPixel), "CCITT compression requires one bit per pixel"); + this.bytePosition = 0; + this.bitPosition = 0; + } + + private uint GetWhiteMakeupCode(uint runLength, out uint codeLength) + { + codeLength = 0; + + if (WhiteLen5MakeupCodes.ContainsKey(runLength)) + { + codeLength = 5; + return WhiteLen5MakeupCodes[runLength]; + } + + if (WhiteLen6MakeupCodes.ContainsKey(runLength)) + { + codeLength = 6; + return WhiteLen6MakeupCodes[runLength]; + } + + if (WhiteLen7MakeupCodes.ContainsKey(runLength)) + { + codeLength = 7; + return WhiteLen7MakeupCodes[runLength]; + } + + if (WhiteLen8MakeupCodes.ContainsKey(runLength)) + { + codeLength = 8; + return WhiteLen8MakeupCodes[runLength]; + } + + if (WhiteLen9MakeupCodes.ContainsKey(runLength)) + { + codeLength = 9; + return WhiteLen9MakeupCodes[runLength]; + } + + if (WhiteLen11MakeupCodes.ContainsKey(runLength)) + { + codeLength = 11; + return WhiteLen11MakeupCodes[runLength]; + } + + if (WhiteLen12MakeupCodes.ContainsKey(runLength)) + { + codeLength = 12; + return WhiteLen12MakeupCodes[runLength]; + } + + return 0; + } + + private uint GetBlackMakeupCode(uint runLength, out uint codeLength) + { + codeLength = 0; + + if (BlackLen10MakeupCodes.ContainsKey(runLength)) + { + codeLength = 10; + return BlackLen10MakeupCodes[runLength]; + } + + if (BlackLen11MakeupCodes.ContainsKey(runLength)) + { + codeLength = 11; + return BlackLen11MakeupCodes[runLength]; + } + + if (BlackLen12MakeupCodes.ContainsKey(runLength)) + { + codeLength = 12; + return BlackLen12MakeupCodes[runLength]; + } + + if (BlackLen13MakeupCodes.ContainsKey(runLength)) + { + codeLength = 13; + return BlackLen13MakeupCodes[runLength]; + } + + return 0; + } + + private uint GetWhiteTermCode(uint runLength, out uint codeLength) + { + codeLength = 0; + + if (WhiteLen4TermCodes.ContainsKey(runLength)) + { + codeLength = 4; + return WhiteLen4TermCodes[runLength]; + } + + if (WhiteLen5TermCodes.ContainsKey(runLength)) + { + codeLength = 5; + return WhiteLen5TermCodes[runLength]; + } + + if (WhiteLen6TermCodes.ContainsKey(runLength)) + { + codeLength = 6; + return WhiteLen6TermCodes[runLength]; + } + + if (WhiteLen7TermCodes.ContainsKey(runLength)) + { + codeLength = 7; + return WhiteLen7TermCodes[runLength]; + } + + if (WhiteLen8TermCodes.ContainsKey(runLength)) + { + codeLength = 8; + return WhiteLen8TermCodes[runLength]; + } + + return 0; + } + + private uint GetBlackTermCode(uint runLength, out uint codeLength) + { + codeLength = 0; + + if (BlackLen2TermCodes.ContainsKey(runLength)) + { + codeLength = 2; + return BlackLen2TermCodes[runLength]; + } + + if (BlackLen3TermCodes.ContainsKey(runLength)) + { + codeLength = 3; + return BlackLen3TermCodes[runLength]; + } + + if (BlackLen4TermCodes.ContainsKey(runLength)) + { + codeLength = 4; + return BlackLen4TermCodes[runLength]; + } + + if (BlackLen5TermCodes.ContainsKey(runLength)) + { + codeLength = 5; + return BlackLen5TermCodes[runLength]; + } + + if (BlackLen6TermCodes.ContainsKey(runLength)) + { + codeLength = 6; + return BlackLen6TermCodes[runLength]; + } + + if (BlackLen7TermCodes.ContainsKey(runLength)) + { + codeLength = 7; + return BlackLen7TermCodes[runLength]; + } + + if (BlackLen8TermCodes.ContainsKey(runLength)) + { + codeLength = 8; + return BlackLen8TermCodes[runLength]; + } + + if (BlackLen9TermCodes.ContainsKey(runLength)) + { + codeLength = 9; + return BlackLen9TermCodes[runLength]; + } + + if (BlackLen10TermCodes.ContainsKey(runLength)) + { + codeLength = 10; + return BlackLen10TermCodes[runLength]; + } + + if (BlackLen11TermCodes.ContainsKey(runLength)) + { + codeLength = 11; + return BlackLen11TermCodes[runLength]; + } + + if (BlackLen12TermCodes.ContainsKey(runLength)) + { + codeLength = 12; + return BlackLen12TermCodes[runLength]; + } + + return 0; + } + + /// + /// Gets the best makeup run length for a given run length + /// + /// A run length needing a makeup code + /// The makeup length for . + protected uint GetBestFittingMakeupRunLength(uint runLength) + { + DebugGuard.MustBeGreaterThanOrEqualTo(runLength, MakeupRunLength[0], nameof(runLength)); + + for (int i = 0; i < MakeupRunLength.Length - 1; i++) + { + if (MakeupRunLength[i] <= runLength && MakeupRunLength[i + 1] > runLength) + { + return MakeupRunLength[i]; + } + } + + return MakeupRunLength[MakeupRunLength.Length - 1]; + } + + /// + /// Gets the terminating code for a run length. + /// + /// The run length to get the terminating code for. + /// The length of the terminating code. + /// If true, the run is of white pixels. + /// If false the run is of black pixels + /// The terminating code for a run of length + protected uint GetTermCode(uint runLength, out uint codeLength, bool isWhiteRun) + { + if (isWhiteRun) + { + return this.GetWhiteTermCode(runLength, out codeLength); + } + + return this.GetBlackTermCode(runLength, out codeLength); + } + + /// + /// Gets the makeup code for a run length. + /// + /// The run length to get the makeup code for. + /// The length of the makeup code. + /// If true, the run is of white pixels. + /// If false the run is of black pixels + /// The makeup code for a run of length + protected uint GetMakeupCode(uint runLength, out uint codeLength, bool isWhiteRun) + { + if (isWhiteRun) + { + return this.GetWhiteMakeupCode(runLength, out codeLength); + } + + return this.GetBlackMakeupCode(runLength, out codeLength); + } + + /// + /// Pads output to the next byte + /// + /// + /// If the output is not currently on a byte boundary, + /// zero-pad it to the next byte + /// + protected void PadByte() + { + // Check if padding is necessary. + if (this.bitPosition % 8 != 0) + { + // Skip padding bits, move to next byte. + this.bytePosition++; + this.bitPosition = 0; + } + } + + /// + /// Writes a code to the output. + /// + /// The length of the code to write. + /// The code to be written. + /// The destination buffer to write the code to. + protected void WriteCode(uint codeLength, uint code, Span compressedData) + { + while (codeLength > 0) + { + int bitNumber = (int)codeLength; + bool bit = (code & (1 << (bitNumber - 1))) != 0; + if (bit) + { + BitWriterUtils.WriteBit(compressedData, this.bytePosition, this.bitPosition); + } + else + { + BitWriterUtils.WriteZeroBit(compressedData, this.bytePosition, this.bitPosition); + } + + this.bitPosition++; + if (this.bitPosition == 8) + { + this.bytePosition++; + this.bitPosition = 0; + } + + codeLength--; + } + } + + /// + /// Writes a image compressed with CCITT T6 to the stream. + /// + /// The pixels as 8-bit gray array. + /// The strip height. + public override void CompressStrip(Span pixelsAsGray, int height) + { + DebugGuard.IsTrue(pixelsAsGray.Length / height == this.Width, "Values must be equals"); + DebugGuard.IsTrue(pixelsAsGray.Length % height == 0, "Values must be equals"); + + this.compressedDataBuffer.Clear(); + Span compressedData = this.compressedDataBuffer.GetSpan(); + + this.bytePosition = 0; + this.bitPosition = 0; + + this.CompressStrip(pixelsAsGray, height, compressedData); + + // Write the compressed data to the stream. + int bytesToWrite = this.bitPosition != 0 ? this.bytePosition + 1 : this.bytePosition; + this.Output.Write(compressedData.Slice(0, bytesToWrite)); + } + + /// + /// Compress a data strip + /// + /// The pixels as 8-bit gray array. + /// The strip height. + /// The destination for the compressed data. + protected abstract void CompressStrip(Span pixelsAsGray, int height, Span compressedData); + + /// + protected override void Dispose(bool disposing) => this.compressedDataBuffer?.Dispose(); + + /// + public override void Initialize(int rowsPerStrip) + { + // This is too much memory allocated, but just 1 bit per pixel will not do, if the compression rate is not good. + int maxNeededBytes = this.Width * rowsPerStrip; + this.compressedDataBuffer = this.Allocator.Allocate(maxNeededBytes); + } + } +} diff --git a/src/ImageSharp/Formats/Tiff/Compression/TiffCompressorFactory.cs b/src/ImageSharp/Formats/Tiff/Compression/TiffCompressorFactory.cs index db2b935b7..904470e81 100644 --- a/src/ImageSharp/Formats/Tiff/Compression/TiffCompressorFactory.cs +++ b/src/ImageSharp/Formats/Tiff/Compression/TiffCompressorFactory.cs @@ -55,6 +55,11 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression DebugGuard.IsTrue(predictor == TiffPredictor.None, "Predictor should only be used with lzw or deflate compression"); return new T4BitCompressor(output, allocator, width, bitsPerPixel, false); + case TiffCompression.CcittGroup4Fax: + DebugGuard.IsTrue(compressionLevel == DeflateCompressionLevel.DefaultCompression, "No deflate compression level is expected to be set"); + DebugGuard.IsTrue(predictor == TiffPredictor.None, "Predictor should only be used with lzw or deflate compression"); + return new T6BitCompressor(output, allocator, width, bitsPerPixel); + case TiffCompression.Ccitt1D: DebugGuard.IsTrue(compressionLevel == DeflateCompressionLevel.DefaultCompression, "No deflate compression level is expected to be set"); DebugGuard.IsTrue(predictor == TiffPredictor.None, "Predictor should only be used with lzw or deflate compression"); diff --git a/src/ImageSharp/Formats/Tiff/README.md b/src/ImageSharp/Formats/Tiff/README.md index ff4aa52b0..488701e31 100644 --- a/src/ImageSharp/Formats/Tiff/README.md +++ b/src/ImageSharp/Formats/Tiff/README.md @@ -45,7 +45,7 @@ |Ccitt1D | Y | Y | | |PackBits | Y | Y | | |CcittGroup3Fax | Y | Y | | -|CcittGroup4Fax | | Y | | +|CcittGroup4Fax | Y | Y | | |Lzw | Y | Y | Based on ImageSharp GIF LZW implementation - this code could be modified to be (i) shared, or (ii) optimised for each case | |Old Jpeg | | | We should not even try to support this | |Jpeg (Technote 2) | Y | Y | | diff --git a/src/ImageSharp/Formats/Tiff/TiffEncoderEntriesCollector.cs b/src/ImageSharp/Formats/Tiff/TiffEncoderEntriesCollector.cs index e54d029ab..04f3682b0 100644 --- a/src/ImageSharp/Formats/Tiff/TiffEncoderEntriesCollector.cs +++ b/src/ImageSharp/Formats/Tiff/TiffEncoderEntriesCollector.cs @@ -395,6 +395,9 @@ namespace SixLabors.ImageSharp.Formats.Tiff case TiffCompression.CcittGroup3Fax: return (ushort)TiffCompression.CcittGroup3Fax; + case TiffCompression.CcittGroup4Fax: + return (ushort)TiffCompression.CcittGroup4Fax; + case TiffCompression.Ccitt1D: return (ushort)TiffCompression.Ccitt1D; diff --git a/src/ImageSharp/Formats/Tiff/Writers/TiffBiColorWriter{TPixel}.cs b/src/ImageSharp/Formats/Tiff/Writers/TiffBiColorWriter{TPixel}.cs index 5fec09ef1..f21a465cd 100644 --- a/src/ImageSharp/Formats/Tiff/Writers/TiffBiColorWriter{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/Writers/TiffBiColorWriter{TPixel}.cs @@ -37,7 +37,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Writers { int width = this.Image.Width; - if (compressor.Method == TiffCompression.CcittGroup3Fax || compressor.Method == TiffCompression.Ccitt1D) + if (compressor.Method == TiffCompression.CcittGroup3Fax || compressor.Method == TiffCompression.Ccitt1D || compressor.Method == TiffCompression.CcittGroup4Fax) { // Special case for T4BitCompressor. int stripPixels = width * height; diff --git a/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderTests.cs index aded52cd9..93ca611c9 100644 --- a/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Tiff/TiffEncoderTests.cs @@ -109,6 +109,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff [InlineData(TiffPhotometricInterpretation.BlackIsZero, TiffCompression.Lzw, TiffBitsPerPixel.Bit8, TiffCompression.Lzw)] [InlineData(TiffPhotometricInterpretation.PaletteColor, TiffCompression.Lzw, TiffBitsPerPixel.Bit8, TiffCompression.Lzw)] [InlineData(TiffPhotometricInterpretation.BlackIsZero, TiffCompression.CcittGroup3Fax, TiffBitsPerPixel.Bit1, TiffCompression.CcittGroup3Fax)] + [InlineData(TiffPhotometricInterpretation.BlackIsZero, TiffCompression.CcittGroup4Fax, TiffBitsPerPixel.Bit1, TiffCompression.CcittGroup4Fax)] [InlineData(TiffPhotometricInterpretation.BlackIsZero, TiffCompression.Ccitt1D, TiffBitsPerPixel.Bit1, TiffCompression.Ccitt1D)] [InlineData(TiffPhotometricInterpretation.Rgb, TiffCompression.ItuTRecT43, TiffBitsPerPixel.Bit24, TiffCompression.None)] [InlineData(TiffPhotometricInterpretation.Rgb, TiffCompression.ItuTRecT82, TiffBitsPerPixel.Bit24, TiffCompression.None)] @@ -228,8 +229,10 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff [Theory] [WithFile(RgbUncompressed, PixelTypes.Rgba32, TiffCompression.CcittGroup3Fax, TiffCompression.CcittGroup3Fax)] + [WithFile(RgbUncompressed, PixelTypes.Rgba32, TiffCompression.CcittGroup4Fax, TiffCompression.CcittGroup4Fax)] [WithFile(RgbUncompressed, PixelTypes.Rgba32, TiffCompression.Ccitt1D, TiffCompression.Ccitt1D)] [WithFile(GrayscaleUncompressed, PixelTypes.L8, TiffCompression.CcittGroup3Fax, TiffCompression.CcittGroup3Fax)] + [WithFile(GrayscaleUncompressed, PixelTypes.L8, TiffCompression.CcittGroup4Fax, TiffCompression.CcittGroup4Fax)] [WithFile(PaletteDeflateMultistrip, PixelTypes.L8, TiffCompression.Ccitt1D, TiffCompression.Ccitt1D)] public void TiffEncoder_EncodesWithCorrectBiColorModeCompression(TestImageProvider provider, TiffCompression compression, TiffCompression expectedCompression) where TPixel : unmanaged, IPixel @@ -405,6 +408,16 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff public void TiffEncoder_EncodeBiColor_WithCcittGroup3FaxCompression_BlackIsZero_Works(TestImageProvider provider) where TPixel : unmanaged, IPixel => TestTiffEncoderCore(provider, TiffBitsPerPixel.Bit1, TiffPhotometricInterpretation.BlackIsZero, TiffCompression.CcittGroup3Fax); + [Theory] + [WithFile(Calliphora_BiColorUncompressed, PixelTypes.Rgba32)] + public void TiffEncoder_EncodeBiColor_WithCcittGroup4FaxCompression_WhiteIsZero_Works(TestImageProvider provider) + where TPixel : unmanaged, IPixel => TestTiffEncoderCore(provider, TiffBitsPerPixel.Bit1, TiffPhotometricInterpretation.WhiteIsZero, TiffCompression.CcittGroup4Fax); + + [Theory] + [WithFile(Calliphora_BiColorUncompressed, PixelTypes.Rgba32)] + public void TiffEncoder_EncodeBiColor_WithCcittGroup4FaxCompression_BlackIsZero_Works(TestImageProvider provider) + where TPixel : unmanaged, IPixel => TestTiffEncoderCore(provider, TiffBitsPerPixel.Bit1, TiffPhotometricInterpretation.BlackIsZero, TiffCompression.CcittGroup4Fax); + [Theory] [WithFile(Calliphora_BiColorUncompressed, PixelTypes.Rgba32)] public void TiffEncoder_EncodeBiColor_WithModifiedHuffmanCompression_WhiteIsZero_Works(TestImageProvider provider) From ad7c49ae0e1f22c0b1de8ab0c26947915f12ea56 Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Sat, 12 Feb 2022 14:01:08 +0100 Subject: [PATCH 065/244] Switch to issue forms. --- .../ISSUE_TEMPLATE/commercial-bug-report.md | 33 --------------- .../ISSUE_TEMPLATE/commercial-bug-report.yml | 41 +++++++++++++++++++ .github/ISSUE_TEMPLATE/oss-bug-report.md | 30 -------------- .github/ISSUE_TEMPLATE/oss-bug-report.yml | 39 ++++++++++++++++++ 4 files changed, 80 insertions(+), 63 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/commercial-bug-report.md create mode 100644 .github/ISSUE_TEMPLATE/commercial-bug-report.yml delete mode 100644 .github/ISSUE_TEMPLATE/oss-bug-report.md create mode 100644 .github/ISSUE_TEMPLATE/oss-bug-report.yml diff --git a/.github/ISSUE_TEMPLATE/commercial-bug-report.md b/.github/ISSUE_TEMPLATE/commercial-bug-report.md deleted file mode 100644 index 024de8e19..000000000 --- a/.github/ISSUE_TEMPLATE/commercial-bug-report.md +++ /dev/null @@ -1,33 +0,0 @@ ---- -name: "Commercial License : Bug Report" -about: | - Create a report to help us improve the project. For Commercial License holders only. - Please contact help@sixlabors.com for issues requiring private support. -labels: commercial, needs triage - ---- - - -### Prerequisites - -- [ ] I have written a descriptive issue title -- [ ] I have verified that I am running the latest version of ImageSharp -- [ ] I have verified if the problem exist in both `DEBUG` and `RELEASE` mode -- [ ] I have searched [open](https://github.com/SixLabors/ImageSharp/issues) and [closed](https://github.com/SixLabors/ImageSharp/issues?q=is%3Aissue+is%3Aclosed) issues to ensure it has not already been reported - -### Description - - -### Steps to Reproduce - - -### System Configuration - - -- ImageSharp version: -- Other ImageSharp packages and versions: -- Environment (Operating system, version and so on): -- .NET Framework version: -- Additional information: - - diff --git a/.github/ISSUE_TEMPLATE/commercial-bug-report.yml b/.github/ISSUE_TEMPLATE/commercial-bug-report.yml new file mode 100644 index 000000000..669d4f839 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/commercial-bug-report.yml @@ -0,0 +1,41 @@ +name: "Commercial License : Bug Report" +description: | + Create a report to help us improve the project. For Commercial License holders only. + Please contact help@sixlabors.com for issues requiring private support. +labels: ["commercial", "needs triage"] +- type: input + attributes: + label: ImageSharp version + validations: + required: true +- type: input + attributes: + label: Other ImageSharp packages and versions + validations: + required: true +- type: input + attributes: + label: Environment (Operating system, version and so on) + validations: + required: true +- type: input + attributes: + label: .NET Framework version + validations: + required: true +- type: textarea + attributes: + label: Description + description: A description of the bug or feature + validations: + required: true +- type: textarea + attributes: + label: Steps to Reproduce + description: List of steps, sample code, failing test or link to a project that reproduces the behavior. Make sure you place a stack trace inside a code (```) block to avoid linking unrelated issues. + validations: + required: true +- type: textarea + attributes: + label: Images + description: Please upload images that can be used to reproduce issues in the area below. If the file type is not supported the file can be zipped and then uploaded instead. diff --git a/.github/ISSUE_TEMPLATE/oss-bug-report.md b/.github/ISSUE_TEMPLATE/oss-bug-report.md deleted file mode 100644 index 9e9567a99..000000000 --- a/.github/ISSUE_TEMPLATE/oss-bug-report.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -name: "OSS : Bug Report" -about: Create a report to help us improve the project. OSS Issues are not guaranteed to be triaged. -labels: needs triage - ---- - -### Prerequisites - -- [ ] I have written a descriptive issue title -- [ ] I have verified that I am running the latest version of ImageSharp -- [ ] I have verified if the problem exist in both `DEBUG` and `RELEASE` mode -- [ ] I have searched [open](https://github.com/SixLabors/ImageSharp/issues) and [closed](https://github.com/SixLabors/ImageSharp/issues?q=is%3Aissue+is%3Aclosed) issues to ensure it has not already been reported - -### Description - - -### Steps to Reproduce - - -### System Configuration - - -- ImageSharp version: -- Other ImageSharp packages and versions: -- Environment (Operating system, version and so on): -- .NET Framework version: -- Additional information: - - diff --git a/.github/ISSUE_TEMPLATE/oss-bug-report.yml b/.github/ISSUE_TEMPLATE/oss-bug-report.yml new file mode 100644 index 000000000..302286c07 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/oss-bug-report.yml @@ -0,0 +1,39 @@ +name: "OSS : Bug Report" +description: Create a report to help us improve the project. OSS Issues are not guaranteed to be triaged. +labels: ["needs triage"] +- type: input + attributes: + label: ImageSharp version + validations: + required: true +- type: input + attributes: + label: Other ImageSharp packages and versions + validations: + required: true +- type: input + attributes: + label: Environment (Operating system, version and so on) + validations: + required: true +- type: input + attributes: + label: .NET Framework version + validations: + required: true +- type: textarea + attributes: + label: Description + description: A description of the bug + validations: + required: true +- type: textarea + attributes: + label: Steps to Reproduce + description: List of steps, sample code, failing test or link to a project that reproduces the behavior. Make sure you place a stack trace inside a code (```) block to avoid linking unrelated issues. + validations: + required: true +- type: textarea + attributes: + label: Images + description: Please upload images that can be used to reproduce issues in the area below. If the file type is not supported the file can be zipped and then uploaded instead. From 3b8b4d19d4d69d8ba223f67d1ce52f40e2299d4c Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Sat, 12 Feb 2022 14:07:02 +0100 Subject: [PATCH 066/244] Try without quotes. --- .github/ISSUE_TEMPLATE/commercial-bug-report.yml | 4 ++-- .github/ISSUE_TEMPLATE/oss-bug-report.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/commercial-bug-report.yml b/.github/ISSUE_TEMPLATE/commercial-bug-report.yml index 669d4f839..27e88a7e5 100644 --- a/.github/ISSUE_TEMPLATE/commercial-bug-report.yml +++ b/.github/ISSUE_TEMPLATE/commercial-bug-report.yml @@ -1,4 +1,4 @@ -name: "Commercial License : Bug Report" +name: Commercial License : Bug Report description: | Create a report to help us improve the project. For Commercial License holders only. Please contact help@sixlabors.com for issues requiring private support. @@ -26,7 +26,7 @@ labels: ["commercial", "needs triage"] - type: textarea attributes: label: Description - description: A description of the bug or feature + description: A description of the bug validations: required: true - type: textarea diff --git a/.github/ISSUE_TEMPLATE/oss-bug-report.yml b/.github/ISSUE_TEMPLATE/oss-bug-report.yml index 302286c07..942c2bc78 100644 --- a/.github/ISSUE_TEMPLATE/oss-bug-report.yml +++ b/.github/ISSUE_TEMPLATE/oss-bug-report.yml @@ -1,4 +1,4 @@ -name: "OSS : Bug Report" +name: OSS : Bug Report description: Create a report to help us improve the project. OSS Issues are not guaranteed to be triaged. labels: ["needs triage"] - type: input From 056ce5e27e88ba048458f5682fc11e4d27d836fc Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Sat, 12 Feb 2022 14:08:08 +0100 Subject: [PATCH 067/244] Use single quotes instead. --- .github/ISSUE_TEMPLATE/commercial-bug-report.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/commercial-bug-report.yml b/.github/ISSUE_TEMPLATE/commercial-bug-report.yml index 27e88a7e5..df3fbf915 100644 --- a/.github/ISSUE_TEMPLATE/commercial-bug-report.yml +++ b/.github/ISSUE_TEMPLATE/commercial-bug-report.yml @@ -1,4 +1,4 @@ -name: Commercial License : Bug Report +name: 'Commercial License: Bug Report' description: | Create a report to help us improve the project. For Commercial License holders only. Please contact help@sixlabors.com for issues requiring private support. From 6197844260e992bea1a036a28d981e6e0dd02fe2 Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Sat, 12 Feb 2022 14:08:46 +0100 Subject: [PATCH 068/244] Use a different notation. --- .github/ISSUE_TEMPLATE/commercial-bug-report.yml | 2 +- .github/ISSUE_TEMPLATE/oss-bug-report.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/commercial-bug-report.yml b/.github/ISSUE_TEMPLATE/commercial-bug-report.yml index df3fbf915..c16f412f2 100644 --- a/.github/ISSUE_TEMPLATE/commercial-bug-report.yml +++ b/.github/ISSUE_TEMPLATE/commercial-bug-report.yml @@ -1,4 +1,4 @@ -name: 'Commercial License: Bug Report' +name: (Commercial License) Bug Report description: | Create a report to help us improve the project. For Commercial License holders only. Please contact help@sixlabors.com for issues requiring private support. diff --git a/.github/ISSUE_TEMPLATE/oss-bug-report.yml b/.github/ISSUE_TEMPLATE/oss-bug-report.yml index 942c2bc78..1fdaf93c0 100644 --- a/.github/ISSUE_TEMPLATE/oss-bug-report.yml +++ b/.github/ISSUE_TEMPLATE/oss-bug-report.yml @@ -1,4 +1,4 @@ -name: OSS : Bug Report +name: (OSS) Bug Report description: Create a report to help us improve the project. OSS Issues are not guaranteed to be triaged. labels: ["needs triage"] - type: input From 0f587ab276a1e79427369defbefca40a20a40f0e Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Sat, 12 Feb 2022 14:15:57 +0100 Subject: [PATCH 069/244] Added missing body. --- .github/ISSUE_TEMPLATE/commercial-bug-report.yml | 3 ++- .github/ISSUE_TEMPLATE/oss-bug-report.yml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/commercial-bug-report.yml b/.github/ISSUE_TEMPLATE/commercial-bug-report.yml index c16f412f2..e96677b24 100644 --- a/.github/ISSUE_TEMPLATE/commercial-bug-report.yml +++ b/.github/ISSUE_TEMPLATE/commercial-bug-report.yml @@ -1,8 +1,9 @@ -name: (Commercial License) Bug Report +name: "Commercial License : Bug Report" description: | Create a report to help us improve the project. For Commercial License holders only. Please contact help@sixlabors.com for issues requiring private support. labels: ["commercial", "needs triage"] +body: - type: input attributes: label: ImageSharp version diff --git a/.github/ISSUE_TEMPLATE/oss-bug-report.yml b/.github/ISSUE_TEMPLATE/oss-bug-report.yml index 1fdaf93c0..00138d511 100644 --- a/.github/ISSUE_TEMPLATE/oss-bug-report.yml +++ b/.github/ISSUE_TEMPLATE/oss-bug-report.yml @@ -1,6 +1,7 @@ -name: (OSS) Bug Report +name: "OSS : Bug Report" description: Create a report to help us improve the project. OSS Issues are not guaranteed to be triaged. labels: ["needs triage"] +body: - type: input attributes: label: ImageSharp version From 981d1b3aa249656e0b49e3fc90c10e4b5855b49d Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sun, 13 Feb 2022 12:07:50 +0100 Subject: [PATCH 070/244] Remove note, that CcittGroup4Fax is not supported --- src/ImageSharp/Formats/Tiff/Constants/TiffCompression.cs | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/ImageSharp/Formats/Tiff/Constants/TiffCompression.cs b/src/ImageSharp/Formats/Tiff/Constants/TiffCompression.cs index 031494fc5..0baf4c89c 100644 --- a/src/ImageSharp/Formats/Tiff/Constants/TiffCompression.cs +++ b/src/ImageSharp/Formats/Tiff/Constants/TiffCompression.cs @@ -35,9 +35,6 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Constants /// /// T6-encoding: CCITT T.6 bi-level encoding (see Section 11 of the TIFF 6.0 specification). - /// - /// Note: The TIFF encoder does not yet support this compression and will default to use no compression instead, - /// if this is choosen. /// CcittGroup4Fax = 4, From 4fbdccb7d356726868db0421c9e9023c7f1fc803 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sun, 13 Feb 2022 12:08:13 +0100 Subject: [PATCH 071/244] A little cleanup --- .../Compressors/T4BitCompressor.cs | 11 +++---- .../Compressors/T6BitCompressor.cs | 29 ++++++++++++------- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/src/ImageSharp/Formats/Tiff/Compression/Compressors/T4BitCompressor.cs b/src/ImageSharp/Formats/Tiff/Compression/Compressors/T4BitCompressor.cs index 0c296cb9d..d038e9c8b 100644 --- a/src/ImageSharp/Formats/Tiff/Compression/Compressors/T4BitCompressor.cs +++ b/src/ImageSharp/Formats/Tiff/Compression/Compressors/T4BitCompressor.cs @@ -21,16 +21,13 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression.Compressors /// /// Initializes a new instance of the class. /// - /// The output. - /// The allocator. - /// The width. + /// The output stream to write the compressed data. + /// The memory allocator. + /// The width of the image. /// The bits per pixel. /// Indicates if the modified huffman RLE should be used. public T4BitCompressor(Stream output, MemoryAllocator allocator, int width, int bitsPerPixel, bool useModifiedHuffman = false) - : base(output, allocator, width, bitsPerPixel) - { - this.useModifiedHuffman = useModifiedHuffman; - } + : base(output, allocator, width, bitsPerPixel) => this.useModifiedHuffman = useModifiedHuffman; /// public override TiffCompression Method => this.useModifiedHuffman ? TiffCompression.Ccitt1D : TiffCompression.CcittGroup3Fax; diff --git a/src/ImageSharp/Formats/Tiff/Compression/Compressors/T6BitCompressor.cs b/src/ImageSharp/Formats/Tiff/Compression/Compressors/T6BitCompressor.cs index 174144010..9e03d2764 100644 --- a/src/ImageSharp/Formats/Tiff/Compression/Compressors/T6BitCompressor.cs +++ b/src/ImageSharp/Formats/Tiff/Compression/Compressors/T6BitCompressor.cs @@ -15,9 +15,9 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression.Compressors internal sealed class T6BitCompressor : TiffCcittCompressor { /// - /// Vertical codes from -3 to +3 + /// Vertical codes from -3 to +3. /// - private static readonly (uint Length, uint Code)[] VerticalCodes = new[] + private static readonly (uint Length, uint Code)[] VerticalCodes = { (7u, 3u), (6u, 3u), @@ -30,6 +30,13 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression.Compressors private IMemoryOwner referenceLineBuffer; + /// + /// Initializes a new instance of the class. + /// + /// The output stream to write the compressed data. + /// The memory allocator. + /// The width of the image. + /// The bits per pixel. public T6BitCompressor(Stream output, MemoryAllocator allocator, int width, int bitsPerPixel) : base(output, allocator, width, bitsPerPixel) { @@ -39,14 +46,14 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression.Compressors public override TiffCompression Method => TiffCompression.CcittGroup4Fax; /// - /// Writes a image compressed with CCITT T4 to the output buffer. + /// Writes a image compressed with CCITT T6 to the output buffer. /// /// The pixels as 8-bit gray array. /// The strip height. /// The destination for the compressed data. protected override void CompressStrip(Span pixelsAsGray, int height, Span compressedData) { - // Initial reference line is all white + // Initial reference line is all white. Span referenceLine = this.referenceLineBuffer.GetSpan(); referenceLine.Fill(0xff); @@ -62,7 +69,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression.Compressors uint b2 = this.FindRunEnd(referenceLine, b1); if (b2 < a1) { - // pass mode + // Pass mode. this.WriteCode(4, 1, compressedData); a0 = b2; } @@ -80,14 +87,14 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression.Compressors if ((d >= -3) && (d <= 3)) { - // vertical mode + // Vertical mode. (uint length, uint code) = VerticalCodes[d + 3]; this.WriteCode(length, code, compressedData); a0 = a1; } else { - // Horizontal mode + // Horizontal mode. this.WriteCode(3, 1, compressedData); uint a2 = this.FindRunEnd(row, a1); @@ -117,7 +124,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression.Compressors b1 = this.FindRunEnd(referenceLine, b1, thisPixel); } - // This row is now the reference line + // This row is now the reference line. row.CopyTo(referenceLine); } @@ -169,11 +176,11 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression.Compressors } /// - /// Writes a run to the output buffer + /// Writes a run to the output buffer. /// - /// The length of the run + /// The length of the run. /// If true the run is white pixels, - /// if false the run is black pixels + /// if false the run is black pixels. /// The destination to write the run to. private void WriteRun(uint runLength, bool isWhiteRun, Span compressedData) { From 4802b4f0f4c26fc6bbc30266d02734b5269c1600 Mon Sep 17 00:00:00 2001 From: Dan Kroymann Date: Mon, 14 Feb 2022 16:01:37 -0800 Subject: [PATCH 072/244] Always pre-copy the source stream into an in-memory stream so that the subsequent image loading operations can safely use synchronous IO --- src/ImageSharp/Image.FromStream.cs | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/src/ImageSharp/Image.FromStream.cs b/src/ImageSharp/Image.FromStream.cs index f5e32d8ce..43f4449c5 100644 --- a/src/ImageSharp/Image.FromStream.cs +++ b/src/ImageSharp/Image.FromStream.cs @@ -770,20 +770,6 @@ namespace SixLabors.ImageSharp throw new NotSupportedException("Cannot read from the stream."); } - // To make sure we don't trigger anything with aspnetcore then we just need to make sure we are - // seekable and we make the copy using CopyToAsync if the stream is seekable then we aren't using - // one of the aspnetcore wrapped streams that error on sync api calls and we can use it without - // having to further wrap - if (stream.CanSeek) - { - if (configuration.ReadOrigin == ReadOrigin.Begin) - { - stream.Position = 0; - } - - return await action(stream, cancellationToken).ConfigureAwait(false); - } - using var memoryStream = new ChunkedMemoryStream(configuration.MemoryAllocator); await stream.CopyToAsync(memoryStream, configuration.StreamProcessingBufferSize, cancellationToken).ConfigureAwait(false); memoryStream.Position = 0; From 9ffcc51ed6b72f557d804f6393b0a610c673c703 Mon Sep 17 00:00:00 2001 From: Anton Firszov Date: Tue, 15 Feb 2022 02:19:35 +0100 Subject: [PATCH 073/244] Respect PreferContiguousImageBuffers in decoders --- .../Decoder/SpectralConverter{TPixel}.cs | 5 ++- src/ImageSharp/Image.Decode.cs | 6 ++- .../Image/LargeImageIntegrationTests.cs | 37 ++++++++++++++++++- 3 files changed, 44 insertions(+), 4 deletions(-) diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/SpectralConverter{TPixel}.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/SpectralConverter{TPixel}.cs index 40411ef28..430adeb21 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/SpectralConverter{TPixel}.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/SpectralConverter{TPixel}.cs @@ -111,7 +111,10 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder this.pixelRowsPerStep = majorVerticalSamplingFactor * blockPixelHeight; // pixel buffer for resulting image - this.pixelBuffer = allocator.Allocate2D(frame.PixelWidth, frame.PixelHeight); + this.pixelBuffer = allocator.Allocate2D( + frame.PixelWidth, + frame.PixelHeight, + this.configuration.PreferContiguousImageBuffers); this.paddedProxyPixelRow = allocator.Allocate(frame.PixelWidth + 3); // component processors from spectral to Rgba32 diff --git a/src/ImageSharp/Image.Decode.cs b/src/ImageSharp/Image.Decode.cs index ee340bf86..c892b82ba 100644 --- a/src/ImageSharp/Image.Decode.cs +++ b/src/ImageSharp/Image.Decode.cs @@ -37,8 +37,10 @@ namespace SixLabors.ImageSharp ImageMetadata metadata) where TPixel : unmanaged, IPixel { - Buffer2D uninitializedMemoryBuffer = - configuration.MemoryAllocator.Allocate2D(width, height); + Buffer2D uninitializedMemoryBuffer = configuration.MemoryAllocator.Allocate2D( + width, + height, + configuration.PreferContiguousImageBuffers); return new Image(configuration, uninitializedMemoryBuffer.FastMemoryGroup, width, height, metadata); } diff --git a/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs b/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs index b2ee9d673..00714c816 100644 --- a/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs +++ b/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs @@ -2,7 +2,10 @@ // Licensed under the Apache License, Version 2.0. using System; +using System.IO; using Microsoft.DotNet.RemoteExecutor; +using SixLabors.ImageSharp.Advanced; +using SixLabors.ImageSharp.Formats; using SixLabors.ImageSharp.Memory; using SixLabors.ImageSharp.PixelFormats; using SixLabors.ImageSharp.Processing; @@ -32,12 +35,44 @@ namespace SixLabors.ImageSharp.Tests Configuration configuration = Configuration.Default.Clone(); configuration.PreferContiguousImageBuffers = true; - using var image = new Image(configuration, 8192, 4096); + using var image = new Image(configuration, 2048, 2048); Assert.True(image.DangerousTryGetSinglePixelMemory(out Memory mem)); Assert.Equal(8192 * 4096, mem.Length); } } + [Theory] + [InlineData("bmp")] + [InlineData("png")] + [InlineData("jpeg")] + [InlineData("gif")] + [InlineData("tiff")] + [InlineData("webp")] + public void PreferContiguousImageBuffers_LoadImage_BufferIsContiguous(string formatOuter) + { + // Run remotely to avoid large allocation in the test process: + // RemoteExecutor.Invoke(RunTest).Dispose(); + RunTest(formatOuter); + + static void RunTest(string formatInner) + { + Configuration configuration = Configuration.Default.Clone(); + configuration.PreferContiguousImageBuffers = true; + IImageEncoder encoder = configuration.ImageFormatsManager.FindEncoder( + configuration.ImageFormatsManager.FindFormatByFileExtension(formatInner)); + string dir = TestEnvironment.CreateOutputDirectory(".Temp"); + string path = Path.Combine(dir, $"{Guid.NewGuid().ToString()}.{formatInner}"); + using (Image temp = new(2048, 2048)) + { + temp.Save(path, encoder); + } + + using var image = Image.Load(configuration, path); + File.Delete(path); + Assert.Equal(1, image.GetPixelMemoryGroup().Count); + } + } + [Theory] [WithBasicTestPatternImages(width: 10, height: 10, PixelTypes.Rgba32)] public void DangerousTryGetSinglePixelMemory_WhenImageTooLarge_ReturnsFalse(TestImageProvider provider) From 1e410719c0b095de8361183184af043529f2384c Mon Sep 17 00:00:00 2001 From: Anton Firszov Date: Tue, 15 Feb 2022 02:22:25 +0100 Subject: [PATCH 074/244] fix test --- tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs b/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs index 00714c816..f44f124b0 100644 --- a/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs +++ b/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs @@ -51,8 +51,7 @@ namespace SixLabors.ImageSharp.Tests public void PreferContiguousImageBuffers_LoadImage_BufferIsContiguous(string formatOuter) { // Run remotely to avoid large allocation in the test process: - // RemoteExecutor.Invoke(RunTest).Dispose(); - RunTest(formatOuter); + RemoteExecutor.Invoke(RunTest, formatOuter).Dispose(); static void RunTest(string formatInner) { From f387d4a1615d9a4eef11b9b5d49380c4091803e2 Mon Sep 17 00:00:00 2001 From: Anton Firszov Date: Tue, 15 Feb 2022 03:34:35 +0100 Subject: [PATCH 075/244] Fix test --- tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs b/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs index f44f124b0..357d02be4 100644 --- a/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs +++ b/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs @@ -37,7 +37,7 @@ namespace SixLabors.ImageSharp.Tests using var image = new Image(configuration, 2048, 2048); Assert.True(image.DangerousTryGetSinglePixelMemory(out Memory mem)); - Assert.Equal(8192 * 4096, mem.Length); + Assert.Equal(2048 * 2048, mem.Length); } } From 3ea84859896a45d85a633163e9a350ed95006ac6 Mon Sep 17 00:00:00 2001 From: Dmitry Pentin Date: Tue, 15 Feb 2022 06:42:52 +0300 Subject: [PATCH 076/244] Removed redundant CommitConversion() call --- .../Components/Decoder/HuffmanScanDecoder.cs | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanScanDecoder.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanScanDecoder.cs index cf2fd0290..e1faf93f4 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanScanDecoder.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanScanDecoder.cs @@ -31,7 +31,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder /// /// Number of component in the current scan. /// - private int componentsCount; + private int scanComponentCount; /// /// The reset interval determined by RST markers. @@ -112,11 +112,12 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder /// /// Decodes the entropy coded data. /// - public void ParseEntropyCodedData(int componentCount) + /// Component count in the current scan. + public void ParseEntropyCodedData(int scanComponentCount) { this.cancellationToken.ThrowIfCancellationRequested(); - this.componentsCount = componentCount; + this.scanComponentCount = scanComponentCount; this.scanBuffer = new HuffmanScanBuffer(this.stream); @@ -148,7 +149,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder private void ParseBaselineData() { - if (this.componentsCount != 1) + if (this.scanComponentCount != 1) { this.ParseBaselineDataInterleaved(); this.spectralConverter.CommitConversion(); @@ -180,7 +181,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder { // Scan an interleaved mcu... process components in order int mcuCol = mcu % mcusPerLine; - for (int k = 0; k < this.componentsCount; k++) + for (int k = 0; k < this.scanComponentCount; k++) { int order = this.frame.ComponentOrder[k]; JpegComponent component = this.components[order]; @@ -228,9 +229,6 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder // Convert from spectral to actual pixels via given converter this.spectralConverter.ConvertStrideBaseline(); } - - // Stride conversion must be sealed for stride conversion approach - this.spectralConverter.CommitConversion(); } private void ParseBaselineDataNonInterleaved() @@ -336,7 +334,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder } // AC scans may have only one component. - if (this.componentsCount != 1) + if (this.scanComponentCount != 1) { invalid = true; } @@ -368,7 +366,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder { this.CheckProgressiveData(); - if (this.componentsCount == 1) + if (this.scanComponentCount == 1) { this.ParseProgressiveDataNonInterleaved(); } @@ -393,7 +391,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder // Scan an interleaved mcu... process components in order int mcuRow = mcu / mcusPerLine; int mcuCol = mcu % mcusPerLine; - for (int k = 0; k < this.componentsCount; k++) + for (int k = 0; k < this.scanComponentCount; k++) { int order = this.frame.ComponentOrder[k]; JpegComponent component = this.components[order]; From 3a11b2f3820bc862dbdf55beeae5432e9a5b7ccd Mon Sep 17 00:00:00 2001 From: Dan Kroymann Date: Tue, 15 Feb 2022 18:30:02 -0800 Subject: [PATCH 077/244] Plumb CancellationToken through IImageDecoder and IImageInfoDetector methods --- src/ImageSharp/Formats/Bmp/BmpDecoder.cs | 12 +++--- src/ImageSharp/Formats/Gif/GifDecoder.cs | 12 +++--- src/ImageSharp/Formats/IImageDecoder.cs | 6 ++- src/ImageSharp/Formats/IImageInfoDetector.cs | 3 +- .../Formats/ImageDecoderUtilities.cs | 18 ++++++--- src/ImageSharp/Formats/Jpeg/JpegDecoder.cs | 12 +++--- src/ImageSharp/Formats/Pbm/PbmDecoder.cs | 12 +++--- src/ImageSharp/Formats/Png/PngDecoder.cs | 40 +++++++++---------- src/ImageSharp/Formats/Tga/TgaDecoder.cs | 12 +++--- src/ImageSharp/Formats/Tiff/TiffDecoder.cs | 10 ++--- src/ImageSharp/Formats/Webp/WebpDecoder.cs | 10 ++--- src/ImageSharp/Image.Decode.cs | 14 ++++--- .../Image/ImageTests.ImageLoadTestBase.cs | 6 +-- ...d_FileSystemPath_PassLocalConfiguration.cs | 4 +- ....Load_FromStream_PassLocalConfiguration.cs | 4 +- tests/ImageSharp.Tests/TestFormat.cs | 10 ++--- .../ReferenceCodecs/MagickReferenceDecoder.cs | 6 +-- .../SystemDrawingReferenceDecoder.cs | 10 ++--- .../Tests/TestImageProviderTests.cs | 8 ++-- 19 files changed, 110 insertions(+), 99 deletions(-) diff --git a/src/ImageSharp/Formats/Bmp/BmpDecoder.cs b/src/ImageSharp/Formats/Bmp/BmpDecoder.cs index 129b3a1aa..1417909b4 100644 --- a/src/ImageSharp/Formats/Bmp/BmpDecoder.cs +++ b/src/ImageSharp/Formats/Bmp/BmpDecoder.cs @@ -31,18 +31,18 @@ namespace SixLabors.ImageSharp.Formats.Bmp public RleSkippedPixelHandling RleSkippedPixelHandling { get; set; } = RleSkippedPixelHandling.Black; /// - public Image Decode(Configuration configuration, Stream stream) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) where TPixel : unmanaged, IPixel { Guard.NotNull(stream, nameof(stream)); var decoder = new BmpDecoderCore(configuration, this); - return decoder.Decode(configuration, stream); + return decoder.Decode(configuration, stream, cancellationToken); } /// - public Image Decode(Configuration configuration, Stream stream) - => this.Decode(configuration, stream); + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + => this.Decode(configuration, stream, cancellationToken); /// public Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) @@ -60,11 +60,11 @@ namespace SixLabors.ImageSharp.Formats.Bmp .ConfigureAwait(false); /// - public IImageInfo Identify(Configuration configuration, Stream stream) + public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) { Guard.NotNull(stream, nameof(stream)); - return new BmpDecoderCore(configuration, this).Identify(configuration, stream); + return new BmpDecoderCore(configuration, this).Identify(configuration, stream, cancellationToken); } /// diff --git a/src/ImageSharp/Formats/Gif/GifDecoder.cs b/src/ImageSharp/Formats/Gif/GifDecoder.cs index 196d77ad7..e00c272e1 100644 --- a/src/ImageSharp/Formats/Gif/GifDecoder.cs +++ b/src/ImageSharp/Formats/Gif/GifDecoder.cs @@ -27,16 +27,16 @@ namespace SixLabors.ImageSharp.Formats.Gif public FrameDecodingMode DecodingMode { get; set; } = FrameDecodingMode.All; /// - public Image Decode(Configuration configuration, Stream stream) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) where TPixel : unmanaged, IPixel { var decoder = new GifDecoderCore(configuration, this); - return decoder.Decode(configuration, stream); + return decoder.Decode(configuration, stream, cancellationToken); } /// - public Image Decode(Configuration configuration, Stream stream) - => this.Decode(configuration, stream); + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + => this.Decode(configuration, stream, cancellationToken); /// public Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) @@ -52,14 +52,14 @@ namespace SixLabors.ImageSharp.Formats.Gif .ConfigureAwait(false); /// - public IImageInfo Identify(Configuration configuration, Stream stream) + public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) { Guard.NotNull(stream, nameof(stream)); var decoder = new GifDecoderCore(configuration, this); using var bufferedStream = new BufferedReadStream(configuration, stream); - return decoder.Identify(bufferedStream, default); + return decoder.Identify(bufferedStream, cancellationToken); } /// diff --git a/src/ImageSharp/Formats/IImageDecoder.cs b/src/ImageSharp/Formats/IImageDecoder.cs index b55f1119b..1e673b30c 100644 --- a/src/ImageSharp/Formats/IImageDecoder.cs +++ b/src/ImageSharp/Formats/IImageDecoder.cs @@ -19,9 +19,10 @@ namespace SixLabors.ImageSharp.Formats /// The pixel format. /// The configuration for the image. /// The containing image data. + /// The token to monitor for cancellation requests. /// The . // TODO: Document ImageFormatExceptions (https://github.com/SixLabors/ImageSharp/issues/1110) - Image Decode(Configuration configuration, Stream stream) + Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) where TPixel : unmanaged, IPixel; /// @@ -29,9 +30,10 @@ namespace SixLabors.ImageSharp.Formats /// /// The configuration for the image. /// The containing image data. + /// The token to monitor for cancellation requests. /// The . // TODO: Document ImageFormatExceptions (https://github.com/SixLabors/ImageSharp/issues/1110) - Image Decode(Configuration configuration, Stream stream); + Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default); /// /// Decodes the image from the specified stream to an of a specific pixel type. diff --git a/src/ImageSharp/Formats/IImageInfoDetector.cs b/src/ImageSharp/Formats/IImageInfoDetector.cs index 6f5fc2333..920e31374 100644 --- a/src/ImageSharp/Formats/IImageInfoDetector.cs +++ b/src/ImageSharp/Formats/IImageInfoDetector.cs @@ -17,8 +17,9 @@ namespace SixLabors.ImageSharp.Formats /// /// The configuration for the image. /// The containing image data. + /// The token to monitor for cancellation requests. /// The object - IImageInfo Identify(Configuration configuration, Stream stream); + IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default); /// /// Reads the raw image information from the specified stream. diff --git a/src/ImageSharp/Formats/ImageDecoderUtilities.cs b/src/ImageSharp/Formats/ImageDecoderUtilities.cs index 5d77fb0c8..13363fb64 100644 --- a/src/ImageSharp/Formats/ImageDecoderUtilities.cs +++ b/src/ImageSharp/Formats/ImageDecoderUtilities.cs @@ -130,13 +130,14 @@ namespace SixLabors.ImageSharp.Formats public static IImageInfo Identify( this IImageDecoderInternals decoder, Configuration configuration, - Stream stream) + Stream stream, + CancellationToken cancellationToken = default) { using var bufferedReadStream = new BufferedReadStream(configuration, stream); try { - return decoder.Identify(bufferedReadStream, default); + return decoder.Identify(bufferedReadStream, cancellationToken); } catch (InvalidMemoryOperationException ex) { @@ -144,22 +145,27 @@ namespace SixLabors.ImageSharp.Formats } } - public static Image Decode(this IImageDecoderInternals decoder, Configuration configuration, Stream stream) + public static Image Decode( + this IImageDecoderInternals decoder, + Configuration configuration, + Stream stream, + CancellationToken cancellationToken = default) where TPixel : unmanaged, IPixel - => decoder.Decode(configuration, stream, DefaultLargeImageExceptionFactory); + => decoder.Decode(configuration, stream, DefaultLargeImageExceptionFactory, cancellationToken); public static Image Decode( this IImageDecoderInternals decoder, Configuration configuration, Stream stream, - Func largeImageExceptionFactory) + Func largeImageExceptionFactory, + CancellationToken cancellationToken = default) where TPixel : unmanaged, IPixel { using var bufferedReadStream = new BufferedReadStream(configuration, stream); try { - return decoder.Decode(bufferedReadStream, default); + return decoder.Decode(bufferedReadStream, cancellationToken); } catch (InvalidMemoryOperationException ex) { diff --git a/src/ImageSharp/Formats/Jpeg/JpegDecoder.cs b/src/ImageSharp/Formats/Jpeg/JpegDecoder.cs index 18212ffc7..37b8fdd1f 100644 --- a/src/ImageSharp/Formats/Jpeg/JpegDecoder.cs +++ b/src/ImageSharp/Formats/Jpeg/JpegDecoder.cs @@ -17,18 +17,18 @@ namespace SixLabors.ImageSharp.Formats.Jpeg public bool IgnoreMetadata { get; set; } /// - public Image Decode(Configuration configuration, Stream stream) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) where TPixel : unmanaged, IPixel { Guard.NotNull(stream, nameof(stream)); using var decoder = new JpegDecoderCore(configuration, this); - return decoder.Decode(configuration, stream); + return decoder.Decode(configuration, stream, cancellationToken); } /// - public Image Decode(Configuration configuration, Stream stream) - => this.Decode(configuration, stream); + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + => this.Decode(configuration, stream, cancellationToken); /// public Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) @@ -46,12 +46,12 @@ namespace SixLabors.ImageSharp.Formats.Jpeg .ConfigureAwait(false); /// - public IImageInfo Identify(Configuration configuration, Stream stream) + public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) { Guard.NotNull(stream, nameof(stream)); using var decoder = new JpegDecoderCore(configuration, this); - return decoder.Identify(configuration, stream); + return decoder.Identify(configuration, stream, cancellationToken); } /// diff --git a/src/ImageSharp/Formats/Pbm/PbmDecoder.cs b/src/ImageSharp/Formats/Pbm/PbmDecoder.cs index 2eebbb1d9..f227726d1 100644 --- a/src/ImageSharp/Formats/Pbm/PbmDecoder.cs +++ b/src/ImageSharp/Formats/Pbm/PbmDecoder.cs @@ -30,18 +30,18 @@ namespace SixLabors.ImageSharp.Formats.Pbm public sealed class PbmDecoder : IImageDecoder, IImageInfoDetector { /// - public Image Decode(Configuration configuration, Stream stream) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) where TPixel : unmanaged, IPixel { Guard.NotNull(stream, nameof(stream)); var decoder = new PbmDecoderCore(configuration); - return decoder.Decode(configuration, stream); + return decoder.Decode(configuration, stream, cancellationToken); } /// - public Image Decode(Configuration configuration, Stream stream) - => this.Decode(configuration, stream); + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + => this.Decode(configuration, stream, cancellationToken); /// public Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) @@ -59,12 +59,12 @@ namespace SixLabors.ImageSharp.Formats.Pbm .ConfigureAwait(false); /// - public IImageInfo Identify(Configuration configuration, Stream stream) + public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) { Guard.NotNull(stream, nameof(stream)); var decoder = new PbmDecoderCore(configuration); - return decoder.Identify(configuration, stream); + return decoder.Identify(configuration, stream, cancellationToken); } /// diff --git a/src/ImageSharp/Formats/Png/PngDecoder.cs b/src/ImageSharp/Formats/Png/PngDecoder.cs index 04e70c51d..b0764e040 100644 --- a/src/ImageSharp/Formats/Png/PngDecoder.cs +++ b/src/ImageSharp/Formats/Png/PngDecoder.cs @@ -17,18 +17,18 @@ namespace SixLabors.ImageSharp.Formats.Png public bool IgnoreMetadata { get; set; } /// - public Image Decode(Configuration configuration, Stream stream) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) where TPixel : unmanaged, IPixel { PngDecoderCore decoder = new(configuration, this); - return decoder.Decode(configuration, stream); + return decoder.Decode(configuration, stream, cancellationToken); } /// - public Image Decode(Configuration configuration, Stream stream) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) { PngDecoderCore decoder = new(configuration, true); - IImageInfo info = decoder.Identify(configuration, stream); + IImageInfo info = decoder.Identify(configuration, stream, cancellationToken); stream.Position = 0; PngMetadata meta = info.Metadata.GetPngMetadata(); @@ -40,41 +40,41 @@ namespace SixLabors.ImageSharp.Formats.Png if (bits == PngBitDepth.Bit16) { return !meta.HasTransparency - ? this.Decode(configuration, stream) - : this.Decode(configuration, stream); + ? this.Decode(configuration, stream, cancellationToken) + : this.Decode(configuration, stream, cancellationToken); } return !meta.HasTransparency - ? this.Decode(configuration, stream) - : this.Decode(configuration, stream); + ? this.Decode(configuration, stream, cancellationToken) + : this.Decode(configuration, stream, cancellationToken); case PngColorType.Rgb: if (bits == PngBitDepth.Bit16) { return !meta.HasTransparency - ? this.Decode(configuration, stream) - : this.Decode(configuration, stream); + ? this.Decode(configuration, stream, cancellationToken) + : this.Decode(configuration, stream, cancellationToken); } return !meta.HasTransparency - ? this.Decode(configuration, stream) - : this.Decode(configuration, stream); + ? this.Decode(configuration, stream, cancellationToken) + : this.Decode(configuration, stream, cancellationToken); case PngColorType.Palette: - return this.Decode(configuration, stream); + return this.Decode(configuration, stream, cancellationToken); case PngColorType.GrayscaleWithAlpha: return (bits == PngBitDepth.Bit16) - ? this.Decode(configuration, stream) - : this.Decode(configuration, stream); + ? this.Decode(configuration, stream, cancellationToken) + : this.Decode(configuration, stream, cancellationToken); case PngColorType.RgbWithAlpha: return (bits == PngBitDepth.Bit16) - ? this.Decode(configuration, stream) - : this.Decode(configuration, stream); + ? this.Decode(configuration, stream, cancellationToken) + : this.Decode(configuration, stream, cancellationToken); default: - return this.Decode(configuration, stream); + return this.Decode(configuration, stream, cancellationToken); } } @@ -141,10 +141,10 @@ namespace SixLabors.ImageSharp.Formats.Png } /// - public IImageInfo Identify(Configuration configuration, Stream stream) + public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) { PngDecoderCore decoder = new(configuration, this); - return decoder.Identify(configuration, stream); + return decoder.Identify(configuration, stream, cancellationToken); } /// diff --git a/src/ImageSharp/Formats/Tga/TgaDecoder.cs b/src/ImageSharp/Formats/Tga/TgaDecoder.cs index e06a0ee88..675faac61 100644 --- a/src/ImageSharp/Formats/Tga/TgaDecoder.cs +++ b/src/ImageSharp/Formats/Tga/TgaDecoder.cs @@ -16,18 +16,18 @@ namespace SixLabors.ImageSharp.Formats.Tga public sealed class TgaDecoder : IImageDecoder, ITgaDecoderOptions, IImageInfoDetector { /// - public Image Decode(Configuration configuration, Stream stream) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) where TPixel : unmanaged, IPixel { Guard.NotNull(stream, nameof(stream)); var decoder = new TgaDecoderCore(configuration, this); - return decoder.Decode(configuration, stream); + return decoder.Decode(configuration, stream, cancellationToken); } /// - public Image Decode(Configuration configuration, Stream stream) - => this.Decode(configuration, stream); + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + => this.Decode(configuration, stream, cancellationToken); /// public Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) @@ -45,11 +45,11 @@ namespace SixLabors.ImageSharp.Formats.Tga .ConfigureAwait(false); /// - public IImageInfo Identify(Configuration configuration, Stream stream) + public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) { Guard.NotNull(stream, nameof(stream)); - return new TgaDecoderCore(configuration, this).Identify(configuration, stream); + return new TgaDecoderCore(configuration, this).Identify(configuration, stream, cancellationToken); } /// diff --git a/src/ImageSharp/Formats/Tiff/TiffDecoder.cs b/src/ImageSharp/Formats/Tiff/TiffDecoder.cs index 9d52e34df..75485e400 100644 --- a/src/ImageSharp/Formats/Tiff/TiffDecoder.cs +++ b/src/ImageSharp/Formats/Tiff/TiffDecoder.cs @@ -19,17 +19,17 @@ namespace SixLabors.ImageSharp.Formats.Tiff public bool IgnoreMetadata { get; set; } /// - public Image Decode(Configuration configuration, Stream stream) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) where TPixel : unmanaged, IPixel { Guard.NotNull(stream, "stream"); var decoder = new TiffDecoderCore(configuration, this); - return decoder.Decode(configuration, stream); + return decoder.Decode(configuration, stream, cancellationToken); } /// - public Image Decode(Configuration configuration, Stream stream) => this.Decode(configuration, stream); + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) => this.Decode(configuration, stream, cancellationToken); /// public Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) @@ -47,12 +47,12 @@ namespace SixLabors.ImageSharp.Formats.Tiff .ConfigureAwait(false); /// - public IImageInfo Identify(Configuration configuration, Stream stream) + public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) { Guard.NotNull(stream, nameof(stream)); var decoder = new TiffDecoderCore(configuration, this); - return decoder.Identify(configuration, stream); + return decoder.Identify(configuration, stream, cancellationToken); } /// diff --git a/src/ImageSharp/Formats/Webp/WebpDecoder.cs b/src/ImageSharp/Formats/Webp/WebpDecoder.cs index b4e6cecd0..63b0fa505 100644 --- a/src/ImageSharp/Formats/Webp/WebpDecoder.cs +++ b/src/ImageSharp/Formats/Webp/WebpDecoder.cs @@ -21,7 +21,7 @@ namespace SixLabors.ImageSharp.Formats.Webp public bool IgnoreMetadata { get; set; } /// - public Image Decode(Configuration configuration, Stream stream) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) where TPixel : unmanaged, IPixel { Guard.NotNull(stream, nameof(stream)); @@ -30,7 +30,7 @@ namespace SixLabors.ImageSharp.Formats.Webp try { - return decoder.Decode(configuration, stream); + return decoder.Decode(configuration, stream, cancellationToken); } catch (InvalidMemoryOperationException ex) { @@ -41,15 +41,15 @@ namespace SixLabors.ImageSharp.Formats.Webp } /// - public IImageInfo Identify(Configuration configuration, Stream stream) + public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) { Guard.NotNull(stream, nameof(stream)); - return new WebpDecoderCore(configuration, this).Identify(configuration, stream); + return new WebpDecoderCore(configuration, this).Identify(configuration, stream, cancellationToken); } /// - public Image Decode(Configuration configuration, Stream stream) => this.Decode(configuration, stream); + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) => this.Decode(configuration, stream, cancellationToken); /// public Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) diff --git a/src/ImageSharp/Image.Decode.cs b/src/ImageSharp/Image.Decode.cs index ee340bf86..75dbd6c5c 100644 --- a/src/ImageSharp/Image.Decode.cs +++ b/src/ImageSharp/Image.Decode.cs @@ -148,11 +148,12 @@ namespace SixLabors.ImageSharp /// /// The stream. /// the configuration. + /// The token to monitor for cancellation requests. /// The pixel format. /// /// A new . /// - private static (Image Image, IImageFormat Format) Decode(Stream stream, Configuration config) + private static (Image Image, IImageFormat Format) Decode(Stream stream, Configuration config, CancellationToken cancellationToken = default) where TPixel : unmanaged, IPixel { IImageDecoder decoder = DiscoverDecoder(stream, config, out IImageFormat format); @@ -161,7 +162,7 @@ namespace SixLabors.ImageSharp return (null, null); } - Image img = decoder.Decode(config, stream); + Image img = decoder.Decode(config, stream, cancellationToken); return (img, format); } @@ -191,7 +192,7 @@ namespace SixLabors.ImageSharp return (img, format); } - private static (Image Image, IImageFormat Format) Decode(Stream stream, Configuration config) + private static (Image Image, IImageFormat Format) Decode(Stream stream, Configuration config, CancellationToken cancellationToken = default) { IImageDecoder decoder = DiscoverDecoder(stream, config, out IImageFormat format); if (decoder is null) @@ -199,7 +200,7 @@ namespace SixLabors.ImageSharp return (null, null); } - Image img = decoder.Decode(config, stream); + Image img = decoder.Decode(config, stream, cancellationToken); return (img, format); } @@ -220,10 +221,11 @@ namespace SixLabors.ImageSharp /// /// The stream. /// the configuration. + /// The token to monitor for cancellation requests. /// /// The or null if a suitable info detector is not found. /// - private static (IImageInfo ImageInfo, IImageFormat Format) InternalIdentity(Stream stream, Configuration config) + private static (IImageInfo ImageInfo, IImageFormat Format) InternalIdentity(Stream stream, Configuration config, CancellationToken cancellationToken = default) { IImageDecoder decoder = DiscoverDecoder(stream, config, out IImageFormat format); @@ -232,7 +234,7 @@ namespace SixLabors.ImageSharp return (null, null); } - IImageInfo info = detector?.Identify(config, stream); + IImageInfo info = detector?.Identify(config, stream, cancellationToken); return (info, format); } diff --git a/tests/ImageSharp.Tests/Image/ImageTests.ImageLoadTestBase.cs b/tests/ImageSharp.Tests/Image/ImageTests.ImageLoadTestBase.cs index 44d7daa74..8c4c425b4 100644 --- a/tests/ImageSharp.Tests/Image/ImageTests.ImageLoadTestBase.cs +++ b/tests/ImageSharp.Tests/Image/ImageTests.ImageLoadTestBase.cs @@ -63,11 +63,11 @@ namespace SixLabors.ImageSharp.Tests this.localImageFormatMock = new Mock(); var detector = new Mock(); - detector.Setup(x => x.Identify(It.IsAny(), It.IsAny())).Returns(this.localImageInfoMock.Object); + detector.Setup(x => x.Identify(It.IsAny(), It.IsAny(), It.IsAny())).Returns(this.localImageInfoMock.Object); detector.Setup(x => x.IdentifyAsync(It.IsAny(), It.IsAny(), It.IsAny())).ReturnsAsync(this.localImageInfoMock.Object); this.localDecoder = detector.As(); - this.localDecoder.Setup(x => x.Decode(It.IsAny(), It.IsAny())) + this.localDecoder.Setup(x => x.Decode(It.IsAny(), It.IsAny(), It.IsAny())) .Callback((c, s) => { using (var ms = new MemoryStream()) @@ -78,7 +78,7 @@ namespace SixLabors.ImageSharp.Tests }) .Returns(this.localStreamReturnImageRgba32); - this.localDecoder.Setup(x => x.Decode(It.IsAny(), It.IsAny())) + this.localDecoder.Setup(x => x.Decode(It.IsAny(), It.IsAny(), It.IsAny())) .Callback((c, s) => { using (var ms = new MemoryStream()) diff --git a/tests/ImageSharp.Tests/Image/ImageTests.Load_FileSystemPath_PassLocalConfiguration.cs b/tests/ImageSharp.Tests/Image/ImageTests.Load_FileSystemPath_PassLocalConfiguration.cs index 72477a832..0d5eead4b 100644 --- a/tests/ImageSharp.Tests/Image/ImageTests.Load_FileSystemPath_PassLocalConfiguration.cs +++ b/tests/ImageSharp.Tests/Image/ImageTests.Load_FileSystemPath_PassLocalConfiguration.cs @@ -41,7 +41,7 @@ namespace SixLabors.ImageSharp.Tests var img = Image.Load(this.TopLevelConfiguration, this.MockFilePath, this.localDecoder.Object); Assert.NotNull(img); - this.localDecoder.Verify(x => x.Decode(this.TopLevelConfiguration, this.DataStream)); + this.localDecoder.Verify(x => x.Decode(this.TopLevelConfiguration, this.DataStream, default)); } [Fact] @@ -50,7 +50,7 @@ namespace SixLabors.ImageSharp.Tests var img = Image.Load(this.TopLevelConfiguration, this.MockFilePath, this.localDecoder.Object); Assert.NotNull(img); - this.localDecoder.Verify(x => x.Decode(this.TopLevelConfiguration, this.DataStream)); + this.localDecoder.Verify(x => x.Decode(this.TopLevelConfiguration, this.DataStream, default)); } [Fact] diff --git a/tests/ImageSharp.Tests/Image/ImageTests.Load_FromStream_PassLocalConfiguration.cs b/tests/ImageSharp.Tests/Image/ImageTests.Load_FromStream_PassLocalConfiguration.cs index 17b557f83..b08a82523 100644 --- a/tests/ImageSharp.Tests/Image/ImageTests.Load_FromStream_PassLocalConfiguration.cs +++ b/tests/ImageSharp.Tests/Image/ImageTests.Load_FromStream_PassLocalConfiguration.cs @@ -65,7 +65,7 @@ namespace SixLabors.ImageSharp.Tests var img = Image.Load(this.TopLevelConfiguration, stream, this.localDecoder.Object); Assert.NotNull(img); - this.localDecoder.Verify(x => x.Decode(this.TopLevelConfiguration, stream)); + this.localDecoder.Verify(x => x.Decode(this.TopLevelConfiguration, stream, default)); } [Fact] @@ -75,7 +75,7 @@ namespace SixLabors.ImageSharp.Tests var img = Image.Load(this.TopLevelConfiguration, stream, this.localDecoder.Object); Assert.NotNull(img); - this.localDecoder.Verify(x => x.Decode(this.TopLevelConfiguration, stream)); + this.localDecoder.Verify(x => x.Decode(this.TopLevelConfiguration, stream, default)); } [Fact] diff --git a/tests/ImageSharp.Tests/TestFormat.cs b/tests/ImageSharp.Tests/TestFormat.cs index 6c2b97eb6..c879e66da 100644 --- a/tests/ImageSharp.Tests/TestFormat.cs +++ b/tests/ImageSharp.Tests/TestFormat.cs @@ -212,9 +212,9 @@ namespace SixLabors.ImageSharp.Tests public int HeaderSize => this.testFormat.HeaderSize; - public Image Decode(Configuration configuration, Stream stream) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) where TPixel : unmanaged, IPixel - => this.DecodeImpl(configuration, stream, default).GetAwaiter().GetResult(); + => this.DecodeImpl(configuration, stream, cancellationToken).GetAwaiter().GetResult(); public Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) where TPixel : unmanaged, IPixel @@ -239,13 +239,13 @@ namespace SixLabors.ImageSharp.Tests public bool IsSupportedFileFormat(Span header) => this.testFormat.IsSupportedFileFormat(header); - public Image Decode(Configuration configuration, Stream stream) => this.Decode(configuration, stream); + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) => this.Decode(configuration, stream, cancellationToken); public async Task DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) => await this.DecodeAsync(configuration, stream, cancellationToken); - public IImageInfo Identify(Configuration configuration, Stream stream) => - this.IdentifyAsync(configuration, stream, default).GetAwaiter().GetResult(); + public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken) => + this.IdentifyAsync(configuration, stream, cancellationToken).GetAwaiter().GetResult(); public async Task IdentifyAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) => await this.DecodeImpl(configuration, stream, cancellationToken); diff --git a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs index f0834dc00..2d1c616c8 100644 --- a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs +++ b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs @@ -61,9 +61,9 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.ReferenceCodecs public Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) where TPixel : unmanaged, ImageSharp.PixelFormats.IPixel - => Task.FromResult(this.Decode(configuration, stream)); + => Task.FromResult(this.Decode(configuration, stream, cancellationToken)); - public Image Decode(Configuration configuration, Stream stream) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) where TPixel : unmanaged, ImageSharp.PixelFormats.IPixel { var bmpReadDefines = new BmpReadDefines @@ -105,7 +105,7 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.ReferenceCodecs return new Image(configuration, new ImageMetadata(), framesList); } - public Image Decode(Configuration configuration, Stream stream) => this.Decode(configuration, stream); + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) => this.Decode(configuration, stream, cancellationToken); public async Task DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) => await this.DecodeAsync(configuration, stream, cancellationToken); diff --git a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingReferenceDecoder.cs b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingReferenceDecoder.cs index 1eb1328ef..3bc6fef29 100644 --- a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingReferenceDecoder.cs +++ b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingReferenceDecoder.cs @@ -17,9 +17,9 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.ReferenceCodecs public Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) where TPixel : unmanaged, IPixel - => Task.FromResult(this.Decode(configuration, stream)); + => Task.FromResult(this.Decode(configuration, stream, cancellationToken)); - public Image Decode(Configuration configuration, Stream stream) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) where TPixel : unmanaged, IPixel { using (var sourceBitmap = new System.Drawing.Bitmap(stream)) @@ -50,9 +50,9 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.ReferenceCodecs } public Task IdentifyAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - => Task.FromResult(this.Identify(configuration, stream)); + => Task.FromResult(this.Identify(configuration, stream, cancellationToken)); - public IImageInfo Identify(Configuration configuration, Stream stream) + public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken) { using (var sourceBitmap = new System.Drawing.Bitmap(stream)) { @@ -61,7 +61,7 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.ReferenceCodecs } } - public Image Decode(Configuration configuration, Stream stream) => this.Decode(configuration, stream); + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) => this.Decode(configuration, stream, cancellationToken); public async Task DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) => await this.DecodeAsync(configuration, stream, cancellationToken); diff --git a/tests/ImageSharp.Tests/TestUtilities/Tests/TestImageProviderTests.cs b/tests/ImageSharp.Tests/TestUtilities/Tests/TestImageProviderTests.cs index 129d17f4d..0ed57994d 100644 --- a/tests/ImageSharp.Tests/TestUtilities/Tests/TestImageProviderTests.cs +++ b/tests/ImageSharp.Tests/TestUtilities/Tests/TestImageProviderTests.cs @@ -365,7 +365,7 @@ namespace SixLabors.ImageSharp.Tests } } - public Image Decode(Configuration configuration, Stream stream) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) where TPixel : unmanaged, IPixel { InvocationCounts[this.callerName]++; @@ -390,7 +390,7 @@ namespace SixLabors.ImageSharp.Tests InvocationCountsAsync[name] = 0; } - public Image Decode(Configuration configuration, Stream stream) => this.Decode(configuration, stream); + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) => this.Decode(configuration, stream, cancellationToken); public async Task DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) => await this.DecodeAsync(configuration, stream, cancellationToken); @@ -420,7 +420,7 @@ namespace SixLabors.ImageSharp.Tests } } - public Image Decode(Configuration configuration, Stream stream) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) where TPixel : unmanaged, IPixel { InvocationCounts[this.callerName]++; @@ -445,7 +445,7 @@ namespace SixLabors.ImageSharp.Tests InvocationCountsAsync[name] = 0; } - public Image Decode(Configuration configuration, Stream stream) => this.Decode(configuration, stream); + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) => this.Decode(configuration, stream, cancellationToken); public async Task DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) => await this.DecodeAsync(configuration, stream, cancellationToken); From f874218d0b5a2cf064aa0a414f333381e9a22127 Mon Sep 17 00:00:00 2001 From: Dan Kroymann Date: Tue, 15 Feb 2022 21:04:15 -0800 Subject: [PATCH 078/244] Change WithSeekableStreamAsync() so that it executes synchronous actions after preloading the stream, rather than async actions (since the async actions all ultimately operate synchronously anyway) --- src/ImageSharp/Image.Decode.cs | 100 ----------------------------- src/ImageSharp/Image.FromStream.cs | 18 +++--- 2 files changed, 9 insertions(+), 109 deletions(-) diff --git a/src/ImageSharp/Image.Decode.cs b/src/ImageSharp/Image.Decode.cs index 75dbd6c5c..9bb680c82 100644 --- a/src/ImageSharp/Image.Decode.cs +++ b/src/ImageSharp/Image.Decode.cs @@ -2,11 +2,8 @@ // Licensed under the Apache License, Version 2.0. using System; -using System.Buffers; using System.IO; -using System.Linq; using System.Threading; -using System.Threading.Tasks; using SixLabors.ImageSharp.Formats; using SixLabors.ImageSharp.Memory; using SixLabors.ImageSharp.Metadata; @@ -96,20 +93,6 @@ namespace SixLabors.ImageSharp return format; } - /// - /// By reading the header on the provided stream this calculates the images format. - /// - /// The image stream to read the header from. - /// The configuration. - /// The mime type or null if none found. - private static Task InternalDetectFormatAsync(Stream stream, Configuration config) - { - // We are going to cheat here because we know that by this point we have been wrapped in a - // seekable stream then we are free to use sync APIs this is potentially brittle and may - // need a better fix in the future. - return Task.FromResult(InternalDetectFormat(stream, config)); - } - /// /// By reading the header on the provided stream this calculates the images format. /// @@ -126,23 +109,6 @@ namespace SixLabors.ImageSharp : null; } - /// - /// By reading the header on the provided stream this calculates the images format. - /// - /// The image stream to read the header from. - /// The configuration. - /// The decoder and the image format or null if none found. - private static async Task<(IImageDecoder Decoder, IImageFormat Format)> DiscoverDecoderAsync(Stream stream, Configuration config) - { - IImageFormat format = await InternalDetectFormatAsync(stream, config).ConfigureAwait(false); - - IImageDecoder decoder = format != null - ? config.ImageFormatsManager.FindDecoder(format) - : null; - - return (decoder, format); - } - /// /// Decodes the image stream to the current image. /// @@ -166,32 +132,6 @@ namespace SixLabors.ImageSharp return (img, format); } - /// - /// Decodes the image stream to the current image. - /// - /// The stream. - /// the configuration. - /// The token to monitor for cancellation requests. - /// The pixel format. - /// A representing the asynchronous operation. - private static async Task<(Image Image, IImageFormat Format)> DecodeAsync( - Stream stream, - Configuration config, - CancellationToken cancellationToken) - where TPixel : unmanaged, IPixel - { - (IImageDecoder decoder, IImageFormat format) = await DiscoverDecoderAsync(stream, config) - .ConfigureAwait(false); - if (decoder is null) - { - return (null, null); - } - - Image img = await decoder.DecodeAsync(config, stream, cancellationToken) - .ConfigureAwait(false); - return (img, format); - } - private static (Image Image, IImageFormat Format) Decode(Stream stream, Configuration config, CancellationToken cancellationToken = default) { IImageDecoder decoder = DiscoverDecoder(stream, config, out IImageFormat format); @@ -204,18 +144,6 @@ namespace SixLabors.ImageSharp return (img, format); } - private static async Task<(Image Image, IImageFormat Format)> DecodeAsync(Stream stream, Configuration config, CancellationToken cancellationToken) - { - (IImageDecoder decoder, IImageFormat format) = await DiscoverDecoderAsync(stream, config).ConfigureAwait(false); - if (decoder is null) - { - return (null, null); - } - - Image img = await decoder.DecodeAsync(config, stream, cancellationToken).ConfigureAwait(false); - return (img, format); - } - /// /// Reads the raw image information from the specified stream. /// @@ -237,33 +165,5 @@ namespace SixLabors.ImageSharp IImageInfo info = detector?.Identify(config, stream, cancellationToken); return (info, format); } - - /// - /// Reads the raw image information from the specified stream. - /// - /// The stream. - /// the configuration. - /// The token to monitor for cancellation requests. - /// - /// A representing the asynchronous operation with the - /// property of the returned type set to null if a suitable detector - /// is not found. - private static async Task<(IImageInfo ImageInfo, IImageFormat Format)> InternalIdentityAsync(Stream stream, Configuration config, CancellationToken cancellationToken) - { - (IImageDecoder decoder, IImageFormat format) = await DiscoverDecoderAsync(stream, config).ConfigureAwait(false); - - if (!(decoder is IImageInfoDetector detector)) - { - return (null, null); - } - - if (detector is null) - { - return (null, format); - } - - IImageInfo info = await detector.IdentifyAsync(config, stream, cancellationToken).ConfigureAwait(false); - return (info, format); - } } } diff --git a/src/ImageSharp/Image.FromStream.cs b/src/ImageSharp/Image.FromStream.cs index 43f4449c5..8260caf56 100644 --- a/src/ImageSharp/Image.FromStream.cs +++ b/src/ImageSharp/Image.FromStream.cs @@ -65,7 +65,7 @@ namespace SixLabors.ImageSharp => WithSeekableStreamAsync( configuration, stream, - (s, _) => InternalDetectFormatAsync(s, configuration), + (s, _) => InternalDetectFormat(s, configuration), cancellationToken); /// @@ -208,7 +208,7 @@ namespace SixLabors.ImageSharp => WithSeekableStreamAsync( configuration, stream, - (s, ct) => InternalIdentityAsync(s, configuration ?? Configuration.Default, ct), + (s, ct) => InternalIdentity(s, configuration ?? Configuration.Default, ct), cancellationToken); /// @@ -341,7 +341,7 @@ namespace SixLabors.ImageSharp return WithSeekableStreamAsync( configuration, stream, - (s, ct) => decoder.DecodeAsync(configuration, s, ct), + (s, ct) => decoder.Decode(configuration, s, ct), cancellationToken); } @@ -468,7 +468,7 @@ namespace SixLabors.ImageSharp => WithSeekableStreamAsync( Configuration.Default, stream, - (s, ct) => decoder.DecodeAsync(Configuration.Default, s, ct), + (s, ct) => decoder.Decode(Configuration.Default, s, ct), cancellationToken); /// @@ -511,7 +511,7 @@ namespace SixLabors.ImageSharp => WithSeekableStreamAsync( configuration, stream, - (s, ct) => decoder.DecodeAsync(configuration, s, ct), + (s, ct) => decoder.Decode(configuration, s, ct), cancellationToken); /// @@ -586,7 +586,7 @@ namespace SixLabors.ImageSharp (Image Image, IImageFormat Format) data = await WithSeekableStreamAsync( configuration, stream, - async (s, ct) => await DecodeAsync(s, configuration, ct).ConfigureAwait(false), + (s, ct) => Decode(s, configuration, ct), cancellationToken) .ConfigureAwait(false); @@ -629,7 +629,7 @@ namespace SixLabors.ImageSharp await WithSeekableStreamAsync( configuration, stream, - (s, ct) => DecodeAsync(s, configuration, ct), + (s, ct) => Decode(s, configuration, ct), cancellationToken) .ConfigureAwait(false); @@ -759,7 +759,7 @@ namespace SixLabors.ImageSharp private static async Task WithSeekableStreamAsync( Configuration configuration, Stream stream, - Func> action, + Func action, CancellationToken cancellationToken) { Guard.NotNull(configuration, nameof(configuration)); @@ -774,7 +774,7 @@ namespace SixLabors.ImageSharp await stream.CopyToAsync(memoryStream, configuration.StreamProcessingBufferSize, cancellationToken).ConfigureAwait(false); memoryStream.Position = 0; - return await action(memoryStream, cancellationToken).ConfigureAwait(false); + return action(memoryStream, cancellationToken); } } } From eb7b9d9f9b60a7928c8724333b470d74e47ea930 Mon Sep 17 00:00:00 2001 From: Dan Kroymann Date: Wed, 16 Feb 2022 09:19:01 -0800 Subject: [PATCH 079/244] Remove IImageDecoder.DecodeAsync() and IImageInfoDetector.IdentifyAsync() --- src/ImageSharp/Advanced/AotCompilerTools.cs | 1 - src/ImageSharp/Formats/Bmp/BmpDecoder.cs | 26 ---- src/ImageSharp/Formats/Gif/GifDecoder.cs | 24 ---- src/ImageSharp/Formats/IImageDecoder.cs | 23 ---- src/ImageSharp/Formats/IImageInfoDetector.cs | 10 -- .../Formats/ImageDecoderUtilities.cs | 115 ------------------ src/ImageSharp/Formats/Jpeg/JpegDecoder.cs | 31 ----- src/ImageSharp/Formats/Pbm/PbmDecoder.cs | 25 ---- src/ImageSharp/Formats/Png/PngDecoder.cs | 70 ----------- src/ImageSharp/Formats/Tga/TgaDecoder.cs | 26 ---- src/ImageSharp/Formats/Tiff/TiffDecoder.cs | 25 ---- src/ImageSharp/Formats/Webp/WebpDecoder.cs | 36 ------ .../Image/ImageTests.ImageLoadTestBase.cs | 1 - tests/ImageSharp.Tests/TestFormat.cs | 17 +-- .../ReferenceCodecs/MagickReferenceDecoder.cs | 8 -- .../SystemDrawingReferenceDecoder.cs | 12 -- .../Tests/TestImageProviderTests.cs | 33 ----- 17 files changed, 4 insertions(+), 479 deletions(-) diff --git a/src/ImageSharp/Advanced/AotCompilerTools.cs b/src/ImageSharp/Advanced/AotCompilerTools.cs index 82a146dc7..504361f60 100644 --- a/src/ImageSharp/Advanced/AotCompilerTools.cs +++ b/src/ImageSharp/Advanced/AotCompilerTools.cs @@ -288,7 +288,6 @@ namespace SixLabors.ImageSharp.Advanced where TDecoder : class, IImageDecoder { default(TDecoder).Decode(default, default); - default(TDecoder).DecodeAsync(default, default, default); } /// diff --git a/src/ImageSharp/Formats/Bmp/BmpDecoder.cs b/src/ImageSharp/Formats/Bmp/BmpDecoder.cs index 1417909b4..f1170bf21 100644 --- a/src/ImageSharp/Formats/Bmp/BmpDecoder.cs +++ b/src/ImageSharp/Formats/Bmp/BmpDecoder.cs @@ -3,9 +3,6 @@ using System.IO; using System.Threading; -using System.Threading.Tasks; -using SixLabors.ImageSharp.IO; -using SixLabors.ImageSharp.Memory; using SixLabors.ImageSharp.PixelFormats; namespace SixLabors.ImageSharp.Formats.Bmp @@ -44,21 +41,6 @@ namespace SixLabors.ImageSharp.Formats.Bmp public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) => this.Decode(configuration, stream, cancellationToken); - /// - public Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - where TPixel : unmanaged, IPixel - { - Guard.NotNull(stream, nameof(stream)); - - var decoder = new BmpDecoderCore(configuration, this); - return decoder.DecodeAsync(configuration, stream, cancellationToken); - } - - /// - public async Task DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - => await this.DecodeAsync(configuration, stream, cancellationToken) - .ConfigureAwait(false); - /// public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) { @@ -66,13 +48,5 @@ namespace SixLabors.ImageSharp.Formats.Bmp return new BmpDecoderCore(configuration, this).Identify(configuration, stream, cancellationToken); } - - /// - public Task IdentifyAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - { - Guard.NotNull(stream, nameof(stream)); - - return new BmpDecoderCore(configuration, this).IdentifyAsync(configuration, stream, cancellationToken); - } } } diff --git a/src/ImageSharp/Formats/Gif/GifDecoder.cs b/src/ImageSharp/Formats/Gif/GifDecoder.cs index e00c272e1..8c9411ac4 100644 --- a/src/ImageSharp/Formats/Gif/GifDecoder.cs +++ b/src/ImageSharp/Formats/Gif/GifDecoder.cs @@ -3,9 +3,7 @@ using System.IO; using System.Threading; -using System.Threading.Tasks; using SixLabors.ImageSharp.IO; -using SixLabors.ImageSharp.Memory; using SixLabors.ImageSharp.Metadata; using SixLabors.ImageSharp.PixelFormats; @@ -38,19 +36,6 @@ namespace SixLabors.ImageSharp.Formats.Gif public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) => this.Decode(configuration, stream, cancellationToken); - /// - public Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - where TPixel : unmanaged, IPixel - { - var decoder = new GifDecoderCore(configuration, this); - return decoder.DecodeAsync(configuration, stream, cancellationToken); - } - - /// - public async Task DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - => await this.DecodeAsync(configuration, stream, cancellationToken) - .ConfigureAwait(false); - /// public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) { @@ -61,14 +46,5 @@ namespace SixLabors.ImageSharp.Formats.Gif using var bufferedStream = new BufferedReadStream(configuration, stream); return decoder.Identify(bufferedStream, cancellationToken); } - - /// - public Task IdentifyAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - { - Guard.NotNull(stream, nameof(stream)); - - var decoder = new GifDecoderCore(configuration, this); - return decoder.IdentifyAsync(configuration, stream, cancellationToken); - } } } diff --git a/src/ImageSharp/Formats/IImageDecoder.cs b/src/ImageSharp/Formats/IImageDecoder.cs index 1e673b30c..2b8c5131a 100644 --- a/src/ImageSharp/Formats/IImageDecoder.cs +++ b/src/ImageSharp/Formats/IImageDecoder.cs @@ -3,7 +3,6 @@ using System.IO; using System.Threading; -using System.Threading.Tasks; using SixLabors.ImageSharp.PixelFormats; namespace SixLabors.ImageSharp.Formats @@ -34,27 +33,5 @@ namespace SixLabors.ImageSharp.Formats /// The . // TODO: Document ImageFormatExceptions (https://github.com/SixLabors/ImageSharp/issues/1110) Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default); - - /// - /// Decodes the image from the specified stream to an of a specific pixel type. - /// - /// The pixel format. - /// The configuration for the image. - /// The containing image data. - /// The token to monitor for cancellation requests. - /// The . - // TODO: Document ImageFormatExceptions (https://github.com/SixLabors/ImageSharp/issues/1110) - Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - where TPixel : unmanaged, IPixel; - - /// - /// Decodes the image from the specified stream to an . - /// - /// The configuration for the image. - /// The containing image data. - /// The token to monitor for cancellation requests. - /// The . - // TODO: Document ImageFormatExceptions (https://github.com/SixLabors/ImageSharp/issues/1110) - Task DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken); } } diff --git a/src/ImageSharp/Formats/IImageInfoDetector.cs b/src/ImageSharp/Formats/IImageInfoDetector.cs index 920e31374..c20894eea 100644 --- a/src/ImageSharp/Formats/IImageInfoDetector.cs +++ b/src/ImageSharp/Formats/IImageInfoDetector.cs @@ -3,7 +3,6 @@ using System.IO; using System.Threading; -using System.Threading.Tasks; namespace SixLabors.ImageSharp.Formats { @@ -20,14 +19,5 @@ namespace SixLabors.ImageSharp.Formats /// The token to monitor for cancellation requests. /// The object IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default); - - /// - /// Reads the raw image information from the specified stream. - /// - /// The configuration for the image. - /// The containing image data. - /// The token to monitor for cancellation requests. - /// The object - Task IdentifyAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken); } } diff --git a/src/ImageSharp/Formats/ImageDecoderUtilities.cs b/src/ImageSharp/Formats/ImageDecoderUtilities.cs index 13363fb64..69b2dd930 100644 --- a/src/ImageSharp/Formats/ImageDecoderUtilities.cs +++ b/src/ImageSharp/Formats/ImageDecoderUtilities.cs @@ -4,7 +4,6 @@ using System; using System.IO; using System.Threading; -using System.Threading.Tasks; using SixLabors.ImageSharp.IO; using SixLabors.ImageSharp.Memory; using SixLabors.ImageSharp.PixelFormats; @@ -13,120 +12,6 @@ namespace SixLabors.ImageSharp.Formats { internal static class ImageDecoderUtilities { - /// - /// Reads the raw image information from the specified stream. - /// - /// The decoder. - /// /// The configuration for the image. - /// The containing image data. - /// The token to monitor for cancellation requests. - /// is null. - /// A representing the asynchronous operation. - public static Task IdentifyAsync( - this IImageDecoderInternals decoder, - Configuration configuration, - Stream stream, - CancellationToken cancellationToken) - => decoder.IdentifyAsync(configuration, stream, DefaultLargeImageExceptionFactory, cancellationToken); - - /// - /// Reads the raw image information from the specified stream. - /// - /// The decoder. - /// The configuration for the image. - /// The containing image data. - /// Factory method to handle as . - /// The token to monitor for cancellation requests. - /// is null. - /// A representing the asynchronous operation. - public static Task IdentifyAsync( - this IImageDecoderInternals decoder, - Configuration configuration, - Stream stream, - Func tooLargeImageExceptionFactory, - CancellationToken cancellationToken) - { - try - { - using var bufferedReadStream = new BufferedReadStream(configuration, stream); - IImageInfo imageInfo = decoder.Identify(bufferedReadStream, cancellationToken); - return Task.FromResult(imageInfo); - } - catch (InvalidMemoryOperationException ex) - { - InvalidImageContentException invalidImageContentException = tooLargeImageExceptionFactory(ex, decoder.Dimensions); - return Task.FromException(invalidImageContentException); - } - catch (OperationCanceledException) - { - return Task.FromCanceled(cancellationToken); - } - catch (Exception ex) - { - return Task.FromException(ex); - } - } - - /// - /// Decodes the image from the specified stream. - /// - /// The pixel format. - /// The decoder. - /// The configuration for the image. - /// The containing image data. - /// The token to monitor for cancellation requests. - /// A representing the asynchronous operation. - public static Task> DecodeAsync( - this IImageDecoderInternals decoder, - Configuration configuration, - Stream stream, - CancellationToken cancellationToken) - where TPixel : unmanaged, IPixel => - decoder.DecodeAsync( - configuration, - stream, - DefaultLargeImageExceptionFactory, - cancellationToken); - - /// - /// Decodes the image from the specified stream. - /// - /// The pixel format. - /// The decoder. - /// The configuration for the image. - /// The containing image data. - /// Factory method to handle as . - /// The token to monitor for cancellation requests. - /// A representing the asynchronous operation. - public static Task> DecodeAsync( - this IImageDecoderInternals decoder, - Configuration configuration, - Stream stream, - Func largeImageExceptionFactory, - CancellationToken cancellationToken) - where TPixel : unmanaged, IPixel - { - try - { - using var bufferedReadStream = new BufferedReadStream(configuration, stream); - Image image = decoder.Decode(bufferedReadStream, cancellationToken); - return Task.FromResult(image); - } - catch (InvalidMemoryOperationException ex) - { - InvalidImageContentException invalidImageContentException = largeImageExceptionFactory(ex, decoder.Dimensions); - return Task.FromException>(invalidImageContentException); - } - catch (OperationCanceledException) - { - return Task.FromCanceled>(cancellationToken); - } - catch (Exception ex) - { - return Task.FromException>(ex); - } - } - public static IImageInfo Identify( this IImageDecoderInternals decoder, Configuration configuration, diff --git a/src/ImageSharp/Formats/Jpeg/JpegDecoder.cs b/src/ImageSharp/Formats/Jpeg/JpegDecoder.cs index 37b8fdd1f..e2d5b54c3 100644 --- a/src/ImageSharp/Formats/Jpeg/JpegDecoder.cs +++ b/src/ImageSharp/Formats/Jpeg/JpegDecoder.cs @@ -3,7 +3,6 @@ using System.IO; using System.Threading; -using System.Threading.Tasks; using SixLabors.ImageSharp.PixelFormats; namespace SixLabors.ImageSharp.Formats.Jpeg @@ -30,21 +29,6 @@ namespace SixLabors.ImageSharp.Formats.Jpeg public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) => this.Decode(configuration, stream, cancellationToken); - /// - public Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - where TPixel : unmanaged, IPixel - { - Guard.NotNull(stream, nameof(stream)); - - using var decoder = new JpegDecoderCore(configuration, this); - return decoder.DecodeAsync(configuration, stream, cancellationToken); - } - - /// - public async Task DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - => await this.DecodeAsync(configuration, stream, cancellationToken) - .ConfigureAwait(false); - /// public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) { @@ -53,20 +37,5 @@ namespace SixLabors.ImageSharp.Formats.Jpeg using var decoder = new JpegDecoderCore(configuration, this); return decoder.Identify(configuration, stream, cancellationToken); } - - /// - public async Task IdentifyAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - { - Guard.NotNull(stream, nameof(stream)); - - // The introduction of a local variable that refers to an object the implements - // IDisposable means you must use async/await, where the compiler generates the - // state machine and a continuation. - using (var decoder = new JpegDecoderCore(configuration, this)) - { - return await decoder.IdentifyAsync(configuration, stream, cancellationToken) - .ConfigureAwait(false); - } - } } } diff --git a/src/ImageSharp/Formats/Pbm/PbmDecoder.cs b/src/ImageSharp/Formats/Pbm/PbmDecoder.cs index f227726d1..43847cf9b 100644 --- a/src/ImageSharp/Formats/Pbm/PbmDecoder.cs +++ b/src/ImageSharp/Formats/Pbm/PbmDecoder.cs @@ -3,7 +3,6 @@ using System.IO; using System.Threading; -using System.Threading.Tasks; using SixLabors.ImageSharp.PixelFormats; namespace SixLabors.ImageSharp.Formats.Pbm @@ -43,21 +42,6 @@ namespace SixLabors.ImageSharp.Formats.Pbm public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) => this.Decode(configuration, stream, cancellationToken); - /// - public Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - where TPixel : unmanaged, IPixel - { - Guard.NotNull(stream, nameof(stream)); - - var decoder = new PbmDecoderCore(configuration); - return decoder.DecodeAsync(configuration, stream, cancellationToken); - } - - /// - public async Task DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - => await this.DecodeAsync(configuration, stream, cancellationToken) - .ConfigureAwait(false); - /// public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) { @@ -66,14 +50,5 @@ namespace SixLabors.ImageSharp.Formats.Pbm var decoder = new PbmDecoderCore(configuration); return decoder.Identify(configuration, stream, cancellationToken); } - - /// - public Task IdentifyAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - { - Guard.NotNull(stream, nameof(stream)); - - var decoder = new PbmDecoderCore(configuration); - return decoder.IdentifyAsync(configuration, stream, cancellationToken); - } } } diff --git a/src/ImageSharp/Formats/Png/PngDecoder.cs b/src/ImageSharp/Formats/Png/PngDecoder.cs index b0764e040..b5cbc1ccc 100644 --- a/src/ImageSharp/Formats/Png/PngDecoder.cs +++ b/src/ImageSharp/Formats/Png/PngDecoder.cs @@ -3,7 +3,6 @@ using System.IO; using System.Threading; -using System.Threading.Tasks; using SixLabors.ImageSharp.PixelFormats; namespace SixLabors.ImageSharp.Formats.Png @@ -78,80 +77,11 @@ namespace SixLabors.ImageSharp.Formats.Png } } - /// - public Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - where TPixel : unmanaged, IPixel - { - PngDecoderCore decoder = new(configuration, this); - return decoder.DecodeAsync(configuration, stream, cancellationToken); - } - - /// - public async Task DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - { - PngDecoderCore decoder = new(configuration, true); - IImageInfo info = await decoder.IdentifyAsync(configuration, stream, cancellationToken).ConfigureAwait(false); - stream.Position = 0; - - PngMetadata meta = info.Metadata.GetPngMetadata(); - PngColorType color = meta.ColorType.GetValueOrDefault(); - PngBitDepth bits = meta.BitDepth.GetValueOrDefault(); - switch (color) - { - case PngColorType.Grayscale: - if (bits == PngBitDepth.Bit16) - { - return !meta.HasTransparency - ? await this.DecodeAsync(configuration, stream, cancellationToken).ConfigureAwait(false) - : await this.DecodeAsync(configuration, stream, cancellationToken).ConfigureAwait(false); - } - - return !meta.HasTransparency - ? await this.DecodeAsync(configuration, stream, cancellationToken).ConfigureAwait(false) - : await this.DecodeAsync(configuration, stream, cancellationToken).ConfigureAwait(false); - - case PngColorType.Rgb: - if (bits == PngBitDepth.Bit16) - { - return !meta.HasTransparency - ? await this.DecodeAsync(configuration, stream, cancellationToken).ConfigureAwait(false) - : await this.DecodeAsync(configuration, stream, cancellationToken).ConfigureAwait(false); - } - - return !meta.HasTransparency - ? await this.DecodeAsync(configuration, stream, cancellationToken).ConfigureAwait(false) - : await this.DecodeAsync(configuration, stream, cancellationToken).ConfigureAwait(false); - - case PngColorType.Palette: - return await this.DecodeAsync(configuration, stream, cancellationToken).ConfigureAwait(false); - - case PngColorType.GrayscaleWithAlpha: - return (bits == PngBitDepth.Bit16) - ? await this.DecodeAsync(configuration, stream, cancellationToken).ConfigureAwait(false) - : await this.DecodeAsync(configuration, stream, cancellationToken).ConfigureAwait(false); - - case PngColorType.RgbWithAlpha: - return (bits == PngBitDepth.Bit16) - ? await this.DecodeAsync(configuration, stream, cancellationToken).ConfigureAwait(false) - : await this.DecodeAsync(configuration, stream, cancellationToken).ConfigureAwait(false); - - default: - return await this.DecodeAsync(configuration, stream, cancellationToken).ConfigureAwait(false); - } - } - /// public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) { PngDecoderCore decoder = new(configuration, this); return decoder.Identify(configuration, stream, cancellationToken); } - - /// - public Task IdentifyAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - { - PngDecoderCore decoder = new(configuration, this); - return decoder.IdentifyAsync(configuration, stream, cancellationToken); - } } } diff --git a/src/ImageSharp/Formats/Tga/TgaDecoder.cs b/src/ImageSharp/Formats/Tga/TgaDecoder.cs index 675faac61..933dba00a 100644 --- a/src/ImageSharp/Formats/Tga/TgaDecoder.cs +++ b/src/ImageSharp/Formats/Tga/TgaDecoder.cs @@ -3,9 +3,6 @@ using System.IO; using System.Threading; -using System.Threading.Tasks; -using SixLabors.ImageSharp.IO; -using SixLabors.ImageSharp.Memory; using SixLabors.ImageSharp.PixelFormats; namespace SixLabors.ImageSharp.Formats.Tga @@ -29,21 +26,6 @@ namespace SixLabors.ImageSharp.Formats.Tga public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) => this.Decode(configuration, stream, cancellationToken); - /// - public Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - where TPixel : unmanaged, IPixel - { - Guard.NotNull(stream, nameof(stream)); - - var decoder = new TgaDecoderCore(configuration, this); - return decoder.DecodeAsync(configuration, stream, cancellationToken); - } - - /// - public async Task DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - => await this.DecodeAsync(configuration, stream, cancellationToken) - .ConfigureAwait(false); - /// public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) { @@ -51,13 +33,5 @@ namespace SixLabors.ImageSharp.Formats.Tga return new TgaDecoderCore(configuration, this).Identify(configuration, stream, cancellationToken); } - - /// - public Task IdentifyAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - { - Guard.NotNull(stream, nameof(stream)); - - return new TgaDecoderCore(configuration, this).IdentifyAsync(configuration, stream, cancellationToken); - } } } diff --git a/src/ImageSharp/Formats/Tiff/TiffDecoder.cs b/src/ImageSharp/Formats/Tiff/TiffDecoder.cs index 75485e400..0ada90e90 100644 --- a/src/ImageSharp/Formats/Tiff/TiffDecoder.cs +++ b/src/ImageSharp/Formats/Tiff/TiffDecoder.cs @@ -3,7 +3,6 @@ using System.IO; using System.Threading; -using System.Threading.Tasks; using SixLabors.ImageSharp.PixelFormats; namespace SixLabors.ImageSharp.Formats.Tiff @@ -31,21 +30,6 @@ namespace SixLabors.ImageSharp.Formats.Tiff /// public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) => this.Decode(configuration, stream, cancellationToken); - /// - public Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - where TPixel : unmanaged, IPixel - { - Guard.NotNull(stream, nameof(stream)); - - var decoder = new TiffDecoderCore(configuration, this); - return decoder.DecodeAsync(configuration, stream, cancellationToken); - } - - /// - public async Task DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - => await this.DecodeAsync(configuration, stream, cancellationToken) - .ConfigureAwait(false); - /// public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) { @@ -54,14 +38,5 @@ namespace SixLabors.ImageSharp.Formats.Tiff var decoder = new TiffDecoderCore(configuration, this); return decoder.Identify(configuration, stream, cancellationToken); } - - /// - public Task IdentifyAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - { - Guard.NotNull(stream, nameof(stream)); - - var decoder = new TiffDecoderCore(configuration, this); - return decoder.IdentifyAsync(configuration, stream, cancellationToken); - } } } diff --git a/src/ImageSharp/Formats/Webp/WebpDecoder.cs b/src/ImageSharp/Formats/Webp/WebpDecoder.cs index 63b0fa505..5757f6535 100644 --- a/src/ImageSharp/Formats/Webp/WebpDecoder.cs +++ b/src/ImageSharp/Formats/Webp/WebpDecoder.cs @@ -3,8 +3,6 @@ using System.IO; using System.Threading; -using System.Threading.Tasks; -using SixLabors.ImageSharp.IO; using SixLabors.ImageSharp.Memory; using SixLabors.ImageSharp.PixelFormats; @@ -50,39 +48,5 @@ namespace SixLabors.ImageSharp.Formats.Webp /// public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) => this.Decode(configuration, stream, cancellationToken); - - /// - public Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - where TPixel : unmanaged, IPixel - { - Guard.NotNull(stream, nameof(stream)); - - var decoder = new WebpDecoderCore(configuration, this); - - try - { - using var bufferedStream = new BufferedReadStream(configuration, stream); - return decoder.DecodeAsync(configuration, bufferedStream, cancellationToken); - } - catch (InvalidMemoryOperationException ex) - { - Size dims = decoder.Dimensions; - - throw new InvalidImageContentException($"Cannot decode image. Failed to allocate buffers for possibly degenerate dimensions: {dims.Width}x{dims.Height}.", ex); - } - } - - /// - public async Task DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - => await this.DecodeAsync(configuration, stream, cancellationToken).ConfigureAwait(false); - - /// - public Task IdentifyAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - { - Guard.NotNull(stream, nameof(stream)); - - using var bufferedStream = new BufferedReadStream(configuration, stream); - return new WebpDecoderCore(configuration, this).IdentifyAsync(configuration, bufferedStream, cancellationToken); - } } } diff --git a/tests/ImageSharp.Tests/Image/ImageTests.ImageLoadTestBase.cs b/tests/ImageSharp.Tests/Image/ImageTests.ImageLoadTestBase.cs index 8c4c425b4..fd743093e 100644 --- a/tests/ImageSharp.Tests/Image/ImageTests.ImageLoadTestBase.cs +++ b/tests/ImageSharp.Tests/Image/ImageTests.ImageLoadTestBase.cs @@ -64,7 +64,6 @@ namespace SixLabors.ImageSharp.Tests var detector = new Mock(); detector.Setup(x => x.Identify(It.IsAny(), It.IsAny(), It.IsAny())).Returns(this.localImageInfoMock.Object); - detector.Setup(x => x.IdentifyAsync(It.IsAny(), It.IsAny(), It.IsAny())).ReturnsAsync(this.localImageInfoMock.Object); this.localDecoder = detector.As(); this.localDecoder.Setup(x => x.Decode(It.IsAny(), It.IsAny(), It.IsAny())) diff --git a/tests/ImageSharp.Tests/TestFormat.cs b/tests/ImageSharp.Tests/TestFormat.cs index c879e66da..efe958552 100644 --- a/tests/ImageSharp.Tests/TestFormat.cs +++ b/tests/ImageSharp.Tests/TestFormat.cs @@ -214,17 +214,14 @@ namespace SixLabors.ImageSharp.Tests public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) where TPixel : unmanaged, IPixel - => this.DecodeImpl(configuration, stream, cancellationToken).GetAwaiter().GetResult(); + => this.DecodeImpl(configuration, stream); - public Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - where TPixel : unmanaged, IPixel - => this.DecodeImpl(configuration, stream, cancellationToken); - private async Task> DecodeImpl(Configuration config, Stream stream, CancellationToken cancellationToken) + private Image DecodeImpl(Configuration config, Stream stream) where TPixel : unmanaged, IPixel { var ms = new MemoryStream(); - await stream.CopyToAsync(ms, config.StreamProcessingBufferSize, cancellationToken); + stream.CopyTo(ms, config.StreamProcessingBufferSize); byte[] marker = ms.ToArray().Skip(this.testFormat.header.Length).ToArray(); this.testFormat.DecodeCalls.Add(new DecodeOperation { @@ -241,14 +238,8 @@ namespace SixLabors.ImageSharp.Tests public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) => this.Decode(configuration, stream, cancellationToken); - public async Task DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - => await this.DecodeAsync(configuration, stream, cancellationToken); - public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken) => - this.IdentifyAsync(configuration, stream, cancellationToken).GetAwaiter().GetResult(); - - public async Task IdentifyAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - => await this.DecodeImpl(configuration, stream, cancellationToken); + this.DecodeImpl(configuration, stream); } public class TestEncoder : IImageEncoder diff --git a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs index 2d1c616c8..a3a7d62d8 100644 --- a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs +++ b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs @@ -6,7 +6,6 @@ using System.Collections.Generic; using System.IO; using System.Runtime.InteropServices; using System.Threading; -using System.Threading.Tasks; using ImageMagick; using ImageMagick.Formats; using SixLabors.ImageSharp.Formats; @@ -59,10 +58,6 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.ReferenceCodecs } } - public Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - where TPixel : unmanaged, ImageSharp.PixelFormats.IPixel - => Task.FromResult(this.Decode(configuration, stream, cancellationToken)); - public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) where TPixel : unmanaged, ImageSharp.PixelFormats.IPixel { @@ -106,8 +101,5 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.ReferenceCodecs } public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) => this.Decode(configuration, stream, cancellationToken); - - public async Task DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - => await this.DecodeAsync(configuration, stream, cancellationToken); } } diff --git a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingReferenceDecoder.cs b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingReferenceDecoder.cs index 3bc6fef29..110814480 100644 --- a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingReferenceDecoder.cs +++ b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/SystemDrawingReferenceDecoder.cs @@ -3,8 +3,6 @@ using System.IO; using System.Threading; -using System.Threading.Tasks; -using SixLabors.ImageSharp.ColorSpaces.Conversion; using SixLabors.ImageSharp.Formats; using SixLabors.ImageSharp.Metadata; using SixLabors.ImageSharp.PixelFormats; @@ -15,10 +13,6 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.ReferenceCodecs { public static SystemDrawingReferenceDecoder Instance { get; } = new SystemDrawingReferenceDecoder(); - public Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - where TPixel : unmanaged, IPixel - => Task.FromResult(this.Decode(configuration, stream, cancellationToken)); - public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) where TPixel : unmanaged, IPixel { @@ -49,9 +43,6 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.ReferenceCodecs } } - public Task IdentifyAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - => Task.FromResult(this.Identify(configuration, stream, cancellationToken)); - public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken) { using (var sourceBitmap = new System.Drawing.Bitmap(stream)) @@ -62,8 +53,5 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.ReferenceCodecs } public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) => this.Decode(configuration, stream, cancellationToken); - - public async Task DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - => await this.DecodeAsync(configuration, stream, cancellationToken); } } diff --git a/tests/ImageSharp.Tests/TestUtilities/Tests/TestImageProviderTests.cs b/tests/ImageSharp.Tests/TestUtilities/Tests/TestImageProviderTests.cs index 0ed57994d..4542257c6 100644 --- a/tests/ImageSharp.Tests/TestUtilities/Tests/TestImageProviderTests.cs +++ b/tests/ImageSharp.Tests/TestUtilities/Tests/TestImageProviderTests.cs @@ -5,7 +5,6 @@ using System; using System.Collections.Concurrent; using System.IO; using System.Threading; -using System.Threading.Tasks; using SixLabors.ImageSharp.Advanced; using SixLabors.ImageSharp.Formats; using SixLabors.ImageSharp.Memory; @@ -350,9 +349,6 @@ namespace SixLabors.ImageSharp.Tests private static readonly ConcurrentDictionary InvocationCounts = new ConcurrentDictionary(); - private static readonly ConcurrentDictionary InvocationCountsAsync = - new ConcurrentDictionary(); - private static readonly object Monitor = new object(); private string callerName; @@ -372,28 +368,15 @@ namespace SixLabors.ImageSharp.Tests return new Image(42, 42); } - public Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - where TPixel : unmanaged, IPixel - { - InvocationCountsAsync[this.callerName]++; - return Task.FromResult(new Image(42, 42)); - } - internal static int GetInvocationCount(string callerName) => InvocationCounts[callerName]; - internal static int GetInvocationCountAsync(string callerName) => InvocationCountsAsync[callerName]; - internal void InitCaller(string name) { this.callerName = name; InvocationCounts[name] = 0; - InvocationCountsAsync[name] = 0; } public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) => this.Decode(configuration, stream, cancellationToken); - - public async Task DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - => await this.DecodeAsync(configuration, stream, cancellationToken); } private class TestDecoderWithParameters : IImageDecoder @@ -401,9 +384,6 @@ namespace SixLabors.ImageSharp.Tests private static readonly ConcurrentDictionary InvocationCounts = new ConcurrentDictionary(); - private static readonly ConcurrentDictionary InvocationCountsAsync = - new ConcurrentDictionary(); - private static readonly object Monitor = new object(); private string callerName; @@ -427,28 +407,15 @@ namespace SixLabors.ImageSharp.Tests return new Image(42, 42); } - public Task> DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - where TPixel : unmanaged, IPixel - { - InvocationCountsAsync[this.callerName]++; - return Task.FromResult(new Image(42, 42)); - } - internal static int GetInvocationCount(string callerName) => InvocationCounts[callerName]; - internal static int GetInvocationCountAsync(string callerName) => InvocationCountsAsync[callerName]; - internal void InitCaller(string name) { this.callerName = name; InvocationCounts[name] = 0; - InvocationCountsAsync[name] = 0; } public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) => this.Decode(configuration, stream, cancellationToken); - - public async Task DecodeAsync(Configuration configuration, Stream stream, CancellationToken cancellationToken) - => await this.DecodeAsync(configuration, stream, cancellationToken); } } } From 1c225e93b808131b8562c669295316df114a9d1d Mon Sep 17 00:00:00 2001 From: Dan Kroymann Date: Wed, 16 Feb 2022 15:12:44 -0800 Subject: [PATCH 080/244] Make the cancellationToken arguments required --- src/ImageSharp/Advanced/AotCompilerTools.cs | 2 +- src/ImageSharp/Formats/Bmp/BmpDecoder.cs | 6 +++--- src/ImageSharp/Formats/Gif/GifDecoder.cs | 6 +++--- src/ImageSharp/Formats/IImageDecoder.cs | 4 ++-- src/ImageSharp/Formats/IImageInfoDetector.cs | 2 +- src/ImageSharp/Formats/Jpeg/JpegDecoder.cs | 6 +++--- src/ImageSharp/Formats/Pbm/PbmDecoder.cs | 6 +++--- src/ImageSharp/Formats/Png/PngDecoder.cs | 6 +++--- src/ImageSharp/Formats/Tga/TgaDecoder.cs | 6 +++--- src/ImageSharp/Formats/Tiff/TiffDecoder.cs | 6 +++--- src/ImageSharp/Formats/Webp/WebpDecoder.cs | 6 +++--- src/ImageSharp/Image.FromStream.cs | 6 +++--- .../Codecs/Jpeg/DecodeJpeg.cs | 2 +- .../Codecs/Jpeg/IdentifyJpeg.cs | 2 +- .../Formats/Bmp/BmpDecoderTests.cs | 2 +- .../Formats/Gif/GifDecoderTests.cs | 2 +- .../Formats/Gif/GifMetadataTests.cs | 10 +++++----- .../Formats/Jpg/JpegDecoderTests.Metadata.cs | 14 +++++++------- .../Formats/Png/PngDecoderTests.Chunks.cs | 2 +- .../Formats/Png/PngEncoderTests.cs | 2 +- .../Formats/Png/PngMetadataTests.cs | 8 ++++---- 21 files changed, 53 insertions(+), 53 deletions(-) diff --git a/src/ImageSharp/Advanced/AotCompilerTools.cs b/src/ImageSharp/Advanced/AotCompilerTools.cs index 504361f60..2323b5ba7 100644 --- a/src/ImageSharp/Advanced/AotCompilerTools.cs +++ b/src/ImageSharp/Advanced/AotCompilerTools.cs @@ -287,7 +287,7 @@ namespace SixLabors.ImageSharp.Advanced where TPixel : unmanaged, IPixel where TDecoder : class, IImageDecoder { - default(TDecoder).Decode(default, default); + default(TDecoder).Decode(default, default, default); } /// diff --git a/src/ImageSharp/Formats/Bmp/BmpDecoder.cs b/src/ImageSharp/Formats/Bmp/BmpDecoder.cs index f1170bf21..e76448938 100644 --- a/src/ImageSharp/Formats/Bmp/BmpDecoder.cs +++ b/src/ImageSharp/Formats/Bmp/BmpDecoder.cs @@ -28,7 +28,7 @@ namespace SixLabors.ImageSharp.Formats.Bmp public RleSkippedPixelHandling RleSkippedPixelHandling { get; set; } = RleSkippedPixelHandling.Black; /// - public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) where TPixel : unmanaged, IPixel { Guard.NotNull(stream, nameof(stream)); @@ -38,11 +38,11 @@ namespace SixLabors.ImageSharp.Formats.Bmp } /// - public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) => this.Decode(configuration, stream, cancellationToken); /// - public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken) { Guard.NotNull(stream, nameof(stream)); diff --git a/src/ImageSharp/Formats/Gif/GifDecoder.cs b/src/ImageSharp/Formats/Gif/GifDecoder.cs index 8c9411ac4..9d4c88213 100644 --- a/src/ImageSharp/Formats/Gif/GifDecoder.cs +++ b/src/ImageSharp/Formats/Gif/GifDecoder.cs @@ -25,7 +25,7 @@ namespace SixLabors.ImageSharp.Formats.Gif public FrameDecodingMode DecodingMode { get; set; } = FrameDecodingMode.All; /// - public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) where TPixel : unmanaged, IPixel { var decoder = new GifDecoderCore(configuration, this); @@ -33,11 +33,11 @@ namespace SixLabors.ImageSharp.Formats.Gif } /// - public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) => this.Decode(configuration, stream, cancellationToken); /// - public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken) { Guard.NotNull(stream, nameof(stream)); diff --git a/src/ImageSharp/Formats/IImageDecoder.cs b/src/ImageSharp/Formats/IImageDecoder.cs index 2b8c5131a..db7f64ee2 100644 --- a/src/ImageSharp/Formats/IImageDecoder.cs +++ b/src/ImageSharp/Formats/IImageDecoder.cs @@ -21,7 +21,7 @@ namespace SixLabors.ImageSharp.Formats /// The token to monitor for cancellation requests. /// The . // TODO: Document ImageFormatExceptions (https://github.com/SixLabors/ImageSharp/issues/1110) - Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) where TPixel : unmanaged, IPixel; /// @@ -32,6 +32,6 @@ namespace SixLabors.ImageSharp.Formats /// The token to monitor for cancellation requests. /// The . // TODO: Document ImageFormatExceptions (https://github.com/SixLabors/ImageSharp/issues/1110) - Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default); + Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken); } } diff --git a/src/ImageSharp/Formats/IImageInfoDetector.cs b/src/ImageSharp/Formats/IImageInfoDetector.cs index c20894eea..c6377edd0 100644 --- a/src/ImageSharp/Formats/IImageInfoDetector.cs +++ b/src/ImageSharp/Formats/IImageInfoDetector.cs @@ -18,6 +18,6 @@ namespace SixLabors.ImageSharp.Formats /// The containing image data. /// The token to monitor for cancellation requests. /// The object - IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default); + IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken); } } diff --git a/src/ImageSharp/Formats/Jpeg/JpegDecoder.cs b/src/ImageSharp/Formats/Jpeg/JpegDecoder.cs index e2d5b54c3..22a9801b8 100644 --- a/src/ImageSharp/Formats/Jpeg/JpegDecoder.cs +++ b/src/ImageSharp/Formats/Jpeg/JpegDecoder.cs @@ -16,7 +16,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg public bool IgnoreMetadata { get; set; } /// - public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) where TPixel : unmanaged, IPixel { Guard.NotNull(stream, nameof(stream)); @@ -26,11 +26,11 @@ namespace SixLabors.ImageSharp.Formats.Jpeg } /// - public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) => this.Decode(configuration, stream, cancellationToken); /// - public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken) { Guard.NotNull(stream, nameof(stream)); diff --git a/src/ImageSharp/Formats/Pbm/PbmDecoder.cs b/src/ImageSharp/Formats/Pbm/PbmDecoder.cs index 43847cf9b..97a9cb7d7 100644 --- a/src/ImageSharp/Formats/Pbm/PbmDecoder.cs +++ b/src/ImageSharp/Formats/Pbm/PbmDecoder.cs @@ -29,7 +29,7 @@ namespace SixLabors.ImageSharp.Formats.Pbm public sealed class PbmDecoder : IImageDecoder, IImageInfoDetector { /// - public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) where TPixel : unmanaged, IPixel { Guard.NotNull(stream, nameof(stream)); @@ -39,11 +39,11 @@ namespace SixLabors.ImageSharp.Formats.Pbm } /// - public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) => this.Decode(configuration, stream, cancellationToken); /// - public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken) { Guard.NotNull(stream, nameof(stream)); diff --git a/src/ImageSharp/Formats/Png/PngDecoder.cs b/src/ImageSharp/Formats/Png/PngDecoder.cs index b5cbc1ccc..0b233848a 100644 --- a/src/ImageSharp/Formats/Png/PngDecoder.cs +++ b/src/ImageSharp/Formats/Png/PngDecoder.cs @@ -16,7 +16,7 @@ namespace SixLabors.ImageSharp.Formats.Png public bool IgnoreMetadata { get; set; } /// - public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) where TPixel : unmanaged, IPixel { PngDecoderCore decoder = new(configuration, this); @@ -24,7 +24,7 @@ namespace SixLabors.ImageSharp.Formats.Png } /// - public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) { PngDecoderCore decoder = new(configuration, true); IImageInfo info = decoder.Identify(configuration, stream, cancellationToken); @@ -78,7 +78,7 @@ namespace SixLabors.ImageSharp.Formats.Png } /// - public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken) { PngDecoderCore decoder = new(configuration, this); return decoder.Identify(configuration, stream, cancellationToken); diff --git a/src/ImageSharp/Formats/Tga/TgaDecoder.cs b/src/ImageSharp/Formats/Tga/TgaDecoder.cs index 933dba00a..bb0a0d548 100644 --- a/src/ImageSharp/Formats/Tga/TgaDecoder.cs +++ b/src/ImageSharp/Formats/Tga/TgaDecoder.cs @@ -13,7 +13,7 @@ namespace SixLabors.ImageSharp.Formats.Tga public sealed class TgaDecoder : IImageDecoder, ITgaDecoderOptions, IImageInfoDetector { /// - public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) where TPixel : unmanaged, IPixel { Guard.NotNull(stream, nameof(stream)); @@ -23,11 +23,11 @@ namespace SixLabors.ImageSharp.Formats.Tga } /// - public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) => this.Decode(configuration, stream, cancellationToken); /// - public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken) { Guard.NotNull(stream, nameof(stream)); diff --git a/src/ImageSharp/Formats/Tiff/TiffDecoder.cs b/src/ImageSharp/Formats/Tiff/TiffDecoder.cs index 0ada90e90..64140f5aa 100644 --- a/src/ImageSharp/Formats/Tiff/TiffDecoder.cs +++ b/src/ImageSharp/Formats/Tiff/TiffDecoder.cs @@ -18,7 +18,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff public bool IgnoreMetadata { get; set; } /// - public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) where TPixel : unmanaged, IPixel { Guard.NotNull(stream, "stream"); @@ -28,10 +28,10 @@ namespace SixLabors.ImageSharp.Formats.Tiff } /// - public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) => this.Decode(configuration, stream, cancellationToken); + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) => this.Decode(configuration, stream, cancellationToken); /// - public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken) { Guard.NotNull(stream, nameof(stream)); diff --git a/src/ImageSharp/Formats/Webp/WebpDecoder.cs b/src/ImageSharp/Formats/Webp/WebpDecoder.cs index 5757f6535..e076805e4 100644 --- a/src/ImageSharp/Formats/Webp/WebpDecoder.cs +++ b/src/ImageSharp/Formats/Webp/WebpDecoder.cs @@ -19,7 +19,7 @@ namespace SixLabors.ImageSharp.Formats.Webp public bool IgnoreMetadata { get; set; } /// - public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) where TPixel : unmanaged, IPixel { Guard.NotNull(stream, nameof(stream)); @@ -39,7 +39,7 @@ namespace SixLabors.ImageSharp.Formats.Webp } /// - public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) + public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken) { Guard.NotNull(stream, nameof(stream)); @@ -47,6 +47,6 @@ namespace SixLabors.ImageSharp.Formats.Webp } /// - public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken = default) => this.Decode(configuration, stream, cancellationToken); + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) => this.Decode(configuration, stream, cancellationToken); } } diff --git a/src/ImageSharp/Image.FromStream.cs b/src/ImageSharp/Image.FromStream.cs index 8260caf56..0f3203b1f 100644 --- a/src/ImageSharp/Image.FromStream.cs +++ b/src/ImageSharp/Image.FromStream.cs @@ -313,7 +313,7 @@ namespace SixLabors.ImageSharp public static Image Load(Configuration configuration, Stream stream, IImageDecoder decoder) { Guard.NotNull(decoder, nameof(decoder)); - return WithSeekableStream(configuration, stream, s => decoder.Decode(configuration, s)); + return WithSeekableStream(configuration, stream, s => decoder.Decode(configuration, s, default)); } /// @@ -449,7 +449,7 @@ namespace SixLabors.ImageSharp /// A new . public static Image Load(Stream stream, IImageDecoder decoder) where TPixel : unmanaged, IPixel - => WithSeekableStream(Configuration.Default, stream, s => decoder.Decode(Configuration.Default, s)); + => WithSeekableStream(Configuration.Default, stream, s => decoder.Decode(Configuration.Default, s, default)); /// /// Create a new instance of the class from the given stream. @@ -486,7 +486,7 @@ namespace SixLabors.ImageSharp /// A new . public static Image Load(Configuration configuration, Stream stream, IImageDecoder decoder) where TPixel : unmanaged, IPixel - => WithSeekableStream(configuration, stream, s => decoder.Decode(configuration, s)); + => WithSeekableStream(configuration, stream, s => decoder.Decode(configuration, s, default)); /// /// Create a new instance of the class from the given stream. diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpeg.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpeg.cs index 9665ca42d..d64eb15ae 100644 --- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpeg.cs +++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpeg.cs @@ -24,7 +24,7 @@ namespace SixLabors.ImageSharp.Benchmarks.Codecs.Jpeg private void GenericBechmark() { this.preloadedImageStream.Position = 0; - using Image img = this.decoder.Decode(Configuration.Default, this.preloadedImageStream); + using Image img = this.decoder.Decode(Configuration.Default, this.preloadedImageStream, default); } [GlobalSetup(Target = nameof(JpegBaselineInterleaved444))] diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/IdentifyJpeg.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/IdentifyJpeg.cs index aae144ce0..7bb147cf9 100644 --- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/IdentifyJpeg.cs +++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/IdentifyJpeg.cs @@ -32,7 +32,7 @@ namespace SixLabors.ImageSharp.Benchmarks.Codecs.Jpeg { using var memoryStream = new MemoryStream(this.jpegBytes); var decoder = new JpegDecoder(); - return decoder.Identify(Configuration.Default, memoryStream); + return decoder.Identify(Configuration.Default, memoryStream, default); } } } diff --git a/tests/ImageSharp.Tests/Formats/Bmp/BmpDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Bmp/BmpDecoderTests.cs index f85bc78fc..71d0ab34a 100644 --- a/tests/ImageSharp.Tests/Formats/Bmp/BmpDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Bmp/BmpDecoderTests.cs @@ -557,7 +557,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Bmp using (var stream = new MemoryStream(testFile.Bytes, false)) { var decoder = new BmpDecoder(); - using (Image image = decoder.Decode(Configuration.Default, stream)) + using (Image image = decoder.Decode(Configuration.Default, stream, default)) { ImageMetadata meta = image.Metadata; Assert.Equal(xResolution, meta.HorizontalResolution); diff --git a/tests/ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs index c8ecdb717..6fbdaf30b 100644 --- a/tests/ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs @@ -52,7 +52,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif { using (var stream = new UnmanagedMemoryStream(data, length)) { - using (Image image = GifDecoder.Decode(Configuration.Default, stream)) + using (Image image = GifDecoder.Decode(Configuration.Default, stream, default)) { Assert.Equal((200, 200), (image.Width, image.Height)); } diff --git a/tests/ImageSharp.Tests/Formats/Gif/GifMetadataTests.cs b/tests/ImageSharp.Tests/Formats/Gif/GifMetadataTests.cs index 5699b4741..efabed5b2 100644 --- a/tests/ImageSharp.Tests/Formats/Gif/GifMetadataTests.cs +++ b/tests/ImageSharp.Tests/Formats/Gif/GifMetadataTests.cs @@ -117,7 +117,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif input.Save(memoryStream, new GifEncoder()); memoryStream.Position = 0; - using (Image image = decoder.Decode(Configuration.Default, memoryStream)) + using (Image image = decoder.Decode(Configuration.Default, memoryStream, default)) { GifMetadata metadata = image.Metadata.GetGifMetadata(); Assert.Equal(2, metadata.Comments.Count); @@ -135,7 +135,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif using (var stream = new MemoryStream(testFile.Bytes, false)) { var decoder = new GifDecoder(); - IImageInfo image = decoder.Identify(Configuration.Default, stream); + IImageInfo image = decoder.Identify(Configuration.Default, stream, default); ImageMetadata meta = image.Metadata; Assert.Equal(xResolution, meta.HorizontalResolution); Assert.Equal(yResolution, meta.VerticalResolution); @@ -151,7 +151,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif using (var stream = new MemoryStream(testFile.Bytes, false)) { var decoder = new GifDecoder(); - using (Image image = decoder.Decode(Configuration.Default, stream)) + using (Image image = decoder.Decode(Configuration.Default, stream, default)) { ImageMetadata meta = image.Metadata; Assert.Equal(xResolution, meta.HorizontalResolution); @@ -169,7 +169,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif using (var stream = new MemoryStream(testFile.Bytes, false)) { var decoder = new GifDecoder(); - IImageInfo image = decoder.Identify(Configuration.Default, stream); + IImageInfo image = decoder.Identify(Configuration.Default, stream, default); GifMetadata meta = image.Metadata.GetGifMetadata(); Assert.Equal(repeatCount, meta.RepeatCount); } @@ -183,7 +183,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif using (var stream = new MemoryStream(testFile.Bytes, false)) { var decoder = new GifDecoder(); - using (Image image = decoder.Decode(Configuration.Default, stream)) + using (Image image = decoder.Decode(Configuration.Default, stream, default)) { GifMetadata meta = image.Metadata.GetGifMetadata(); Assert.Equal(repeatCount, meta.RepeatCount); diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs index 840cc9f68..f126825ed 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs @@ -84,7 +84,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg using (var stream = new MemoryStream(testFile.Bytes, false)) { var decoder = new JpegDecoder(); - using (Image image = decoder.Decode(Configuration.Default, stream)) + using (Image image = decoder.Decode(Configuration.Default, stream, default)) { ImageMetadata meta = image.Metadata; Assert.Equal(xResolution, meta.HorizontalResolution); @@ -102,7 +102,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg using (var stream = new MemoryStream(testFile.Bytes, false)) { var decoder = new JpegDecoder(); - IImageInfo image = decoder.Identify(Configuration.Default, stream); + IImageInfo image = decoder.Identify(Configuration.Default, stream, default); ImageMetadata meta = image.Metadata; Assert.Equal(xResolution, meta.HorizontalResolution); Assert.Equal(yResolution, meta.VerticalResolution); @@ -118,7 +118,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg using (var stream = new MemoryStream(testFile.Bytes, false)) { var decoder = new JpegDecoder(); - IImageInfo image = decoder.Identify(Configuration.Default, stream); + IImageInfo image = decoder.Identify(Configuration.Default, stream, default); JpegMetadata meta = image.Metadata.GetJpegMetadata(); Assert.Equal(quality, meta.Quality); } @@ -131,7 +131,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg var testFile = TestFile.Create(imagePath); using (var stream = new MemoryStream(testFile.Bytes, false)) { - using (Image image = JpegDecoder.Decode(Configuration.Default, stream)) + using (Image image = JpegDecoder.Decode(Configuration.Default, stream, default)) { JpegMetadata meta = image.Metadata.GetJpegMetadata(); Assert.Equal(quality, meta.Quality); @@ -153,7 +153,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg var testFile = TestFile.Create(imagePath); using (var stream = new MemoryStream(testFile.Bytes, false)) { - IImageInfo image = JpegDecoder.Identify(Configuration.Default, stream); + IImageInfo image = JpegDecoder.Identify(Configuration.Default, stream, default); JpegMetadata meta = image.Metadata.GetJpegMetadata(); Assert.Equal(expectedColorType, meta.ColorType); } @@ -181,8 +181,8 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg using (var stream = new MemoryStream(testFile.Bytes, false)) { IImageInfo imageInfo = useIdentify - ? ((IImageInfoDetector)decoder).Identify(Configuration.Default, stream) - : decoder.Decode(Configuration.Default, stream); + ? ((IImageInfoDetector)decoder).Identify(Configuration.Default, stream, default) + : decoder.Decode(Configuration.Default, stream, default); test(imageInfo); } diff --git a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.Chunks.cs b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.Chunks.cs index 8b6432ac3..8f3217a58 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.Chunks.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.Chunks.cs @@ -75,7 +75,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png var decoder = new PngDecoder(); ImageFormatException exception = - Assert.Throws(() => decoder.Decode(Configuration.Default, memStream)); + Assert.Throws(() => decoder.Decode(Configuration.Default, memStream, default)); Assert.Equal($"CRC Error. PNG {chunkName} chunk is corrupt!", exception.Message); } diff --git a/tests/ImageSharp.Tests/Formats/Png/PngEncoderTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngEncoderTests.cs index 3cc879d6b..c9b0b3c55 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngEncoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngEncoderTests.cs @@ -292,7 +292,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png var decoder = new PngDecoder(); - Image image = decoder.Decode(Configuration.Default, stream); + Image image = decoder.Decode(Configuration.Default, stream, default); PngMetadata metadata = image.Metadata.GetPngMetadata(); Assert.Equal(pngColorType, metadata.ColorType); diff --git a/tests/ImageSharp.Tests/Formats/Png/PngMetadataTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngMetadataTests.cs index 8db1d1aaf..fd39a828f 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngMetadataTests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngMetadataTests.cs @@ -75,7 +75,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png input.Save(memoryStream, new PngEncoder()); memoryStream.Position = 0; - using (Image image = decoder.Decode(Configuration.Default, memoryStream)) + using (Image image = decoder.Decode(Configuration.Default, memoryStream, default)) { PngMetadata meta = image.Metadata.GetFormatMetadata(PngFormat.Instance); VerifyTextDataIsPresent(meta); @@ -123,7 +123,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png }); memoryStream.Position = 0; - using (Image image = decoder.Decode(Configuration.Default, memoryStream)) + using (Image image = decoder.Decode(Configuration.Default, memoryStream, default)) { PngMetadata meta = image.Metadata.GetFormatMetadata(PngFormat.Instance); Assert.Contains(meta.TextData, m => m.Equals(expectedText)); @@ -212,7 +212,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png using (var stream = new MemoryStream(testFile.Bytes, false)) { var decoder = new PngDecoder(); - using (Image image = decoder.Decode(Configuration.Default, stream)) + using (Image image = decoder.Decode(Configuration.Default, stream, default)) { ImageMetadata meta = image.Metadata; Assert.Equal(xResolution, meta.HorizontalResolution); @@ -230,7 +230,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png using (var stream = new MemoryStream(testFile.Bytes, false)) { var decoder = new PngDecoder(); - IImageInfo image = decoder.Identify(Configuration.Default, stream); + IImageInfo image = decoder.Identify(Configuration.Default, stream, default); ImageMetadata meta = image.Metadata; Assert.Equal(xResolution, meta.HorizontalResolution); Assert.Equal(yResolution, meta.VerticalResolution); From 840bf82de6ef82ff77b1e05cc4db89220158ba44 Mon Sep 17 00:00:00 2001 From: Dan Kroymann Date: Wed, 16 Feb 2022 18:00:23 -0800 Subject: [PATCH 081/244] Restore mistakenly deleted logic for resetting stream position --- src/ImageSharp/Image.FromStream.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/ImageSharp/Image.FromStream.cs b/src/ImageSharp/Image.FromStream.cs index 0f3203b1f..5c4e72426 100644 --- a/src/ImageSharp/Image.FromStream.cs +++ b/src/ImageSharp/Image.FromStream.cs @@ -770,6 +770,18 @@ namespace SixLabors.ImageSharp throw new NotSupportedException("Cannot read from the stream."); } + if (stream.CanSeek) + { + if (configuration.ReadOrigin == ReadOrigin.Begin) + { + stream.Position = 0; + } + + // NOTE: We are explicitly not executing the action against the stream here as we do in WithSeekableStream() because that + // would incur synchronous IO reads which must be avoided in this asynchronous method. Instead, we will *always* run the + // code below to copy the stream to an in-memory buffer before invoking the action. + } + using var memoryStream = new ChunkedMemoryStream(configuration.MemoryAllocator); await stream.CopyToAsync(memoryStream, configuration.StreamProcessingBufferSize, cancellationToken).ConfigureAwait(false); memoryStream.Position = 0; From 6ed13c3b41e7e6dfabc9215c8a69e0d9c84f0d85 Mon Sep 17 00:00:00 2001 From: Dan Kroymann Date: Thu, 17 Feb 2022 09:16:06 -0800 Subject: [PATCH 082/244] Fix a bug in LoadAsync(filePath) where the FileStream was being disposed too early --- src/ImageSharp/Image.FromFile.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/ImageSharp/Image.FromFile.cs b/src/ImageSharp/Image.FromFile.cs index fce0835fb..345a5e6c8 100644 --- a/src/ImageSharp/Image.FromFile.cs +++ b/src/ImageSharp/Image.FromFile.cs @@ -298,7 +298,7 @@ namespace SixLabors.ImageSharp /// Image format is not supported. /// Image contains invalid content. /// A representing the asynchronous operation. - public static Task LoadAsync( + public static async Task LoadAsync( Configuration configuration, string path, IImageDecoder decoder, @@ -308,7 +308,8 @@ namespace SixLabors.ImageSharp Guard.NotNull(path, nameof(path)); using Stream stream = configuration.FileSystem.OpenRead(path); - return LoadAsync(configuration, stream, decoder, cancellationToken); + return await LoadAsync(configuration, stream, decoder, cancellationToken) + .ConfigureAwait(false); } /// @@ -326,7 +327,7 @@ namespace SixLabors.ImageSharp /// Image contains invalid content. /// The pixel format. /// A representing the asynchronous operation. - public static Task> LoadAsync( + public static async Task> LoadAsync( Configuration configuration, string path, IImageDecoder decoder, @@ -337,7 +338,8 @@ namespace SixLabors.ImageSharp Guard.NotNull(path, nameof(path)); using Stream stream = configuration.FileSystem.OpenRead(path); - return LoadAsync(configuration, stream, decoder, cancellationToken); + return await LoadAsync(configuration, stream, decoder, cancellationToken) + .ConfigureAwait(false); } /// From 2ee0c6e4218e4673a4074f28c11aafe907c9a7f5 Mon Sep 17 00:00:00 2001 From: Dan Kroymann Date: Thu, 17 Feb 2022 09:17:22 -0800 Subject: [PATCH 083/244] Fix unit tests --- .../Formats/Jpg/JpegDecoderTests.cs | 19 ++++--------------- .../Image/ImageTests.ImageLoadTestBase.cs | 4 ++-- 2 files changed, 6 insertions(+), 17 deletions(-) diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs index 7a2446959..fa01a5ffc 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs @@ -139,27 +139,16 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg Assert.IsType(ex.InnerException); } - [Theory] - [InlineData(0)] - [InlineData(0.5)] - [InlineData(0.9)] - public async Task DecodeAsync_IsCancellable(int percentageOfStreamReadToCancel) + [Fact] + public async Task DecodeAsync_IsCancellable() { var cts = new CancellationTokenSource(); string file = Path.Combine(TestEnvironment.InputImagesDirectoryFullPath, TestImages.Jpeg.Baseline.Jpeg420Small); using var pausedStream = new PausedStream(file); pausedStream.OnWaiting(s => { - if (s.Position >= s.Length * percentageOfStreamReadToCancel) - { - cts.Cancel(); - pausedStream.Release(); - } - else - { - // allows this/next wait to unblock - pausedStream.Next(); - } + cts.Cancel(); + pausedStream.Release(); }); var config = Configuration.CreateDefaultInstance(); diff --git a/tests/ImageSharp.Tests/Image/ImageTests.ImageLoadTestBase.cs b/tests/ImageSharp.Tests/Image/ImageTests.ImageLoadTestBase.cs index fd743093e..9992c3055 100644 --- a/tests/ImageSharp.Tests/Image/ImageTests.ImageLoadTestBase.cs +++ b/tests/ImageSharp.Tests/Image/ImageTests.ImageLoadTestBase.cs @@ -67,7 +67,7 @@ namespace SixLabors.ImageSharp.Tests this.localDecoder = detector.As(); this.localDecoder.Setup(x => x.Decode(It.IsAny(), It.IsAny(), It.IsAny())) - .Callback((c, s) => + .Callback((c, s, ct) => { using (var ms = new MemoryStream()) { @@ -78,7 +78,7 @@ namespace SixLabors.ImageSharp.Tests .Returns(this.localStreamReturnImageRgba32); this.localDecoder.Setup(x => x.Decode(It.IsAny(), It.IsAny(), It.IsAny())) - .Callback((c, s) => + .Callback((c, s, ct) => { using (var ms = new MemoryStream()) { From 63792362b45498b215f6d22bdfcccc7a0b9a4b55 Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Fri, 18 Feb 2022 12:12:27 +0100 Subject: [PATCH 084/244] Restored checkboxes. --- .github/ISSUE_TEMPLATE/oss-bug-report.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/oss-bug-report.yml b/.github/ISSUE_TEMPLATE/oss-bug-report.yml index 00138d511..a4e5619d4 100644 --- a/.github/ISSUE_TEMPLATE/oss-bug-report.yml +++ b/.github/ISSUE_TEMPLATE/oss-bug-report.yml @@ -2,6 +2,18 @@ name: "OSS : Bug Report" description: Create a report to help us improve the project. OSS Issues are not guaranteed to be triaged. labels: ["needs triage"] body: +- type: checkboxes + attributes: + label: Prerequisites + options: + - label: I have written a descriptive issue title + required: true + - label: I have verified that I am running the latest version of ImageSharp + required: true + - label: I have verified if the problem exist in both `DEBUG` and `RELEASE` mode + required: true + - label: I have searched [open](https://github.com/SixLabors/ImageSharp/issues) and [closed](https://github.com/SixLabors/ImageSharp/issues?q=is%3Aissue+is%3Aclosed) issues to ensure it has not already been reported + required: true - type: input attributes: label: ImageSharp version From 92da254bb8203ea5eb2fc8f58f849f487921466e Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Fri, 18 Feb 2022 12:14:19 +0100 Subject: [PATCH 085/244] Restored checkboxes. --- .github/ISSUE_TEMPLATE/commercial-bug-report.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/commercial-bug-report.yml b/.github/ISSUE_TEMPLATE/commercial-bug-report.yml index e96677b24..6b4d914d7 100644 --- a/.github/ISSUE_TEMPLATE/commercial-bug-report.yml +++ b/.github/ISSUE_TEMPLATE/commercial-bug-report.yml @@ -4,6 +4,20 @@ description: | Please contact help@sixlabors.com for issues requiring private support. labels: ["commercial", "needs triage"] body: +- type: checkboxes + attributes: + label: Prerequisites + options: + - label: I have bought a Commercial License + required: true + - label: I have written a descriptive issue title + required: true + - label: I have verified that I am running the latest version of ImageSharp + required: true + - label: I have verified if the problem exist in both `DEBUG` and `RELEASE` mode + required: true + - label: I have searched [open](https://github.com/SixLabors/ImageSharp/issues) and [closed](https://github.com/SixLabors/ImageSharp/issues?q=is%3Aissue+is%3Aclosed) issues to ensure it has not already been reported + required: true - type: input attributes: label: ImageSharp version From 204f94e84bc01975c191ce0ed3611e69c1d9425f Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Fri, 18 Feb 2022 14:43:10 +0100 Subject: [PATCH 086/244] Add tiff decoder option to only decode first frame --- src/ImageSharp/Formats/Gif/GifDecoder.cs | 1 - src/ImageSharp/Formats/Tiff/ITiffDecoderOptions.cs | 7 +++++++ src/ImageSharp/Formats/Tiff/TiffDecoder.cs | 6 ++++++ src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs | 14 ++++++++++++-- 4 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/ImageSharp/Formats/Gif/GifDecoder.cs b/src/ImageSharp/Formats/Gif/GifDecoder.cs index 196d77ad7..c31a2c1c9 100644 --- a/src/ImageSharp/Formats/Gif/GifDecoder.cs +++ b/src/ImageSharp/Formats/Gif/GifDecoder.cs @@ -5,7 +5,6 @@ using System.IO; using System.Threading; using System.Threading.Tasks; using SixLabors.ImageSharp.IO; -using SixLabors.ImageSharp.Memory; using SixLabors.ImageSharp.Metadata; using SixLabors.ImageSharp.PixelFormats; diff --git a/src/ImageSharp/Formats/Tiff/ITiffDecoderOptions.cs b/src/ImageSharp/Formats/Tiff/ITiffDecoderOptions.cs index 537238439..d6d1bb8a4 100644 --- a/src/ImageSharp/Formats/Tiff/ITiffDecoderOptions.cs +++ b/src/ImageSharp/Formats/Tiff/ITiffDecoderOptions.cs @@ -1,6 +1,8 @@ // Copyright (c) Six Labors. // Licensed under the Apache License, Version 2.0. +using SixLabors.ImageSharp.Metadata; + namespace SixLabors.ImageSharp.Formats.Tiff { /// @@ -12,5 +14,10 @@ namespace SixLabors.ImageSharp.Formats.Tiff /// Gets a value indicating whether the metadata should be ignored when the image is being decoded. /// bool IgnoreMetadata { get; } + + /// + /// Gets the decoding mode for multi-frame images. + /// + FrameDecodingMode DecodingMode { get; } } } diff --git a/src/ImageSharp/Formats/Tiff/TiffDecoder.cs b/src/ImageSharp/Formats/Tiff/TiffDecoder.cs index 9d52e34df..b4d752019 100644 --- a/src/ImageSharp/Formats/Tiff/TiffDecoder.cs +++ b/src/ImageSharp/Formats/Tiff/TiffDecoder.cs @@ -4,6 +4,7 @@ using System.IO; using System.Threading; using System.Threading.Tasks; +using SixLabors.ImageSharp.Metadata; using SixLabors.ImageSharp.PixelFormats; namespace SixLabors.ImageSharp.Formats.Tiff @@ -18,6 +19,11 @@ namespace SixLabors.ImageSharp.Formats.Tiff /// public bool IgnoreMetadata { get; set; } + /// + /// Gets or sets the decoding mode for multi-frame images. + /// + public FrameDecodingMode DecodingMode { get; set; } + /// public Image Decode(Configuration configuration, Stream stream) where TPixel : unmanaged, IPixel diff --git a/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs b/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs index 05c5358f5..cd06282f1 100644 --- a/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs +++ b/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs @@ -13,7 +13,6 @@ using SixLabors.ImageSharp.IO; using SixLabors.ImageSharp.Memory; using SixLabors.ImageSharp.Metadata; using SixLabors.ImageSharp.Metadata.Profiles.Exif; -using SixLabors.ImageSharp.Metadata.Profiles.Xmp; using SixLabors.ImageSharp.PixelFormats; namespace SixLabors.ImageSharp.Formats.Tiff @@ -33,6 +32,11 @@ namespace SixLabors.ImageSharp.Formats.Tiff /// private readonly bool ignoreMetadata; + /// + /// Gets the decoding mode for multi-frame images + /// + private FrameDecodingMode decodingMode; + /// /// The stream to decode from. /// @@ -59,6 +63,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff this.Configuration = configuration ?? Configuration.Default; this.ignoreMetadata = options.IgnoreMetadata; + this.decodingMode = options.DecodingMode; this.memoryAllocator = this.Configuration.MemoryAllocator; } @@ -160,11 +165,16 @@ namespace SixLabors.ImageSharp.Formats.Tiff cancellationToken.ThrowIfCancellationRequested(); ImageFrame frame = this.DecodeFrame(ifd, cancellationToken); frames.Add(frame); + + if (this.decodingMode is FrameDecodingMode.First) + { + break; + } } ImageMetadata metadata = TiffDecoderMetadataCreator.Create(frames, this.ignoreMetadata, reader.ByteOrder, reader.IsBigTiff); - // TODO: Tiff frames can have different sizes + // TODO: Tiff frames can have different sizes. ImageFrame root = frames[0]; this.Dimensions = root.Size(); foreach (ImageFrame frame in frames) From a963fa09adb839d9ddba40f2524cb6ed00b4ed13 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Fri, 18 Feb 2022 14:53:00 +0100 Subject: [PATCH 087/244] Add test for decoding only the first frame --- .../Formats/Tiff/TiffDecoderTests.cs | 12 ++++++++++++ tests/ImageSharp.Tests/TestImages.cs | 1 + tests/Images/Input/Tiff/SKC1H3.tiff | 3 +++ 3 files changed, 16 insertions(+) create mode 100644 tests/Images/Input/Tiff/SKC1H3.tiff diff --git a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs index ea0544acf..51d38dc58 100644 --- a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs @@ -4,6 +4,7 @@ // ReSharper disable InconsistentNaming using System; using System.IO; +using SixLabors.ImageSharp.Formats.Tiff; using SixLabors.ImageSharp.Metadata; using SixLabors.ImageSharp.PixelFormats; using SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison; @@ -365,6 +366,17 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff public void TiffDecoder_CanDecode_PackBitsCompressed(TestImageProvider provider) where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + [Theory] + [WithFile(MultiFrameMipMap, PixelTypes.Rgba32)] + public void CanDecodeJustOneFrame(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + using (Image image = provider.GetImage(new TiffDecoder() { DecodingMode = FrameDecodingMode.First })) + { + Assert.Equal(1, image.Frames.Count); + } + } + [Theory] [WithFile(RgbJpegCompressed, PixelTypes.Rgba32)] [WithFile(RgbWithStripsJpegCompressed, PixelTypes.Rgba32)] diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index 8b943194a..d7ac9c364 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -867,6 +867,7 @@ namespace SixLabors.ImageSharp.Tests public const string MultiframeDeflateWithPreview = "Tiff/multipage_deflate_withPreview.tiff"; public const string MultiframeDifferentSize = "Tiff/multipage_differentSize.tiff"; public const string MultiframeDifferentVariants = "Tiff/multipage_differentVariants.tiff"; + public const string MultiFrameMipMap = "Tiff/SKC1H3.tiff"; public const string LittleEndianByteOrder = "Tiff/little_endian.tiff"; diff --git a/tests/Images/Input/Tiff/SKC1H3.tiff b/tests/Images/Input/Tiff/SKC1H3.tiff new file mode 100644 index 000000000..9f9a50fdd --- /dev/null +++ b/tests/Images/Input/Tiff/SKC1H3.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:938bbf1c0f8bdbea0c632bb8d51c1150f757f88b3779d7fa18c296a3a3f61e9b +size 13720193 From 8db482834d6b158f944b08f2f64bc20ba205edee Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Sat, 19 Feb 2022 02:38:01 +1100 Subject: [PATCH 088/244] Handle empty XMP profiles. Fix #2012 --- .../Common/Extensions/StreamExtensions.cs | 2 +- src/ImageSharp/Formats/Gif/GifDecoderCore.cs | 10 ++- src/ImageSharp/Formats/Gif/GifEncoderCore.cs | 4 +- src/ImageSharp/Formats/Gif/LzwDecoder.cs | 2 +- .../Sections/GifXmpApplicationExtension.cs | 72 +++++++++++-------- src/ImageSharp/Metadata/ImageMetadata.cs | 3 +- .../Formats/Gif/GifDecoderTests.cs | 12 ++++ .../Formats/WebP/WebpMetaDataTests.cs | 3 +- .../Metadata/Profiles/XMP/XmpProfileTests.cs | 13 ++-- tests/ImageSharp.Tests/TestImages.cs | 1 + ...2012_Stronghold-Crusader-Extreme-Cover.png | 3 + ...2012_Stronghold-Crusader-Extreme-Cover.gif | 3 + 12 files changed, 82 insertions(+), 46 deletions(-) create mode 100644 tests/Images/External/ReferenceOutput/GifDecoderTests/Issue2012EmptyXmp_Rgba32_issue2012_Stronghold-Crusader-Extreme-Cover.png create mode 100644 tests/Images/Input/Gif/issues/issue2012_Stronghold-Crusader-Extreme-Cover.gif diff --git a/src/ImageSharp/Common/Extensions/StreamExtensions.cs b/src/ImageSharp/Common/Extensions/StreamExtensions.cs index 1193eccee..8746989b3 100644 --- a/src/ImageSharp/Common/Extensions/StreamExtensions.cs +++ b/src/ImageSharp/Common/Extensions/StreamExtensions.cs @@ -13,7 +13,7 @@ namespace SixLabors.ImageSharp internal static class StreamExtensions { /// - /// Writes data from a stream into the provided buffer. + /// Writes data from a stream from the provided buffer. /// /// The stream. /// The buffer. diff --git a/src/ImageSharp/Formats/Gif/GifDecoderCore.cs b/src/ImageSharp/Formats/Gif/GifDecoderCore.cs index 72e3ed144..0a5eba789 100644 --- a/src/ImageSharp/Formats/Gif/GifDecoderCore.cs +++ b/src/ImageSharp/Formats/Gif/GifDecoderCore.cs @@ -265,10 +265,14 @@ namespace SixLabors.ImageSharp.Formats.Gif this.stream.Read(this.buffer, 0, GifConstants.ApplicationBlockSize); bool isXmp = this.buffer.AsSpan().StartsWith(GifConstants.XmpApplicationIdentificationBytes); - if (isXmp) + if (isXmp && !this.IgnoreMetadata) { - var extension = GifXmpApplicationExtension.Read(this.stream); - this.metadata.XmpProfile = new XmpProfile(extension.Data); + var extension = GifXmpApplicationExtension.Read(this.stream, this.MemoryAllocator); + if (extension.Data.Length > 0) + { + this.metadata.XmpProfile = new XmpProfile(extension.Data); + } + return; } else diff --git a/src/ImageSharp/Formats/Gif/GifEncoderCore.cs b/src/ImageSharp/Formats/Gif/GifEncoderCore.cs index a21b050a8..e8bb13612 100644 --- a/src/ImageSharp/Formats/Gif/GifEncoderCore.cs +++ b/src/ImageSharp/Formats/Gif/GifEncoderCore.cs @@ -123,7 +123,8 @@ namespace SixLabors.ImageSharp.Formats.Gif this.WriteComments(gifMetadata, stream); // Write application extensions. - this.WriteApplicationExtensions(stream, image.Frames.Count, gifMetadata.RepeatCount, metadata.XmpProfile); + XmpProfile xmpProfile = image.Metadata.XmpProfile ?? image.Frames.RootFrame.Metadata.XmpProfile; + this.WriteApplicationExtensions(stream, image.Frames.Count, gifMetadata.RepeatCount, xmpProfile); if (useGlobalTable) { @@ -137,7 +138,6 @@ namespace SixLabors.ImageSharp.Formats.Gif // Clean up. quantized.Dispose(); - // TODO: Write extension etc stream.WriteByte(GifConstants.EndIntroducer); } diff --git a/src/ImageSharp/Formats/Gif/LzwDecoder.cs b/src/ImageSharp/Formats/Gif/LzwDecoder.cs index 68227db53..1db05bb83 100644 --- a/src/ImageSharp/Formats/Gif/LzwDecoder.cs +++ b/src/ImageSharp/Formats/Gif/LzwDecoder.cs @@ -68,7 +68,7 @@ namespace SixLabors.ImageSharp.Formats.Gif /// The pixel array to decode to. public void DecodePixels(int dataSize, Buffer2D pixels) { - Guard.MustBeLessThan(dataSize, int.MaxValue, nameof(dataSize)); + Guard.MustBeLessThanOrEqualTo(1 << dataSize, MaxStackSize, nameof(dataSize)); // The resulting index table length. int width = pixels.Width; diff --git a/src/ImageSharp/Formats/Gif/Sections/GifXmpApplicationExtension.cs b/src/ImageSharp/Formats/Gif/Sections/GifXmpApplicationExtension.cs index 236508fe9..00bf4b7a2 100644 --- a/src/ImageSharp/Formats/Gif/Sections/GifXmpApplicationExtension.cs +++ b/src/ImageSharp/Formats/Gif/Sections/GifXmpApplicationExtension.cs @@ -2,9 +2,9 @@ // Licensed under the Apache License, Version 2.0. using System; -using System.Collections.Generic; using System.IO; -using SixLabors.ImageSharp.Metadata.Profiles.Xmp; +using SixLabors.ImageSharp.IO; +using SixLabors.ImageSharp.Memory; namespace SixLabors.ImageSharp.Formats.Gif { @@ -14,7 +14,10 @@ namespace SixLabors.ImageSharp.Formats.Gif public byte Label => GifConstants.ApplicationExtensionLabel; - public int ContentLength => this.Data.Length + 269; // 12 + Data Length + 1 + 256 + // size : 1 + // identifier : 11 + // magic trailer : 257 + public int ContentLength => this.Data.Length + 269; /// /// Gets the raw Data. @@ -25,40 +28,23 @@ namespace SixLabors.ImageSharp.Formats.Gif /// Reads the XMP metadata from the specified stream. /// /// The stream to read from. + /// The memory allocator. /// The XMP metadata /// Thrown if the XMP block is not properly terminated. - public static GifXmpApplicationExtension Read(Stream stream) + public static GifXmpApplicationExtension Read(Stream stream, MemoryAllocator allocator) { - // Read data in blocks, until an \0 character is encountered. - // We overshoot, indicated by the terminatorIndex variable. - const int bufferSize = 256; - var list = new List(); - int terminationIndex = -1; - while (terminationIndex < 0) - { - byte[] temp = new byte[bufferSize]; - int bytesRead = stream.Read(temp); - list.Add(temp); - terminationIndex = Array.IndexOf(temp, (byte)1); - } + byte[] xmpBytes = ReadXmpData(stream, allocator); - // Pack all the blocks (except magic trailer) into one single array again. - int dataSize = ((list.Count - 1) * bufferSize) + terminationIndex; - byte[] buffer = new byte[dataSize]; - Span bufferSpan = buffer; - int pos = 0; - for (int j = 0; j < list.Count - 1; j++) + // Exclude the "magic trailer", see XMP Specification Part 3, 1.1.2 GIF + int xmpLength = xmpBytes.Length - 256; // 257 - unread 0x0 + byte[] buffer = Array.Empty(); + if (xmpLength > 0) { - list[j].CopyTo(bufferSpan.Slice(pos)); - pos += bufferSize; + buffer = new byte[xmpLength]; + xmpBytes.AsSpan(0, xmpLength).CopyTo(buffer); + stream.Skip(1); // Skip the terminator. } - // Last one only needs the portion until terminationIndex copied over. - Span lastBytes = list[list.Count - 1]; - lastBytes.Slice(0, terminationIndex).CopyTo(bufferSpan.Slice(pos)); - - // Skip the remainder of the magic trailer. - stream.Skip(258 - (bufferSize - terminationIndex)); return new GifXmpApplicationExtension(buffer); } @@ -67,7 +53,7 @@ namespace SixLabors.ImageSharp.Formats.Gif int totalSize = this.ContentLength; if (buffer.Length < totalSize) { - throw new InsufficientMemoryException("Unable to write XMP metadata to GIF image"); + ThrowInsufficientMemory(); } int bytesWritten = 0; @@ -93,5 +79,29 @@ namespace SixLabors.ImageSharp.Formats.Gif return totalSize; } + + private static byte[] ReadXmpData(Stream stream, MemoryAllocator allocator) + { + using ChunkedMemoryStream bytes = new(allocator); + + // XMP data doesn't have a fixed length nor is there an indicator of the length. + // So we simply read one byte at a time until we hit the 0x0 value at the end + // of the magic trailer or the end of the stream. + // Using ChunkedMemoryStream reduces the array resize allocation normally associated + // with writing from a non fixed-size buffer. + while (true) + { + int b = stream.ReadByte(); + if (b <= 0) + { + return bytes.ToArray(); + } + + bytes.WriteByte((byte)b); + } + } + + private static void ThrowInsufficientMemory() + => throw new InsufficientMemoryException("Unable to write XMP metadata to GIF image"); } } diff --git a/src/ImageSharp/Metadata/ImageMetadata.cs b/src/ImageSharp/Metadata/ImageMetadata.cs index 89592f776..4760fa141 100644 --- a/src/ImageSharp/Metadata/ImageMetadata.cs +++ b/src/ImageSharp/Metadata/ImageMetadata.cs @@ -68,6 +68,7 @@ namespace SixLabors.ImageSharp.Metadata this.ExifProfile = other.ExifProfile?.DeepClone(); this.IccProfile = other.IccProfile?.DeepClone(); this.IptcProfile = other.IptcProfile?.DeepClone(); + this.XmpProfile = other.XmpProfile?.DeepClone(); } /// @@ -175,7 +176,7 @@ namespace SixLabors.ImageSharp.Metadata } /// - public ImageMetadata DeepClone() => new ImageMetadata(this); + public ImageMetadata DeepClone() => new(this); /// /// Synchronizes the profiles with the current metadata. diff --git a/tests/ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs index c8ecdb717..7ca64bea7 100644 --- a/tests/ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs @@ -259,5 +259,17 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif image.CompareFirstFrameToReferenceOutput(ImageComparer.Exact, provider); } + + // https://github.com/SixLabors/ImageSharp/issues/2012 + [Theory] + [WithFile(TestImages.Gif.Issues.Issue2012EmptyXmp, PixelTypes.Rgba32)] + public void Issue2012EmptyXmp(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + using Image image = provider.GetImage(); + + image.DebugSave(provider); + image.CompareFirstFrameToReferenceOutput(ImageComparer.Exact, provider); + } } } diff --git a/tests/ImageSharp.Tests/Formats/WebP/WebpMetaDataTests.cs b/tests/ImageSharp.Tests/Formats/WebP/WebpMetaDataTests.cs index 7fba86b4f..eaa7fb564 100644 --- a/tests/ImageSharp.Tests/Formats/WebP/WebpMetaDataTests.cs +++ b/tests/ImageSharp.Tests/Formats/WebP/WebpMetaDataTests.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. using System.IO; +using System.Threading.Tasks; using SixLabors.ImageSharp.Formats.Webp; using SixLabors.ImageSharp.Metadata.Profiles.Exif; using SixLabors.ImageSharp.PixelFormats; @@ -66,7 +67,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Webp [Theory] [WithFile(TestImages.Webp.Lossy.WithXmp, PixelTypes.Rgba32, false)] [WithFile(TestImages.Webp.Lossy.WithXmp, PixelTypes.Rgba32, true)] - public async void IgnoreMetadata_ControlsWhetherXmpIsParsed(TestImageProvider provider, bool ignoreMetadata) + public async Task IgnoreMetadata_ControlsWhetherXmpIsParsed(TestImageProvider provider, bool ignoreMetadata) where TPixel : unmanaged, IPixel { var decoder = new WebpDecoder { IgnoreMetadata = ignoreMetadata }; diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/XMP/XmpProfileTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/XMP/XmpProfileTests.cs index 81dad699a..a3c15d0b3 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/XMP/XmpProfileTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/XMP/XmpProfileTests.cs @@ -4,6 +4,7 @@ using System; using System.IO; using System.Text; +using System.Threading.Tasks; using System.Xml.Linq; using SixLabors.ImageSharp.Formats; using SixLabors.ImageSharp.Formats.Gif; @@ -31,7 +32,7 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Xmp [Theory] [WithFile(TestImages.Gif.Receipt, PixelTypes.Rgba32)] - public async void ReadXmpMetadata_FromGif_Works(TestImageProvider provider) + public async Task ReadXmpMetadata_FromGif_Works(TestImageProvider provider) where TPixel : unmanaged, IPixel { using (Image image = await provider.GetImageAsync(GifDecoder)) @@ -45,7 +46,7 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Xmp [WithFile(TestImages.Jpeg.Baseline.Lake, PixelTypes.Rgba32)] [WithFile(TestImages.Jpeg.Baseline.Metadata, PixelTypes.Rgba32)] [WithFile(TestImages.Jpeg.Baseline.ExtendedXmp, PixelTypes.Rgba32)] - public async void ReadXmpMetadata_FromJpg_Works(TestImageProvider provider) + public async Task ReadXmpMetadata_FromJpg_Works(TestImageProvider provider) where TPixel : unmanaged, IPixel { using (Image image = await provider.GetImageAsync(JpegDecoder)) @@ -57,7 +58,7 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Xmp [Theory] [WithFile(TestImages.Png.XmpColorPalette, PixelTypes.Rgba32)] - public async void ReadXmpMetadata_FromPng_Works(TestImageProvider provider) + public async Task ReadXmpMetadata_FromPng_Works(TestImageProvider provider) where TPixel : unmanaged, IPixel { using (Image image = await provider.GetImageAsync(PngDecoder)) @@ -69,7 +70,7 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Xmp [Theory] [WithFile(TestImages.Tiff.SampleMetadata, PixelTypes.Rgba32)] - public async void ReadXmpMetadata_FromTiff_Works(TestImageProvider provider) + public async Task ReadXmpMetadata_FromTiff_Works(TestImageProvider provider) where TPixel : unmanaged, IPixel { using (Image image = await provider.GetImageAsync(TiffDecoder)) @@ -81,7 +82,7 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Xmp [Theory] [WithFile(TestImages.Webp.Lossy.WithXmp, PixelTypes.Rgba32)] - public async void ReadXmpMetadata_FromWebp_Works(TestImageProvider provider) + public async Task ReadXmpMetadata_FromWebp_Works(TestImageProvider provider) where TPixel : unmanaged, IPixel { using (Image image = await provider.GetImageAsync(WebpDecoder)) @@ -157,7 +158,7 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Xmp } [Fact] - public async void WritingJpeg_PreservesExtendedXmpProfile() + public async Task WritingJpeg_PreservesExtendedXmpProfile() { // arrange var provider = TestImageProvider.File(TestImages.Jpeg.Baseline.ExtendedXmp); diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index 8b943194a..ffdd6f8f2 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -452,6 +452,7 @@ namespace SixLabors.ImageSharp.Tests public const string Issue1530 = "Gif/issues/issue1530.gif"; public const string InvalidColorIndex = "Gif/issues/issue1668_invalidcolorindex.gif"; public const string Issue1962NoColorTable = "Gif/issues/issue1962_tiniest_gif_1st.gif"; + public const string Issue2012EmptyXmp = "Gif/issues/issue2012_Stronghold-Crusader-Extreme-Cover.gif"; } public static readonly string[] All = { Rings, Giphy, Cheers, Trans, Kumin, Leo, Ratio4x1, Ratio1x4 }; diff --git a/tests/Images/External/ReferenceOutput/GifDecoderTests/Issue2012EmptyXmp_Rgba32_issue2012_Stronghold-Crusader-Extreme-Cover.png b/tests/Images/External/ReferenceOutput/GifDecoderTests/Issue2012EmptyXmp_Rgba32_issue2012_Stronghold-Crusader-Extreme-Cover.png new file mode 100644 index 000000000..c646eb860 --- /dev/null +++ b/tests/Images/External/ReferenceOutput/GifDecoderTests/Issue2012EmptyXmp_Rgba32_issue2012_Stronghold-Crusader-Extreme-Cover.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3ba8295d8a4b087d6c19fbad7e97cef7b5ce1a69b9c4c4f79cee6bc77e41f236 +size 62778 diff --git a/tests/Images/Input/Gif/issues/issue2012_Stronghold-Crusader-Extreme-Cover.gif b/tests/Images/Input/Gif/issues/issue2012_Stronghold-Crusader-Extreme-Cover.gif new file mode 100644 index 000000000..90f0e0f1c --- /dev/null +++ b/tests/Images/Input/Gif/issues/issue2012_Stronghold-Crusader-Extreme-Cover.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:97f8fdbabfbd9663bf9940dc33f81edf330b62789d1aa573ae85a520903723e5 +size 77498 From c64078cc17369e92ea83df3ec8687e4d9c41daf3 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Sat, 19 Feb 2022 16:58:09 +1100 Subject: [PATCH 089/244] Remove unnecessary throw and optimize write. --- src/ImageSharp/Formats/Gif/GifEncoderCore.cs | 23 +++++++++++-------- .../Sections/GifGraphicControlExtension.cs | 6 ++--- .../GifNetscapeLoopingApplicationExtension.cs | 2 +- .../Sections/GifXmpApplicationExtension.cs | 13 ++--------- 4 files changed, 19 insertions(+), 25 deletions(-) diff --git a/src/ImageSharp/Formats/Gif/GifEncoderCore.cs b/src/ImageSharp/Formats/Gif/GifEncoderCore.cs index e8bb13612..da5b1cb23 100644 --- a/src/ImageSharp/Formats/Gif/GifEncoderCore.cs +++ b/src/ImageSharp/Formats/Gif/GifEncoderCore.cs @@ -428,26 +428,31 @@ namespace SixLabors.ImageSharp.Formats.Gif where TGifExtension : struct, IGifExtension { IMemoryOwner owner = null; - Span buffer; + Span extensionBuffer; int extensionSize = extension.ContentLength; - if (extensionSize > this.buffer.Length - 3) + + if (extensionSize == 0) + { + return; + } + else if (extensionSize > this.buffer.Length - 3) { owner = this.memoryAllocator.Allocate(extensionSize + 3); - buffer = owner.GetSpan(); + extensionBuffer = owner.GetSpan(); } else { - buffer = this.buffer; + extensionBuffer = this.buffer; } - buffer[0] = GifConstants.ExtensionIntroducer; - buffer[1] = extension.Label; + extensionBuffer[0] = GifConstants.ExtensionIntroducer; + extensionBuffer[1] = extension.Label; - extension.WriteTo(buffer.Slice(2)); + extension.WriteTo(extensionBuffer.Slice(2)); - buffer[extensionSize + 2] = GifConstants.Terminator; + extensionBuffer[extensionSize + 2] = GifConstants.Terminator; - stream.Write(buffer, 0, extensionSize + 3); + stream.Write(extensionBuffer, 0, extensionSize + 3); owner?.Dispose(); } diff --git a/src/ImageSharp/Formats/Gif/Sections/GifGraphicControlExtension.cs b/src/ImageSharp/Formats/Gif/Sections/GifGraphicControlExtension.cs index 801849c9b..847633694 100644 --- a/src/ImageSharp/Formats/Gif/Sections/GifGraphicControlExtension.cs +++ b/src/ImageSharp/Formats/Gif/Sections/GifGraphicControlExtension.cs @@ -71,13 +71,11 @@ namespace SixLabors.ImageSharp.Formats.Gif dest = this; - return 5; + return ((IGifExtension)this).ContentLength; } public static GifGraphicControlExtension Parse(ReadOnlySpan buffer) - { - return MemoryMarshal.Cast(buffer)[0]; - } + => MemoryMarshal.Cast(buffer)[0]; public static byte GetPackedValue(GifDisposalMethod disposalMethod, bool userInputFlag = false, bool transparencyFlag = false) { diff --git a/src/ImageSharp/Formats/Gif/Sections/GifNetscapeLoopingApplicationExtension.cs b/src/ImageSharp/Formats/Gif/Sections/GifNetscapeLoopingApplicationExtension.cs index 2c7bed611..c9e8033db 100644 --- a/src/ImageSharp/Formats/Gif/Sections/GifNetscapeLoopingApplicationExtension.cs +++ b/src/ImageSharp/Formats/Gif/Sections/GifNetscapeLoopingApplicationExtension.cs @@ -40,7 +40,7 @@ namespace SixLabors.ImageSharp.Formats.Gif // 0 means loop indefinitely. Count is set as play n + 1 times. BinaryPrimitives.WriteUInt16LittleEndian(buffer.Slice(14, 2), this.RepeatCount); - return 16; // Length - Introducer + Label + Terminator. + return this.ContentLength; // Length - Introducer + Label + Terminator. } } } diff --git a/src/ImageSharp/Formats/Gif/Sections/GifXmpApplicationExtension.cs b/src/ImageSharp/Formats/Gif/Sections/GifXmpApplicationExtension.cs index 00bf4b7a2..8c396e7fb 100644 --- a/src/ImageSharp/Formats/Gif/Sections/GifXmpApplicationExtension.cs +++ b/src/ImageSharp/Formats/Gif/Sections/GifXmpApplicationExtension.cs @@ -17,7 +17,7 @@ namespace SixLabors.ImageSharp.Formats.Gif // size : 1 // identifier : 11 // magic trailer : 257 - public int ContentLength => this.Data.Length + 269; + public int ContentLength => (this.Data.Length > 0) ? this.Data.Length + 269 : 0; /// /// Gets the raw Data. @@ -50,12 +50,6 @@ namespace SixLabors.ImageSharp.Formats.Gif public int WriteTo(Span buffer) { - int totalSize = this.ContentLength; - if (buffer.Length < totalSize) - { - ThrowInsufficientMemory(); - } - int bytesWritten = 0; buffer[bytesWritten++] = GifConstants.ApplicationBlockSize; @@ -77,7 +71,7 @@ namespace SixLabors.ImageSharp.Formats.Gif buffer[bytesWritten++] = 0x00; - return totalSize; + return this.ContentLength; } private static byte[] ReadXmpData(Stream stream, MemoryAllocator allocator) @@ -100,8 +94,5 @@ namespace SixLabors.ImageSharp.Formats.Gif bytes.WriteByte((byte)b); } } - - private static void ThrowInsufficientMemory() - => throw new InsufficientMemoryException("Unable to write XMP metadata to GIF image"); } } From c129278cae336b997d1de0f90047326e527d9fe2 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Sat, 19 Feb 2022 21:10:15 +1100 Subject: [PATCH 090/244] Don't throw for bad min code, just don't decode indices. --- src/ImageSharp/Formats/Gif/GifDecoderCore.cs | 2 +- src/ImageSharp/Formats/Gif/LzwDecoder.cs | 12 ++++++++---- .../ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs | 12 ++++++++++++ tests/ImageSharp.Tests/TestImages.cs | 1 + .../Issue2012BadMinCode_Rgba32_issue2012_drona1.png | 3 +++ tests/Images/Input/Gif/issues/issue2012_drona1.gif | 3 +++ 6 files changed, 28 insertions(+), 5 deletions(-) create mode 100644 tests/Images/External/ReferenceOutput/GifDecoderTests/Issue2012BadMinCode_Rgba32_issue2012_drona1.png create mode 100644 tests/Images/Input/Gif/issues/issue2012_drona1.gif diff --git a/src/ImageSharp/Formats/Gif/GifDecoderCore.cs b/src/ImageSharp/Formats/Gif/GifDecoderCore.cs index 0a5eba789..98e012658 100644 --- a/src/ImageSharp/Formats/Gif/GifDecoderCore.cs +++ b/src/ImageSharp/Formats/Gif/GifDecoderCore.cs @@ -378,8 +378,8 @@ namespace SixLabors.ImageSharp.Formats.Gif } indices = this.Configuration.MemoryAllocator.Allocate2D(this.imageDescriptor.Width, this.imageDescriptor.Height, AllocationOptions.Clean); - this.ReadFrameIndices(indices); + Span rawColorTable = default; if (localColorTable != null) { diff --git a/src/ImageSharp/Formats/Gif/LzwDecoder.cs b/src/ImageSharp/Formats/Gif/LzwDecoder.cs index 1db05bb83..8bb52b637 100644 --- a/src/ImageSharp/Formats/Gif/LzwDecoder.cs +++ b/src/ImageSharp/Formats/Gif/LzwDecoder.cs @@ -68,16 +68,20 @@ namespace SixLabors.ImageSharp.Formats.Gif /// The pixel array to decode to. public void DecodePixels(int dataSize, Buffer2D pixels) { - Guard.MustBeLessThanOrEqualTo(1 << dataSize, MaxStackSize, nameof(dataSize)); + // Calculate the clear code. The value of the clear code is 2 ^ dataSize + int clearCode = 1 << dataSize; + if (clearCode > MaxStackSize) + { + // Don't attempt to decode the frame indices. + // The image is most likely corrupted. + return; + } // The resulting index table length. int width = pixels.Width; int height = pixels.Height; int length = width * height; - // Calculate the clear code. The value of the clear code is 2 ^ dataSize - int clearCode = 1 << dataSize; - int codeSize = dataSize + 1; // Calculate the end code diff --git a/tests/ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs index 7ca64bea7..289bf6a4f 100644 --- a/tests/ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs @@ -271,5 +271,17 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif image.DebugSave(provider); image.CompareFirstFrameToReferenceOutput(ImageComparer.Exact, provider); } + + // https://github.com/SixLabors/ImageSharp/issues/2012 + [Theory] + [WithFile(TestImages.Gif.Issues.Issue2012BadMinCode, PixelTypes.Rgba32)] + public void Issue2012BadMinCode(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + using Image image = provider.GetImage(); + + image.DebugSave(provider); + image.CompareFirstFrameToReferenceOutput(ImageComparer.Exact, provider); + } } } diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index ffdd6f8f2..6ff116225 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -453,6 +453,7 @@ namespace SixLabors.ImageSharp.Tests public const string InvalidColorIndex = "Gif/issues/issue1668_invalidcolorindex.gif"; public const string Issue1962NoColorTable = "Gif/issues/issue1962_tiniest_gif_1st.gif"; public const string Issue2012EmptyXmp = "Gif/issues/issue2012_Stronghold-Crusader-Extreme-Cover.gif"; + public const string Issue2012BadMinCode = "Gif/issues/issue2012_drona1.gif"; } public static readonly string[] All = { Rings, Giphy, Cheers, Trans, Kumin, Leo, Ratio4x1, Ratio1x4 }; diff --git a/tests/Images/External/ReferenceOutput/GifDecoderTests/Issue2012BadMinCode_Rgba32_issue2012_drona1.png b/tests/Images/External/ReferenceOutput/GifDecoderTests/Issue2012BadMinCode_Rgba32_issue2012_drona1.png new file mode 100644 index 000000000..5e23f5528 --- /dev/null +++ b/tests/Images/External/ReferenceOutput/GifDecoderTests/Issue2012BadMinCode_Rgba32_issue2012_drona1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf4bc93479140b05b25066eb10c33fa9f82c617828a56526d47f5a8c72035ef0 +size 1871 diff --git a/tests/Images/Input/Gif/issues/issue2012_drona1.gif b/tests/Images/Input/Gif/issues/issue2012_drona1.gif new file mode 100644 index 000000000..803d68487 --- /dev/null +++ b/tests/Images/Input/Gif/issues/issue2012_drona1.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbb23b2a19e314969c6da99374ae133d834d76c3f0ab9df4a7edc9334bb065e6 +size 10508 From a01ff4a6427f4ea25d1f132424cdff7525599357 Mon Sep 17 00:00:00 2001 From: Titus Date: Sat, 19 Feb 2022 10:14:46 -0500 Subject: [PATCH 091/244] Fix issue in PNG identify method to skip "uninteresting" chunks, including sBIT. --- src/ImageSharp/Formats/Png/PngDecoderCore.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ImageSharp/Formats/Png/PngDecoderCore.cs b/src/ImageSharp/Formats/Png/PngDecoderCore.cs index f5fc86ee4..a7f4d5e8d 100644 --- a/src/ImageSharp/Formats/Png/PngDecoderCore.cs +++ b/src/ImageSharp/Formats/Png/PngDecoderCore.cs @@ -336,6 +336,9 @@ namespace SixLabors.ImageSharp.Formats.Png break; case PngChunkType.End: goto EOF; + default: + this.SkipChunkDataAndCrc(chunk); + break; } } finally From 892dbe318f03b4b21ecbf71d03989b2985e0db54 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sat, 19 Feb 2022 18:12:14 +0100 Subject: [PATCH 092/244] Throw exception, if palette chunk is missing --- src/ImageSharp/Formats/Png/PngScanlineProcessor.cs | 5 +++++ src/ImageSharp/Formats/Png/PngThrowHelper.cs | 3 +++ 2 files changed, 8 insertions(+) diff --git a/src/ImageSharp/Formats/Png/PngScanlineProcessor.cs b/src/ImageSharp/Formats/Png/PngScanlineProcessor.cs index 58fa5aca8..26bc566d6 100644 --- a/src/ImageSharp/Formats/Png/PngScanlineProcessor.cs +++ b/src/ImageSharp/Formats/Png/PngScanlineProcessor.cs @@ -240,6 +240,11 @@ namespace SixLabors.ImageSharp.Formats.Png byte[] paletteAlpha) where TPixel : unmanaged, IPixel { + if (palette.IsEmpty) + { + PngThrowHelper.ThrowMissingPalette(); + } + TPixel pixel = default; ref byte scanlineSpanRef = ref MemoryMarshal.GetReference(scanlineSpan); ref TPixel rowSpanRef = ref MemoryMarshal.GetReference(rowSpan); diff --git a/src/ImageSharp/Formats/Png/PngThrowHelper.cs b/src/ImageSharp/Formats/Png/PngThrowHelper.cs index 8700438bd..ad733f010 100644 --- a/src/ImageSharp/Formats/Png/PngThrowHelper.cs +++ b/src/ImageSharp/Formats/Png/PngThrowHelper.cs @@ -21,6 +21,9 @@ namespace SixLabors.ImageSharp.Formats.Png [MethodImpl(InliningOptions.ColdPath)] public static void ThrowNoData() => throw new InvalidImageContentException("PNG Image does not contain a data chunk"); + [MethodImpl(InliningOptions.ColdPath)] + public static void ThrowMissingPalette() => throw new InvalidImageContentException("PNG Image does not contain palette chunk"); + [MethodImpl(InliningOptions.ColdPath)] public static void ThrowInvalidChunkType() => throw new InvalidImageContentException("Invalid PNG data."); From d98171fa54180dec22db9e0e207e803edc4b6c8a Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sat, 19 Feb 2022 18:23:45 +0100 Subject: [PATCH 093/244] Add tests for missing palette chunk --- .../Formats/Png/PngDecoderTests.cs | 16 ++++++++++++++++ tests/ImageSharp.Tests/TestImages.cs | 2 ++ tests/Images/Input/Png/missing_plte.png | 3 +++ tests/Images/Input/Png/missing_plte_2.png | 3 +++ 4 files changed, 24 insertions(+) create mode 100644 tests/Images/Input/Png/missing_plte.png create mode 100644 tests/Images/Input/Png/missing_plte_2.png diff --git a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs index c29f8c589..f81a77ca1 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs @@ -265,6 +265,22 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png Assert.Contains("PNG Image does not contain a data chunk", ex.Message); } + [Theory] + [WithFile(TestImages.Png.Bad.MissingPaletteChunk1, PixelTypes.Rgba32)] + [WithFile(TestImages.Png.Bad.MissingPaletteChunk2, PixelTypes.Rgba32)] + public void Decode_MissingPaletteChunk_ThrowsException(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + Exception ex = Record.Exception( + () => + { + using Image image = provider.GetImage(PngDecoder); + image.DebugSave(provider); + }); + Assert.NotNull(ex); + Assert.Contains("PNG Image does not contain palette chunk", ex.Message); + } + [Theory] [WithFile(TestImages.Png.Bad.BitDepthZero, PixelTypes.Rgba32)] [WithFile(TestImages.Png.Bad.BitDepthThree, PixelTypes.Rgba32)] diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index 8b943194a..d03a60183 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -127,6 +127,8 @@ namespace SixLabors.ImageSharp.Tests public const string MissingDataChunk = "Png/xdtn0g01.png"; public const string WrongCrcDataChunk = "Png/xcsn0g01.png"; public const string CorruptedChunk = "Png/big-corrupted-chunk.png"; + public const string MissingPaletteChunk1 = "Png/missing_plte.png"; + public const string MissingPaletteChunk2 = "Png/missing_plte_2.png"; // Zlib errors. public const string ZlibOverflow = "Png/zlib-overflow.png"; diff --git a/tests/Images/Input/Png/missing_plte.png b/tests/Images/Input/Png/missing_plte.png new file mode 100644 index 000000000..0c24883fb --- /dev/null +++ b/tests/Images/Input/Png/missing_plte.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73fd17a394f8258f4767986bc427c0160277819349c937f18cb29044e7549bc8 +size 506 diff --git a/tests/Images/Input/Png/missing_plte_2.png b/tests/Images/Input/Png/missing_plte_2.png new file mode 100644 index 000000000..8fc6580e5 --- /dev/null +++ b/tests/Images/Input/Png/missing_plte_2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:797844db61a937c6f31ecb392c8416fbf106017413ba55c6576e0b1fcfc1cf9c +size 597 From b0b7ae641be7123c25a5e75d9ac5937643fc45f4 Mon Sep 17 00:00:00 2001 From: Titus Date: Sat, 19 Feb 2022 13:53:04 -0500 Subject: [PATCH 094/244] Moved SkipChunkDataAndCrc call to "correct" location for this issue --- src/ImageSharp/Formats/Png/PngDecoderCore.cs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/ImageSharp/Formats/Png/PngDecoderCore.cs b/src/ImageSharp/Formats/Png/PngDecoderCore.cs index a7f4d5e8d..8d0b49261 100644 --- a/src/ImageSharp/Formats/Png/PngDecoderCore.cs +++ b/src/ImageSharp/Formats/Png/PngDecoderCore.cs @@ -336,9 +336,6 @@ namespace SixLabors.ImageSharp.Formats.Png break; case PngChunkType.End: goto EOF; - default: - this.SkipChunkDataAndCrc(chunk); - break; } } finally @@ -1401,6 +1398,8 @@ namespace SixLabors.ImageSharp.Formats.Png { chunk = new PngChunk(length, type); + this.SkipChunkDataAndCrc(chunk); + return true; } From d4180a92c5b691cf082caba03b30de3e2c2262b4 Mon Sep 17 00:00:00 2001 From: Titus Date: Sat, 19 Feb 2022 13:59:20 -0500 Subject: [PATCH 095/244] cleaned up whitespace --- src/ImageSharp/Formats/Png/PngDecoderCore.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/ImageSharp/Formats/Png/PngDecoderCore.cs b/src/ImageSharp/Formats/Png/PngDecoderCore.cs index 8d0b49261..56ad4ad86 100644 --- a/src/ImageSharp/Formats/Png/PngDecoderCore.cs +++ b/src/ImageSharp/Formats/Png/PngDecoderCore.cs @@ -336,6 +336,14 @@ namespace SixLabors.ImageSharp.Formats.Png break; case PngChunkType.End: goto EOF; + + default: + if (this.colorMetadataOnly) + { + this.SkipChunkDataAndCrc(chunk); + } + + break; } } finally @@ -1398,8 +1406,6 @@ namespace SixLabors.ImageSharp.Formats.Png { chunk = new PngChunk(length, type); - this.SkipChunkDataAndCrc(chunk); - return true; } From 29ddc6053e1a27ab095e87d8baa015f7428c53ef Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sat, 19 Feb 2022 20:31:07 +0100 Subject: [PATCH 096/244] Change error message to "...a palette chunk" --- src/ImageSharp/Formats/Png/PngThrowHelper.cs | 2 +- tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ImageSharp/Formats/Png/PngThrowHelper.cs b/src/ImageSharp/Formats/Png/PngThrowHelper.cs index ad733f010..ae7d16ec7 100644 --- a/src/ImageSharp/Formats/Png/PngThrowHelper.cs +++ b/src/ImageSharp/Formats/Png/PngThrowHelper.cs @@ -22,7 +22,7 @@ namespace SixLabors.ImageSharp.Formats.Png public static void ThrowNoData() => throw new InvalidImageContentException("PNG Image does not contain a data chunk"); [MethodImpl(InliningOptions.ColdPath)] - public static void ThrowMissingPalette() => throw new InvalidImageContentException("PNG Image does not contain palette chunk"); + public static void ThrowMissingPalette() => throw new InvalidImageContentException("PNG Image does not contain a palette chunk"); [MethodImpl(InliningOptions.ColdPath)] public static void ThrowInvalidChunkType() => throw new InvalidImageContentException("Invalid PNG data."); diff --git a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs index f81a77ca1..a92856c73 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs @@ -278,7 +278,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png image.DebugSave(provider); }); Assert.NotNull(ex); - Assert.Contains("PNG Image does not contain palette chunk", ex.Message); + Assert.Contains("PNG Image does not contain a palette chunk", ex.Message); } [Theory] From 78e5b6c19d45b3083b8160cde0b90cd072bead06 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Mon, 21 Feb 2022 18:39:29 +1100 Subject: [PATCH 097/244] Throw for corrupt LZW min code. Add test for deferred clear code --- ImageSharp.sln | 7 +++++ src/ImageSharp/Formats/Gif/GifDecoderCore.cs | 4 +-- src/ImageSharp/Formats/Gif/LzwDecoder.cs | 26 ++++++++++++------- .../Formats/Gif/GifDecoderTests.cs | 17 ++++++++++++ tests/ImageSharp.Tests/TestImages.cs | 1 + ...2012BadMinCode_Rgba32_issue2012_drona1.png | 3 --- ...eferredClearCode_Rgba32_bugzilla-55918.png | 3 +++ .../Input/Gif/issues/bugzilla-55918.gif | 3 +++ 8 files changed, 50 insertions(+), 14 deletions(-) delete mode 100644 tests/Images/External/ReferenceOutput/GifDecoderTests/Issue2012BadMinCode_Rgba32_issue2012_drona1.png create mode 100644 tests/Images/External/ReferenceOutput/GifDecoderTests/IssueDeferredClearCode_Rgba32_bugzilla-55918.png create mode 100644 tests/Images/Input/Gif/issues/bugzilla-55918.gif diff --git a/ImageSharp.sln b/ImageSharp.sln index 17d293b43..5428f3394 100644 --- a/ImageSharp.sln +++ b/ImageSharp.sln @@ -142,6 +142,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Gif", "Gif", "{EE3FB0B3-1C3 EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "issues", "issues", "{BF8DFDC1-CEE5-4A37-B216-D3085360C776}" ProjectSection(SolutionItems) = preProject + tests\Images\Input\Gif\issues\bugzilla-55918.gif = tests\Images\Input\Gif\issues\bugzilla-55918.gif + tests\Images\Input\Gif\issues\issue1505_argumentoutofrange.png = tests\Images\Input\Gif\issues\issue1505_argumentoutofrange.png + tests\Images\Input\Gif\issues\issue1530.gif = tests\Images\Input\Gif\issues\issue1530.gif + tests\Images\Input\Gif\issues\issue1668_invalidcolorindex.gif = tests\Images\Input\Gif\issues\issue1668_invalidcolorindex.gif + tests\Images\Input\Gif\issues\issue1962_tiniest_gif_1st.gif = tests\Images\Input\Gif\issues\issue1962_tiniest_gif_1st.gif + tests\Images\Input\Gif\issues\issue2012_drona1.gif = tests\Images\Input\Gif\issues\issue2012_drona1.gif + tests\Images\Input\Gif\issues\issue2012_Stronghold-Crusader-Extreme-Cover.gif = tests\Images\Input\Gif\issues\issue2012_Stronghold-Crusader-Extreme-Cover.gif tests\Images\Input\Gif\issues\issue403_baddescriptorwidth.gif = tests\Images\Input\Gif\issues\issue403_baddescriptorwidth.gif tests\Images\Input\Gif\issues\issue405_badappextlength252-2.gif = tests\Images\Input\Gif\issues\issue405_badappextlength252-2.gif tests\Images\Input\Gif\issues\issue405_badappextlength252.gif = tests\Images\Input\Gif\issues\issue405_badappextlength252.gif diff --git a/src/ImageSharp/Formats/Gif/GifDecoderCore.cs b/src/ImageSharp/Formats/Gif/GifDecoderCore.cs index 98e012658..16dca3324 100644 --- a/src/ImageSharp/Formats/Gif/GifDecoderCore.cs +++ b/src/ImageSharp/Formats/Gif/GifDecoderCore.cs @@ -410,9 +410,9 @@ namespace SixLabors.ImageSharp.Formats.Gif [MethodImpl(MethodImplOptions.AggressiveInlining)] private void ReadFrameIndices(Buffer2D indices) { - int dataSize = this.stream.ReadByte(); + int minCodeSize = this.stream.ReadByte(); using var lzwDecoder = new LzwDecoder(this.Configuration.MemoryAllocator, this.stream); - lzwDecoder.DecodePixels(dataSize, indices); + lzwDecoder.DecodePixels(minCodeSize, indices); } /// diff --git a/src/ImageSharp/Formats/Gif/LzwDecoder.cs b/src/ImageSharp/Formats/Gif/LzwDecoder.cs index 8bb52b637..470929c4a 100644 --- a/src/ImageSharp/Formats/Gif/LzwDecoder.cs +++ b/src/ImageSharp/Formats/Gif/LzwDecoder.cs @@ -64,17 +64,22 @@ namespace SixLabors.ImageSharp.Formats.Gif /// /// Decodes and decompresses all pixel indices from the stream. /// - /// Size of the data. + /// Minimum code size of the data. /// The pixel array to decode to. - public void DecodePixels(int dataSize, Buffer2D pixels) + public void DecodePixels(int minCodeSize, Buffer2D pixels) { - // Calculate the clear code. The value of the clear code is 2 ^ dataSize - int clearCode = 1 << dataSize; - if (clearCode > MaxStackSize) + // Calculate the clear code. The value of the clear code is 2 ^ minCodeSize + int clearCode = 1 << minCodeSize; + + // It is possible to specify a larger LZW minimum code size than the palette length in bits + // which may leave a gap in the codes where no colors are assigned. + // http://www.matthewflickinger.com/lab/whatsinagif/lzw_image_data.asp#lzw_compression + if (minCodeSize < 2 || clearCode > MaxStackSize) { // Don't attempt to decode the frame indices. - // The image is most likely corrupted. - return; + // Theoretically we could determine a min code size from the length of the provided + // color palette but we won't bother since the image is most likely corrupted. + ThrowBadMinimumCode(); } // The resulting index table length. @@ -82,7 +87,7 @@ namespace SixLabors.ImageSharp.Formats.Gif int height = pixels.Height; int length = width * height; - int codeSize = dataSize + 1; + int codeSize = minCodeSize + 1; // Calculate the end code int endCode = clearCode + 1; @@ -169,7 +174,7 @@ namespace SixLabors.ImageSharp.Formats.Gif if (code == clearCode) { // Reset the decoder - codeSize = dataSize + 1; + codeSize = minCodeSize + 1; codeMask = (1 << codeSize) - 1; availableCode = clearCode + 2; oldCode = NullCode; @@ -258,5 +263,8 @@ namespace SixLabors.ImageSharp.Formats.Gif this.suffix.Dispose(); this.pixelStack.Dispose(); } + + [MethodImpl(InliningOptions.ColdPath)] + public static void ThrowBadMinimumCode() => throw new InvalidImageContentException("Gif Image does not contain a valid LZW minimum code."); } } diff --git a/tests/ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs index 289bf6a4f..30bcb7255 100644 --- a/tests/ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs @@ -277,6 +277,23 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif [WithFile(TestImages.Gif.Issues.Issue2012BadMinCode, PixelTypes.Rgba32)] public void Issue2012BadMinCode(TestImageProvider provider) where TPixel : unmanaged, IPixel + { + Exception ex = Record.Exception( + () => + { + using Image image = provider.GetImage(); + image.DebugSave(provider); + }); + + Assert.NotNull(ex); + Assert.Contains("Gif Image does not contain a valid LZW minimum code.", ex.Message); + } + + // https://bugzilla.mozilla.org/show_bug.cgi?id=55918 + [Theory] + [WithFile(TestImages.Gif.Issues.DeferredClearCode, PixelTypes.Rgba32)] + public void IssueDeferredClearCode(TestImageProvider provider) + where TPixel : unmanaged, IPixel { using Image image = provider.GetImage(); diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index 6ff116225..6fbf584d8 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -448,6 +448,7 @@ namespace SixLabors.ImageSharp.Tests public const string BadAppExtLength = "Gif/issues/issue405_badappextlength252.gif"; public const string BadAppExtLength_2 = "Gif/issues/issue405_badappextlength252-2.gif"; public const string BadDescriptorWidth = "Gif/issues/issue403_baddescriptorwidth.gif"; + public const string DeferredClearCode = "Gif/issues/bugzilla-55918.gif"; public const string Issue1505 = "Gif/issues/issue1505_argumentoutofrange.png"; public const string Issue1530 = "Gif/issues/issue1530.gif"; public const string InvalidColorIndex = "Gif/issues/issue1668_invalidcolorindex.gif"; diff --git a/tests/Images/External/ReferenceOutput/GifDecoderTests/Issue2012BadMinCode_Rgba32_issue2012_drona1.png b/tests/Images/External/ReferenceOutput/GifDecoderTests/Issue2012BadMinCode_Rgba32_issue2012_drona1.png deleted file mode 100644 index 5e23f5528..000000000 --- a/tests/Images/External/ReferenceOutput/GifDecoderTests/Issue2012BadMinCode_Rgba32_issue2012_drona1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cf4bc93479140b05b25066eb10c33fa9f82c617828a56526d47f5a8c72035ef0 -size 1871 diff --git a/tests/Images/External/ReferenceOutput/GifDecoderTests/IssueDeferredClearCode_Rgba32_bugzilla-55918.png b/tests/Images/External/ReferenceOutput/GifDecoderTests/IssueDeferredClearCode_Rgba32_bugzilla-55918.png new file mode 100644 index 000000000..b5769c2c4 --- /dev/null +++ b/tests/Images/External/ReferenceOutput/GifDecoderTests/IssueDeferredClearCode_Rgba32_bugzilla-55918.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6b33733518b855b25c5e9a1b2f5c93cacf0699a40a459dde795b0ed91a978909 +size 12776 diff --git a/tests/Images/Input/Gif/issues/bugzilla-55918.gif b/tests/Images/Input/Gif/issues/bugzilla-55918.gif new file mode 100644 index 000000000..929ea67c3 --- /dev/null +++ b/tests/Images/Input/Gif/issues/bugzilla-55918.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d11148669a093c2e39be62bc3482c5863362d28c03c7f26c5a2386d5de28c339 +size 14551 From 85a0ac644d1e51c87b510428c882e51b26aad3e4 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Mon, 21 Feb 2022 21:29:13 +1100 Subject: [PATCH 098/244] Use GifThrowHelper --- src/ImageSharp/Formats/Gif/LzwDecoder.cs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/ImageSharp/Formats/Gif/LzwDecoder.cs b/src/ImageSharp/Formats/Gif/LzwDecoder.cs index 470929c4a..2a0720001 100644 --- a/src/ImageSharp/Formats/Gif/LzwDecoder.cs +++ b/src/ImageSharp/Formats/Gif/LzwDecoder.cs @@ -79,7 +79,7 @@ namespace SixLabors.ImageSharp.Formats.Gif // Don't attempt to decode the frame indices. // Theoretically we could determine a min code size from the length of the provided // color palette but we won't bother since the image is most likely corrupted. - ThrowBadMinimumCode(); + GifThrowHelper.ThrowInvalidImageContentException("Gif Image does not contain a valid LZW minimum code."); } // The resulting index table length. @@ -263,8 +263,5 @@ namespace SixLabors.ImageSharp.Formats.Gif this.suffix.Dispose(); this.pixelStack.Dispose(); } - - [MethodImpl(InliningOptions.ColdPath)] - public static void ThrowBadMinimumCode() => throw new InvalidImageContentException("Gif Image does not contain a valid LZW minimum code."); } } From 0fa6085611e69e5e4eb2827e8293eb747585a034 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Mon, 21 Feb 2022 12:10:23 +0100 Subject: [PATCH 099/244] Throw exception, if gamma chunk does not contain enough data --- src/ImageSharp/Formats/Png/PngDecoderCore.cs | 10 ++++++++-- src/ImageSharp/Formats/Png/PngThrowHelper.cs | 3 +++ .../Formats/Png/PngDecoderTests.cs | 15 +++++++++++++++ tests/ImageSharp.Tests/TestImages.cs | 1 + tests/Images/Input/Png/length_gama.png | 3 +++ 5 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 tests/Images/Input/Png/length_gama.png diff --git a/src/ImageSharp/Formats/Png/PngDecoderCore.cs b/src/ImageSharp/Formats/Png/PngDecoderCore.cs index f5fc86ee4..090e1e2b0 100644 --- a/src/ImageSharp/Formats/Png/PngDecoderCore.cs +++ b/src/ImageSharp/Formats/Png/PngDecoderCore.cs @@ -429,10 +429,16 @@ namespace SixLabors.ImageSharp.Formats.Png /// The metadata to read to. /// The data containing physical data. private void ReadGammaChunk(PngMetadata pngMetadata, ReadOnlySpan data) + { + if (data.Length < 4) + { + PngThrowHelper.ThrowInvalidGamma(); + } - // The value is encoded as a 4-byte unsigned integer, representing gamma times 100000. // For example, a gamma of 1/2.2 would be stored as 45455. - => pngMetadata.Gamma = BinaryPrimitives.ReadUInt32BigEndian(data) * 1e-5F; + // The value is encoded as a 4-byte unsigned integer, representing gamma times 100000. + pngMetadata.Gamma = BinaryPrimitives.ReadUInt32BigEndian(data) * 1e-5F; + } /// /// Initializes the image and various buffers needed for processing diff --git a/src/ImageSharp/Formats/Png/PngThrowHelper.cs b/src/ImageSharp/Formats/Png/PngThrowHelper.cs index ae7d16ec7..07372dae2 100644 --- a/src/ImageSharp/Formats/Png/PngThrowHelper.cs +++ b/src/ImageSharp/Formats/Png/PngThrowHelper.cs @@ -24,6 +24,9 @@ namespace SixLabors.ImageSharp.Formats.Png [MethodImpl(InliningOptions.ColdPath)] public static void ThrowMissingPalette() => throw new InvalidImageContentException("PNG Image does not contain a palette chunk"); + [MethodImpl(InliningOptions.ColdPath)] + public static void ThrowInvalidGamma() => throw new InvalidImageContentException("PNG Image does not contain enough data for the gamma chunk"); + [MethodImpl(InliningOptions.ColdPath)] public static void ThrowInvalidChunkType() => throw new InvalidImageContentException("Invalid PNG data."); diff --git a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs index a92856c73..7fd87258b 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs @@ -281,6 +281,21 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png Assert.Contains("PNG Image does not contain a palette chunk", ex.Message); } + [Theory] + [WithFile(TestImages.Png.Bad.InvalidGammaChunk, PixelTypes.Rgba32)] + public void Decode_InvalidGammaChunk_ThrowsException(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + Exception ex = Record.Exception( + () => + { + using Image image = provider.GetImage(PngDecoder); + image.DebugSave(provider); + }); + Assert.NotNull(ex); + Assert.Contains("PNG Image does not contain enough data for the gamma chunk", ex.Message); + } + [Theory] [WithFile(TestImages.Png.Bad.BitDepthZero, PixelTypes.Rgba32)] [WithFile(TestImages.Png.Bad.BitDepthThree, PixelTypes.Rgba32)] diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index c6bd20a7d..5bce99ce1 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -129,6 +129,7 @@ namespace SixLabors.ImageSharp.Tests public const string CorruptedChunk = "Png/big-corrupted-chunk.png"; public const string MissingPaletteChunk1 = "Png/missing_plte.png"; public const string MissingPaletteChunk2 = "Png/missing_plte_2.png"; + public const string InvalidGammaChunk = "Png/length_gama.png"; // Zlib errors. public const string ZlibOverflow = "Png/zlib-overflow.png"; diff --git a/tests/Images/Input/Png/length_gama.png b/tests/Images/Input/Png/length_gama.png new file mode 100644 index 000000000..caf0fb01d --- /dev/null +++ b/tests/Images/Input/Png/length_gama.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:824766b34739727c722e88611d7b55401452c2970cd433f56e5f9f1b36d6950d +size 1285 From d76c40a43a85f3ff82bdbc05f577fe7236095939 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Mon, 21 Feb 2022 14:39:10 +0100 Subject: [PATCH 100/244] Ignore invalid gamma chunks --- src/ImageSharp/Formats/Png/PngDecoderCore.cs | 3 ++- src/ImageSharp/Formats/Png/PngThrowHelper.cs | 3 --- tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs | 5 ++--- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/ImageSharp/Formats/Png/PngDecoderCore.cs b/src/ImageSharp/Formats/Png/PngDecoderCore.cs index 090e1e2b0..60437e015 100644 --- a/src/ImageSharp/Formats/Png/PngDecoderCore.cs +++ b/src/ImageSharp/Formats/Png/PngDecoderCore.cs @@ -432,7 +432,8 @@ namespace SixLabors.ImageSharp.Formats.Png { if (data.Length < 4) { - PngThrowHelper.ThrowInvalidGamma(); + // Ignore invalid gamma chunks. + return; } // For example, a gamma of 1/2.2 would be stored as 45455. diff --git a/src/ImageSharp/Formats/Png/PngThrowHelper.cs b/src/ImageSharp/Formats/Png/PngThrowHelper.cs index 07372dae2..ae7d16ec7 100644 --- a/src/ImageSharp/Formats/Png/PngThrowHelper.cs +++ b/src/ImageSharp/Formats/Png/PngThrowHelper.cs @@ -24,9 +24,6 @@ namespace SixLabors.ImageSharp.Formats.Png [MethodImpl(InliningOptions.ColdPath)] public static void ThrowMissingPalette() => throw new InvalidImageContentException("PNG Image does not contain a palette chunk"); - [MethodImpl(InliningOptions.ColdPath)] - public static void ThrowInvalidGamma() => throw new InvalidImageContentException("PNG Image does not contain enough data for the gamma chunk"); - [MethodImpl(InliningOptions.ColdPath)] public static void ThrowInvalidChunkType() => throw new InvalidImageContentException("Invalid PNG data."); diff --git a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs index 7fd87258b..0af5d9995 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs @@ -283,7 +283,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png [Theory] [WithFile(TestImages.Png.Bad.InvalidGammaChunk, PixelTypes.Rgba32)] - public void Decode_InvalidGammaChunk_ThrowsException(TestImageProvider provider) + public void Decode_InvalidGammaChunk_Ignored(TestImageProvider provider) where TPixel : unmanaged, IPixel { Exception ex = Record.Exception( @@ -292,8 +292,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png using Image image = provider.GetImage(PngDecoder); image.DebugSave(provider); }); - Assert.NotNull(ex); - Assert.Contains("PNG Image does not contain enough data for the gamma chunk", ex.Message); + Assert.Null(ex); } [Theory] From 025e526fae76329dd3923ba1234ccee444ee9543 Mon Sep 17 00:00:00 2001 From: ratok-mk Date: Fri, 18 Feb 2022 18:32:22 +0100 Subject: [PATCH 101/244] Minor Optimization for DeflaterEngine and WuQuantizer --- .../Compression/Zlib/DeflaterEngine.cs | 18 +++++++++------ .../Quantization/WuQuantizer{TPixel}.cs | 22 +++++++++++-------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/src/ImageSharp/Compression/Zlib/DeflaterEngine.cs b/src/ImageSharp/Compression/Zlib/DeflaterEngine.cs index 506b0f2c1..4e8be3c50 100644 --- a/src/ImageSharp/Compression/Zlib/DeflaterEngine.cs +++ b/src/ImageSharp/Compression/Zlib/DeflaterEngine.cs @@ -486,15 +486,16 @@ namespace SixLabors.ImageSharp.Compression.Zlib this.matchLen = Math.Max(this.matchLen, DeflaterConstants.MIN_MATCH - 1); int matchLength = this.matchLen; - if (scan + matchLength > scanMax) + int scanEndPosition = scan + matchLength; + if (scanEndPosition > scanMax) { return false; } byte* pinnedWindow = this.pinnedWindowPointer; int scanStart = this.strstart; - byte scanEnd1 = pinnedWindow[scan + matchLength - 1]; - byte scanEnd = pinnedWindow[scan + matchLength]; + byte scanEnd1 = pinnedWindow[scanEndPosition - 1]; + byte scanEnd = pinnedWindow[scanEndPosition]; // Do not waste too much time if we already have a good match: if (matchLength >= this.goodLength) @@ -508,8 +509,9 @@ namespace SixLabors.ImageSharp.Compression.Zlib match = curMatch; scan = scanStart; - if (pinnedWindow[match + matchLength] != scanEnd - || pinnedWindow[match + matchLength - 1] != scanEnd1 + int matchEndPosition = match + matchLength; + if (pinnedWindow[matchEndPosition] != scanEnd + || pinnedWindow[matchEndPosition - 1] != scanEnd1 || pinnedWindow[match] != pinnedWindow[scan] || pinnedWindow[++match] != pinnedWindow[++scan]) { @@ -685,6 +687,7 @@ namespace SixLabors.ImageSharp.Compression.Zlib return false; } + const int windowLen = (2 * DeflaterConstants.WSIZE) - DeflaterConstants.MIN_LOOKAHEAD; while (this.lookahead >= DeflaterConstants.MIN_LOOKAHEAD || flush) { if (this.lookahead == 0) @@ -695,7 +698,7 @@ namespace SixLabors.ImageSharp.Compression.Zlib return false; } - if (this.strstart > (2 * DeflaterConstants.WSIZE) - DeflaterConstants.MIN_LOOKAHEAD) + if (this.strstart > windowLen) { // slide window, as FindLongestMatch needs this. // This should only happen when flushing and the window @@ -766,6 +769,7 @@ namespace SixLabors.ImageSharp.Compression.Zlib return false; } + const int windowLen = (2 * DeflaterConstants.WSIZE) - DeflaterConstants.MIN_LOOKAHEAD; while (this.lookahead >= DeflaterConstants.MIN_LOOKAHEAD || flush) { if (this.lookahead == 0) @@ -783,7 +787,7 @@ namespace SixLabors.ImageSharp.Compression.Zlib return false; } - if (this.strstart >= (2 * DeflaterConstants.WSIZE) - DeflaterConstants.MIN_LOOKAHEAD) + if (this.strstart >= windowLen) { // slide window, as FindLongestMatch needs this. // This should only happen when flushing and the window diff --git a/src/ImageSharp/Processing/Processors/Quantization/WuQuantizer{TPixel}.cs b/src/ImageSharp/Processing/Processors/Quantization/WuQuantizer{TPixel}.cs index cc5329952..5c5344ab8 100644 --- a/src/ImageSharp/Processing/Processors/Quantization/WuQuantizer{TPixel}.cs +++ b/src/ImageSharp/Processing/Processors/Quantization/WuQuantizer{TPixel}.cs @@ -176,9 +176,10 @@ namespace SixLabors.ImageSharp.Processing.Processors.Quantization Rgba32 rgba = default; color.ToRgba32(ref rgba); - int r = rgba.R >> (8 - IndexBits); - int g = rgba.G >> (8 - IndexBits); - int b = rgba.B >> (8 - IndexBits); + const int shift = 8 - IndexBits; + int r = rgba.R >> shift; + int g = rgba.G >> shift; + int b = rgba.B >> shift; int a = rgba.A >> (8 - IndexAlphaBits); ReadOnlySpan tagSpan = this.tagsOwner.GetSpan(); @@ -413,6 +414,9 @@ namespace SixLabors.ImageSharp.Processing.Processors.Quantization Span momentSpan = this.momentsOwner.GetSpan(); Span volumeSpan = volume.GetSpan(); Span areaSpan = area.GetSpan(); + const int indexBits2 = IndexBits * 2; + const int indexAndAlphaBits = IndexBits + IndexAlphaBits; + const int indexBitsAndAlphaBits1 = IndexBits + IndexAlphaBits + 1; int baseIndex = GetPaletteIndex(1, 0, 0, 0); for (int r = 1; r < IndexCount; r++) @@ -421,9 +425,9 @@ namespace SixLabors.ImageSharp.Processing.Processors.Quantization // immediate outer loop. See https://github.com/dotnet/runtime/issues/61420 // To ensure the calculation doesn't happen repeatedly, hoist some of the calculations // in the form of ind1* manually. - int ind1R = (r << ((IndexBits * 2) + IndexAlphaBits)) + - (r << (IndexBits + IndexAlphaBits + 1)) + - (r << (IndexBits * 2)) + + int ind1R = (r << (indexBits2 + IndexAlphaBits)) + + (r << indexBitsAndAlphaBits1) + + (r << indexBits2) + (r << (IndexBits + 1)) + r; @@ -432,7 +436,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Quantization for (int g = 1; g < IndexCount; g++) { int ind1G = ind1R + - (g << (IndexBits + IndexAlphaBits)) + + (g << indexAndAlphaBits) + (g << IndexBits) + g; int r_g = r + g; @@ -446,7 +450,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Quantization b; Moment line = default; - + int bIndexAlphaOffset = b * IndexAlphaCount; for (int a = 1; a < IndexAlphaCount; a++) { int ind1 = ind1B + a; @@ -455,7 +459,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Quantization areaSpan[a] += line; - int inv = (b * IndexAlphaCount) + a; + int inv = bIndexAlphaOffset + a; volumeSpan[inv] += areaSpan[a]; int ind2 = ind1 - baseIndex; From 27fc3b01c6678ed5c96e5c137250028b779e449c Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Mon, 21 Feb 2022 22:36:47 +0100 Subject: [PATCH 102/244] Add AVX2 version of adler --- src/ImageSharp/Compression/Zlib/Adler32.cs | 155 ++++++++++++++++----- 1 file changed, 121 insertions(+), 34 deletions(-) diff --git a/src/ImageSharp/Compression/Zlib/Adler32.cs b/src/ImageSharp/Compression/Zlib/Adler32.cs index 7eb3f4516..1f3b7e2a2 100644 --- a/src/ImageSharp/Compression/Zlib/Adler32.cs +++ b/src/ImageSharp/Compression/Zlib/Adler32.cs @@ -31,6 +31,8 @@ namespace SixLabors.ImageSharp.Compression.Zlib #if SUPPORTS_RUNTIME_INTRINSICS private const int MinBufferSize = 64; + private const int BLOCK_SIZE = 1 << 5; + // The C# compiler emits this as a compile-time constant embedded in the PE file. private static ReadOnlySpan Tap1Tap2 => new byte[] { @@ -63,6 +65,11 @@ namespace SixLabors.ImageSharp.Compression.Zlib } #if SUPPORTS_RUNTIME_INTRINSICS + if (Avx2.IsSupported && buffer.Length >= MinBufferSize) + { + return CalculateAvx2(adler, buffer); + } + if (Ssse3.IsSupported && buffer.Length >= MinBufferSize) { return CalculateSse(adler, buffer); @@ -83,8 +90,6 @@ namespace SixLabors.ImageSharp.Compression.Zlib uint s2 = (adler >> 16) & 0xFFFF; // Process the data in blocks. - const int BLOCK_SIZE = 1 << 5; - uint length = (uint)buffer.Length; uint blocks = length / BLOCK_SIZE; length -= blocks * BLOCK_SIZE; @@ -164,45 +169,127 @@ namespace SixLabors.ImageSharp.Compression.Zlib if (length > 0) { - if (length >= 16) - { - s2 += s1 += localBufferPtr[0]; - s2 += s1 += localBufferPtr[1]; - s2 += s1 += localBufferPtr[2]; - s2 += s1 += localBufferPtr[3]; - s2 += s1 += localBufferPtr[4]; - s2 += s1 += localBufferPtr[5]; - s2 += s1 += localBufferPtr[6]; - s2 += s1 += localBufferPtr[7]; - s2 += s1 += localBufferPtr[8]; - s2 += s1 += localBufferPtr[9]; - s2 += s1 += localBufferPtr[10]; - s2 += s1 += localBufferPtr[11]; - s2 += s1 += localBufferPtr[12]; - s2 += s1 += localBufferPtr[13]; - s2 += s1 += localBufferPtr[14]; - s2 += s1 += localBufferPtr[15]; - - localBufferPtr += 16; - length -= 16; - } + HandleLeftOver(localBufferPtr, length, ref s1, ref s2); + } - while (length-- > 0) - { - s2 += s1 += *localBufferPtr++; - } + return s1 | (s2 << 16); + } + } + } - if (s1 >= BASE) - { - s1 -= BASE; - } + // Based on: https://github.com/zlib-ng/zlib-ng/blob/develop/arch/x86/adler32_avx2.c + [MethodImpl(InliningOptions.HotPath | InliningOptions.ShortMethod)] + public static unsafe uint CalculateAvx2(uint adler, ReadOnlySpan buffer) + { + uint s1 = adler & 0xFFFF; + uint s2 = (adler >> 16) & 0xFFFF; + uint length = (uint)buffer.Length; - s2 %= BASE; + fixed (byte* bufferPtr = buffer) + { + byte* localBufferPtr = bufferPtr; + + Vector256 zero = Vector256.Zero; + var dot3v = Vector256.Create((short)1); + var dot2v = Vector256.Create(32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1); + + // Process n blocks of data. At most NMAX data bytes can be + // processed before s2 must be reduced modulo BASE. + var vs1 = Vector256.CreateScalar(s1); + var vs2 = Vector256.CreateScalar(s2); + + while (length >= 32) + { + int k = length < NMAX ? (int)length : (int)NMAX; + k -= k % 32; + length -= (uint)k; + + Vector256 vs10 = vs1; + Vector256 vs3 = Vector256.Zero; + + while (k >= 32) + { + // Load 32 input bytes. + Vector256 block = Avx.LoadVector256(localBufferPtr); + + // Sum of abs diff, resulting in 2 x int32's + Vector256 vs1sad = Avx2.SumAbsoluteDifferences(block, zero); + + vs1 = Avx2.Add(vs1, vs1sad.AsUInt32()); + vs3 = Avx2.Add(vs3, vs10); + + // sum 32 uint8s to 16 shorts. + Vector256 vshortsum2 = Avx2.MultiplyAddAdjacent(block, dot2v); + + // sum 16 shorts to 8 uint32s. + Vector256 vsum2 = Avx2.MultiplyAddAdjacent(vshortsum2, dot3v); + + vs2 = Avx2.Add(vsum2.AsUInt32(), vs2); + vs10 = vs1; + + localBufferPtr += BLOCK_SIZE; + k -= 32; } - return s1 | (s2 << 16); + // Defer the multiplication with 32 to outside of the loop. + vs3 = Avx2.ShiftLeftLogical(vs3, 5); + vs2 = Avx2.Add(vs2, vs3); + + s1 = (uint)Numerics.EvenReduceSum(vs1.AsInt32()); + s2 = (uint)Numerics.ReduceSum(vs2.AsInt32()); + + s1 %= BASE; + s2 %= BASE; + + vs1 = Vector256.CreateScalar(s1); + vs2 = Vector256.CreateScalar(s2); } + + if (length > 0) + { + HandleLeftOver(localBufferPtr, length, ref s1, ref s2); + } + + return s1 | (s2 << 16); + } + } + + private static unsafe void HandleLeftOver(byte* localBufferPtr, uint length, ref uint s1, ref uint s2) + { + if (length >= 16) + { + s2 += s1 += localBufferPtr[0]; + s2 += s1 += localBufferPtr[1]; + s2 += s1 += localBufferPtr[2]; + s2 += s1 += localBufferPtr[3]; + s2 += s1 += localBufferPtr[4]; + s2 += s1 += localBufferPtr[5]; + s2 += s1 += localBufferPtr[6]; + s2 += s1 += localBufferPtr[7]; + s2 += s1 += localBufferPtr[8]; + s2 += s1 += localBufferPtr[9]; + s2 += s1 += localBufferPtr[10]; + s2 += s1 += localBufferPtr[11]; + s2 += s1 += localBufferPtr[12]; + s2 += s1 += localBufferPtr[13]; + s2 += s1 += localBufferPtr[14]; + s2 += s1 += localBufferPtr[15]; + + localBufferPtr += 16; + length -= 16; } + + while (length-- > 0) + { + s2 += s1 += *localBufferPtr++; + } + + if (s1 >= BASE) + { + s1 -= BASE; + } + + s2 %= BASE; } #endif From cbf46759194b228660535b8d21122420337e88ed Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sun, 20 Feb 2022 14:23:57 +0100 Subject: [PATCH 103/244] Add adler tests with and without intrinsics --- .../Formats/Png/Adler32Tests.cs | 36 ++++++++++++++----- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/tests/ImageSharp.Tests/Formats/Png/Adler32Tests.cs b/tests/ImageSharp.Tests/Formats/Png/Adler32Tests.cs index 0886bd84d..97d9e904e 100644 --- a/tests/ImageSharp.Tests/Formats/Png/Adler32Tests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/Adler32Tests.cs @@ -3,6 +3,7 @@ using System; using SixLabors.ImageSharp.Compression.Zlib; +using SixLabors.ImageSharp.Tests.TestUtilities; using Xunit; using SharpAdler32 = ICSharpCode.SharpZipLib.Checksum.Adler32; @@ -15,10 +16,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png [InlineData(0)] [InlineData(1)] [InlineData(2)] - public void ReturnsCorrectWhenEmpty(uint input) - { - Assert.Equal(input, Adler32.Calculate(input, default)); - } + public void CalculateAdler_ReturnsCorrectWhenEmpty(uint input) => Assert.Equal(input, Adler32.Calculate(input, default)); [Theory] [InlineData(0)] @@ -28,24 +26,46 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png [InlineData(1024 + 15)] [InlineData(2034)] [InlineData(4096)] - public void MatchesReference(int length) + public void CalculateAdler_MatchesReference(int length) => CalculateAdlerAndCompareToReference(length); + + private static void CalculateAdlerAndCompareToReference(int length) { - var data = GetBuffer(length); + // arrange + byte[] data = GetBuffer(length); var adler = new SharpAdler32(); adler.Update(data); - long expected = adler.Value; + + // act long actual = Adler32.Calculate(data); + // assert Assert.Equal(expected, actual); } private static byte[] GetBuffer(int length) { - var data = new byte[length]; + byte[] data = new byte[length]; new Random(1).NextBytes(data); return data; } + +#if SUPPORTS_RUNTIME_INTRINSICS + [Fact] + public void RunCalculateAdlerTest_WithHardwareIntrinsics_Works() => FeatureTestRunner.RunWithHwIntrinsicsFeature(RunCalculateAdlerTest, HwIntrinsics.AllowAll); + + [Fact] + public void RunCalculateAdlerTest_WithoutHardwareIntrinsics_Works() => FeatureTestRunner.RunWithHwIntrinsicsFeature(RunCalculateAdlerTest, HwIntrinsics.DisableHWIntrinsic); + + private static void RunCalculateAdlerTest() + { + int[] testData = { 0, 8, 215, 1024, 1024 + 15, 2034, 4096 }; + for (int i = 0; i < testData.Length; i++) + { + CalculateAdlerAndCompareToReference(testData[i]); + } + } +#endif } } From 6e6673fcb9d38586394cd56730bd1da879e1b9d4 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Mon, 21 Feb 2022 22:55:21 +0100 Subject: [PATCH 104/244] Add test with AVX disabled --- tests/ImageSharp.Tests/Formats/Png/Adler32Tests.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/ImageSharp.Tests/Formats/Png/Adler32Tests.cs b/tests/ImageSharp.Tests/Formats/Png/Adler32Tests.cs index 97d9e904e..77f2b7663 100644 --- a/tests/ImageSharp.Tests/Formats/Png/Adler32Tests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/Adler32Tests.cs @@ -55,6 +55,9 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png [Fact] public void RunCalculateAdlerTest_WithHardwareIntrinsics_Works() => FeatureTestRunner.RunWithHwIntrinsicsFeature(RunCalculateAdlerTest, HwIntrinsics.AllowAll); + [Fact] + public void RunCalculateAdlerTest_WithAvxDisabled_Works() => FeatureTestRunner.RunWithHwIntrinsicsFeature(RunCalculateAdlerTest, HwIntrinsics.AllowAll | HwIntrinsics.DisableAVX2); + [Fact] public void RunCalculateAdlerTest_WithoutHardwareIntrinsics_Works() => FeatureTestRunner.RunWithHwIntrinsicsFeature(RunCalculateAdlerTest, HwIntrinsics.DisableHWIntrinsic); From d4fc063bbc1368d4162c02bdf0121f982959b47e Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Mon, 21 Feb 2022 22:57:20 +0100 Subject: [PATCH 105/244] Rename BLOCK_SIZE to BlockSize --- src/ImageSharp/Compression/Zlib/Adler32.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/ImageSharp/Compression/Zlib/Adler32.cs b/src/ImageSharp/Compression/Zlib/Adler32.cs index 1f3b7e2a2..b13e2e421 100644 --- a/src/ImageSharp/Compression/Zlib/Adler32.cs +++ b/src/ImageSharp/Compression/Zlib/Adler32.cs @@ -31,7 +31,7 @@ namespace SixLabors.ImageSharp.Compression.Zlib #if SUPPORTS_RUNTIME_INTRINSICS private const int MinBufferSize = 64; - private const int BLOCK_SIZE = 1 << 5; + private const int BlockSize = 1 << 5; // The C# compiler emits this as a compile-time constant embedded in the PE file. private static ReadOnlySpan Tap1Tap2 => new byte[] @@ -91,15 +91,15 @@ namespace SixLabors.ImageSharp.Compression.Zlib // Process the data in blocks. uint length = (uint)buffer.Length; - uint blocks = length / BLOCK_SIZE; - length -= blocks * BLOCK_SIZE; + uint blocks = length / BlockSize; + length -= blocks * BlockSize; int index = 0; fixed (byte* bufferPtr = buffer) { fixed (byte* tapPtr = Tap1Tap2) { - index += (int)blocks * BLOCK_SIZE; + index += (int)blocks * BlockSize; var localBufferPtr = bufferPtr; // _mm_setr_epi8 on x86 @@ -110,7 +110,7 @@ namespace SixLabors.ImageSharp.Compression.Zlib while (blocks > 0) { - uint n = NMAX / BLOCK_SIZE; /* The NMAX constraint. */ + uint n = NMAX / BlockSize; /* The NMAX constraint. */ if (n > blocks) { n = blocks; @@ -143,7 +143,7 @@ namespace SixLabors.ImageSharp.Compression.Zlib Vector128 mad2 = Ssse3.MultiplyAddAdjacent(bytes2, tap2); v_s2 = Sse2.Add(v_s2, Sse2.MultiplyAddAdjacent(mad2, ones).AsUInt32()); - localBufferPtr += BLOCK_SIZE; + localBufferPtr += BlockSize; } while (--n > 0); @@ -227,7 +227,7 @@ namespace SixLabors.ImageSharp.Compression.Zlib vs2 = Avx2.Add(vsum2.AsUInt32(), vs2); vs10 = vs1; - localBufferPtr += BLOCK_SIZE; + localBufferPtr += BlockSize; k -= 32; } From 854ea5d0962921a8f1831376f77b1bef8a57b75a Mon Sep 17 00:00:00 2001 From: Anton Firszov Date: Mon, 21 Feb 2022 23:25:22 +0100 Subject: [PATCH 106/244] workaround for #2001 / https://github.com/dotnet/runtime/issues/65466 --- .../UniformUnmanagedMemoryPoolMemoryAllocator.cs | 13 +++++++++++-- .../UniformUnmanagedPoolMemoryAllocatorTests.cs | 13 +++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/ImageSharp/Memory/Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs b/src/ImageSharp/Memory/Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs index 16a3cb73d..5f591a9bb 100644 --- a/src/ImageSharp/Memory/Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs +++ b/src/ImageSharp/Memory/Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs @@ -74,6 +74,10 @@ namespace SixLabors.ImageSharp.Memory this.nonPoolAllocator = new UnmanagedMemoryAllocator(unmanagedBufferSizeInBytes); } + // This delegate allows overriding the method returning the available system memory, + // so we can test our workaround for https://github.com/dotnet/runtime/issues/65466 + internal static Func GetTotalAvailableMemoryBytes { get; set; } = () => GC.GetGCMemoryInfo().TotalAvailableMemoryBytes; + /// protected internal override int GetBufferCapacityInBytes() => this.poolBufferSizeInBytes; @@ -152,8 +156,13 @@ namespace SixLabors.ImageSharp.Memory // https://github.com/dotnet/runtime/issues/55126#issuecomment-876779327 if (Environment.Is64BitProcess || !RuntimeInformation.FrameworkDescription.StartsWith(".NET 5.0")) { - GCMemoryInfo info = GC.GetGCMemoryInfo(); - return info.TotalAvailableMemoryBytes / 8; + long total = GetTotalAvailableMemoryBytes(); + + // Workaround for https://github.com/dotnet/runtime/issues/65466 + if (total > 0) + { + return total / 8; + } } #endif diff --git a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs index 45a7cc278..0c59e334c 100644 --- a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs +++ b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs @@ -379,5 +379,18 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators g1.GetSpan()[0] = 42; } } + + [Fact] + public void Issue2001_NegativeMemoryReportedByGc() + { + RemoteExecutor.Invoke(RunTest).Dispose(); + + static void RunTest() + { + // Emulate GC.GetGCMemoryInfo() issue https://github.com/dotnet/runtime/issues/65466 + UniformUnmanagedMemoryPoolMemoryAllocator.GetTotalAvailableMemoryBytes = () => -402354176; + _ = MemoryAllocator.Create(); + } + } } } From 5b82c57ce773566da96ef176c0fa1426e70c91fe Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Tue, 22 Feb 2022 12:42:36 +1100 Subject: [PATCH 107/244] Add compiler directives --- .../UniformUnmanagedMemoryPoolMemoryAllocator.cs | 7 ++++--- .../Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/ImageSharp/Memory/Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs b/src/ImageSharp/Memory/Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs index 5f591a9bb..0da4ff9f8 100644 --- a/src/ImageSharp/Memory/Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs +++ b/src/ImageSharp/Memory/Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs @@ -1,11 +1,10 @@ -// Copyright (c) Six Labors. +// Copyright (c) Six Labors. // Licensed under the Apache License, Version 2.0. using System; using System.Buffers; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -using System.Threading; using SixLabors.ImageSharp.Memory.Internals; namespace SixLabors.ImageSharp.Memory @@ -22,7 +21,7 @@ namespace SixLabors.ImageSharp.Memory private readonly int poolCapacity; private readonly UniformUnmanagedMemoryPool.TrimSettings trimSettings; - private UniformUnmanagedMemoryPool pool; + private readonly UniformUnmanagedMemoryPool pool; private readonly UnmanagedMemoryAllocator nonPoolAllocator; public UniformUnmanagedMemoryPoolMemoryAllocator(int? maxPoolSizeMegabytes) @@ -74,9 +73,11 @@ namespace SixLabors.ImageSharp.Memory this.nonPoolAllocator = new UnmanagedMemoryAllocator(unmanagedBufferSizeInBytes); } +#if NETCOREAPP3_1_OR_GREATER // This delegate allows overriding the method returning the available system memory, // so we can test our workaround for https://github.com/dotnet/runtime/issues/65466 internal static Func GetTotalAvailableMemoryBytes { get; set; } = () => GC.GetGCMemoryInfo().TotalAvailableMemoryBytes; +#endif /// protected internal override int GetBufferCapacityInBytes() => this.poolBufferSizeInBytes; diff --git a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs index 0c59e334c..414f991f7 100644 --- a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs +++ b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs @@ -380,6 +380,7 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators } } +#if NETCOREAPP3_1_OR_GREATER [Fact] public void Issue2001_NegativeMemoryReportedByGc() { @@ -392,5 +393,6 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators _ = MemoryAllocator.Create(); } } +#endif } } From de5f661177f4c902a98fd091a406abea92e2ba36 Mon Sep 17 00:00:00 2001 From: Anton Firszov Date: Tue, 22 Feb 2022 02:53:43 +0100 Subject: [PATCH 108/244] make GetTotalAvailableMemoryBytes conditional --- .../Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs | 2 ++ .../Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/ImageSharp/Memory/Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs b/src/ImageSharp/Memory/Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs index 5f591a9bb..5b72a5804 100644 --- a/src/ImageSharp/Memory/Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs +++ b/src/ImageSharp/Memory/Allocators/UniformUnmanagedMemoryPoolMemoryAllocator.cs @@ -74,9 +74,11 @@ namespace SixLabors.ImageSharp.Memory this.nonPoolAllocator = new UnmanagedMemoryAllocator(unmanagedBufferSizeInBytes); } +#if NETCOREAPP3_1_OR_GREATER // This delegate allows overriding the method returning the available system memory, // so we can test our workaround for https://github.com/dotnet/runtime/issues/65466 internal static Func GetTotalAvailableMemoryBytes { get; set; } = () => GC.GetGCMemoryInfo().TotalAvailableMemoryBytes; +#endif /// protected internal override int GetBufferCapacityInBytes() => this.poolBufferSizeInBytes; diff --git a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs index 0c59e334c..414f991f7 100644 --- a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs +++ b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs @@ -380,6 +380,7 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators } } +#if NETCOREAPP3_1_OR_GREATER [Fact] public void Issue2001_NegativeMemoryReportedByGc() { @@ -392,5 +393,6 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators _ = MemoryAllocator.Create(); } } +#endif } } From 2474aab550962ffe59e2c2ef3a44716f8a8e9f23 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Tue, 22 Feb 2022 13:44:28 +1100 Subject: [PATCH 109/244] Cleanup and normalization --- src/ImageSharp/Formats/Gif/GifDecoder.cs | 5 +---- src/ImageSharp/Formats/ImageDecoderUtilities.cs | 8 ++++---- src/ImageSharp/Formats/Tiff/TiffDecoder.cs | 5 +++-- src/ImageSharp/Formats/Webp/WebpDecoder.cs | 6 ++++-- src/ImageSharp/Image.Decode.cs | 4 ++-- src/ImageSharp/Image.FromStream.cs | 4 ++-- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/ImageSharp/Formats/Gif/GifDecoder.cs b/src/ImageSharp/Formats/Gif/GifDecoder.cs index 9d4c88213..6d6cfc079 100644 --- a/src/ImageSharp/Formats/Gif/GifDecoder.cs +++ b/src/ImageSharp/Formats/Gif/GifDecoder.cs @@ -3,7 +3,6 @@ using System.IO; using System.Threading; -using SixLabors.ImageSharp.IO; using SixLabors.ImageSharp.Metadata; using SixLabors.ImageSharp.PixelFormats; @@ -42,9 +41,7 @@ namespace SixLabors.ImageSharp.Formats.Gif Guard.NotNull(stream, nameof(stream)); var decoder = new GifDecoderCore(configuration, this); - - using var bufferedStream = new BufferedReadStream(configuration, stream); - return decoder.Identify(bufferedStream, cancellationToken); + return decoder.Identify(configuration, stream, cancellationToken); } } } diff --git a/src/ImageSharp/Formats/ImageDecoderUtilities.cs b/src/ImageSharp/Formats/ImageDecoderUtilities.cs index 69b2dd930..71ecda893 100644 --- a/src/ImageSharp/Formats/ImageDecoderUtilities.cs +++ b/src/ImageSharp/Formats/ImageDecoderUtilities.cs @@ -16,7 +16,7 @@ namespace SixLabors.ImageSharp.Formats this IImageDecoderInternals decoder, Configuration configuration, Stream stream, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken) { using var bufferedReadStream = new BufferedReadStream(configuration, stream); @@ -34,7 +34,7 @@ namespace SixLabors.ImageSharp.Formats this IImageDecoderInternals decoder, Configuration configuration, Stream stream, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken) where TPixel : unmanaged, IPixel => decoder.Decode(configuration, stream, DefaultLargeImageExceptionFactory, cancellationToken); @@ -43,7 +43,7 @@ namespace SixLabors.ImageSharp.Formats Configuration configuration, Stream stream, Func largeImageExceptionFactory, - CancellationToken cancellationToken = default) + CancellationToken cancellationToken) where TPixel : unmanaged, IPixel { using var bufferedReadStream = new BufferedReadStream(configuration, stream); @@ -61,6 +61,6 @@ namespace SixLabors.ImageSharp.Formats private static InvalidImageContentException DefaultLargeImageExceptionFactory( InvalidMemoryOperationException memoryOperationException, Size dimensions) => - new InvalidImageContentException(dimensions, memoryOperationException); + new(dimensions, memoryOperationException); } } diff --git a/src/ImageSharp/Formats/Tiff/TiffDecoder.cs b/src/ImageSharp/Formats/Tiff/TiffDecoder.cs index 64140f5aa..823583a90 100644 --- a/src/ImageSharp/Formats/Tiff/TiffDecoder.cs +++ b/src/ImageSharp/Formats/Tiff/TiffDecoder.cs @@ -21,14 +21,15 @@ namespace SixLabors.ImageSharp.Formats.Tiff public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) where TPixel : unmanaged, IPixel { - Guard.NotNull(stream, "stream"); + Guard.NotNull(stream, nameof(stream)); var decoder = new TiffDecoderCore(configuration, this); return decoder.Decode(configuration, stream, cancellationToken); } /// - public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) => this.Decode(configuration, stream, cancellationToken); + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) + => this.Decode(configuration, stream, cancellationToken); /// public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken) diff --git a/src/ImageSharp/Formats/Webp/WebpDecoder.cs b/src/ImageSharp/Formats/Webp/WebpDecoder.cs index e076805e4..af14c31f8 100644 --- a/src/ImageSharp/Formats/Webp/WebpDecoder.cs +++ b/src/ImageSharp/Formats/Webp/WebpDecoder.cs @@ -38,6 +38,10 @@ namespace SixLabors.ImageSharp.Formats.Webp } } + /// + public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) + => this.Decode(configuration, stream, cancellationToken); + /// public IImageInfo Identify(Configuration configuration, Stream stream, CancellationToken cancellationToken) { @@ -46,7 +50,5 @@ namespace SixLabors.ImageSharp.Formats.Webp return new WebpDecoderCore(configuration, this).Identify(configuration, stream, cancellationToken); } - /// - public Image Decode(Configuration configuration, Stream stream, CancellationToken cancellationToken) => this.Decode(configuration, stream, cancellationToken); } } diff --git a/src/ImageSharp/Image.Decode.cs b/src/ImageSharp/Image.Decode.cs index 0aa303107..3c2b6d67f 100644 --- a/src/ImageSharp/Image.Decode.cs +++ b/src/ImageSharp/Image.Decode.cs @@ -22,7 +22,7 @@ namespace SixLabors.ImageSharp /// The image might be filled with memory garbage. /// /// The pixel type - /// The + /// The /// The width of the image /// The height of the image /// The @@ -159,7 +159,7 @@ namespace SixLabors.ImageSharp { IImageDecoder decoder = DiscoverDecoder(stream, config, out IImageFormat format); - if (!(decoder is IImageInfoDetector detector)) + if (decoder is not IImageInfoDetector detector) { return (null, null); } diff --git a/src/ImageSharp/Image.FromStream.cs b/src/ImageSharp/Image.FromStream.cs index 5c4e72426..e10d7fe3d 100644 --- a/src/ImageSharp/Image.FromStream.cs +++ b/src/ImageSharp/Image.FromStream.cs @@ -432,9 +432,9 @@ namespace SixLabors.ImageSharp /// Image contains invalid content. /// The pixel format. /// A representing the asynchronous operation. - public static async Task<(Image Image, IImageFormat Format)> LoadWithFormatAsync(Stream stream, CancellationToken cancellationToken = default) + public static Task<(Image Image, IImageFormat Format)> LoadWithFormatAsync(Stream stream, CancellationToken cancellationToken = default) where TPixel : unmanaged, IPixel - => await LoadWithFormatAsync(Configuration.Default, stream, cancellationToken).ConfigureAwait(false); + => LoadWithFormatAsync(Configuration.Default, stream, cancellationToken); /// /// Create a new instance of the class from the given stream. From 95cdd1cef5e23581c7a4733e338372260e5e9e2b Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Tue, 22 Feb 2022 14:03:43 +1100 Subject: [PATCH 110/244] Fix build --- src/ImageSharp/Formats/Webp/WebpDecoder.cs | 1 - tests/ImageSharp.Benchmarks/Config.cs | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/ImageSharp/Formats/Webp/WebpDecoder.cs b/src/ImageSharp/Formats/Webp/WebpDecoder.cs index af14c31f8..c9470a66f 100644 --- a/src/ImageSharp/Formats/Webp/WebpDecoder.cs +++ b/src/ImageSharp/Formats/Webp/WebpDecoder.cs @@ -49,6 +49,5 @@ namespace SixLabors.ImageSharp.Formats.Webp return new WebpDecoderCore(configuration, this).Identify(configuration, stream, cancellationToken); } - } } diff --git a/tests/ImageSharp.Benchmarks/Config.cs b/tests/ImageSharp.Benchmarks/Config.cs index 299784821..60d0e7661 100644 --- a/tests/ImageSharp.Benchmarks/Config.cs +++ b/tests/ImageSharp.Benchmarks/Config.cs @@ -34,7 +34,7 @@ namespace SixLabors.ImageSharp.Benchmarks public MultiFramework() => this.AddJob( Job.Default.WithRuntime(ClrRuntime.Net472), Job.Default.WithRuntime(CoreRuntime.Core31), - Job.Default.WithRuntime(CoreRuntime.Core50).With(new Argument[] { new MsBuildArgument("/p:DebugType=portable") })); + Job.Default.WithRuntime(CoreRuntime.Core50).WithArguments(new Argument[] { new MsBuildArgument("/p:DebugType=portable") })); } public class ShortMultiFramework : Config @@ -42,7 +42,7 @@ namespace SixLabors.ImageSharp.Benchmarks public ShortMultiFramework() => this.AddJob( Job.Default.WithRuntime(ClrRuntime.Net472).WithLaunchCount(1).WithWarmupCount(3).WithIterationCount(3), Job.Default.WithRuntime(CoreRuntime.Core31).WithLaunchCount(1).WithWarmupCount(3).WithIterationCount(3), - Job.Default.WithRuntime(CoreRuntime.Core50).WithLaunchCount(1).WithWarmupCount(3).WithIterationCount(3).With(new Argument[] { new MsBuildArgument("/p:DebugType=portable") })); + Job.Default.WithRuntime(CoreRuntime.Core50).WithLaunchCount(1).WithWarmupCount(3).WithIterationCount(3).WithArguments(new Argument[] { new MsBuildArgument("/p:DebugType=portable") })); } public class ShortCore31 : Config From 747422cf6d0075f03b1d10b0d7b07a2063d7a0c9 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Tue, 22 Feb 2022 13:46:41 +0100 Subject: [PATCH 111/244] Add Sse2 version of Average png filter --- .../Formats/Png/Filters/AverageFilter.cs | 126 +++++++++++++++--- 1 file changed, 110 insertions(+), 16 deletions(-) diff --git a/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs b/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs index 83c638934..94c4fb4d1 100644 --- a/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs +++ b/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs @@ -20,9 +20,9 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters internal static class AverageFilter { /// - /// Decodes the scanline + /// Decodes a scanline, which was filtered with the average filter. /// - /// The scanline to decode + /// The scanline to decode. /// The previous scanline. /// The bytes per pixel. [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -33,32 +33,126 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters ref byte scanBaseRef = ref MemoryMarshal.GetReference(scanline); ref byte prevBaseRef = ref MemoryMarshal.GetReference(previousScanline); + // The Avg filter predicts each pixel as the (truncated) average of a and b: // Average(x) + floor((Raw(x-bpp)+Prior(x))/2) - int x = 1; - for (; x <= bytesPerPixel /* Note the <= because x starts at 1 */; ++x) +#if SUPPORTS_RUNTIME_INTRINSICS + if (Sse2.IsSupported && bytesPerPixel is 3 or 4) { - ref byte scan = ref Unsafe.Add(ref scanBaseRef, x); - byte above = Unsafe.Add(ref prevBaseRef, x); - scan = (byte)(scan + (above >> 1)); - } + if (bytesPerPixel is 3) + { + Vector128 a = Vector128.Zero; + Vector128 b = Vector128.Zero; + Vector128 d = Vector128.Zero; + var ones = Vector128.Create((byte)1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1); + + Span scratch = stackalloc byte[4]; + ref byte scratchRef = ref MemoryMarshal.GetReference(scratch); + int rb = scanline.Length; + int offset = 0; + while (rb >= 4) + { + a = d; + b = Sse2.ConvertScalarToVector128Int32(Unsafe.As(ref Unsafe.Add(ref prevBaseRef, offset))).AsByte(); + d = Sse2.ConvertScalarToVector128Int32(Unsafe.As(ref Unsafe.Add(ref scanBaseRef, offset))).AsByte(); + + d = AverageSubtractAdd(a, b, d, ones); + + // Store the result. + int result = Sse2.ConvertToInt32(d.AsInt32()); + Unsafe.As(ref scratchRef) = result; + scratch.Slice(0, 3).CopyTo(scanline.Slice(offset, 3)); + + rb -= 3; + offset += 3; + } + + if (rb is 3) + { + a = d; + scratch[3] = 0; + previousScanline.Slice(offset, 3).CopyTo(scratch); + b = Sse2.ConvertScalarToVector128Int32(Unsafe.As(ref scratchRef)).AsByte(); + scanline.Slice(offset, 3).CopyTo(scratch); + d = Sse2.ConvertScalarToVector128Int32(Unsafe.As(ref scratchRef)).AsByte(); + + d = AverageSubtractAdd(a, b, d, ones); + + // Store the result. + int result = Sse2.ConvertToInt32(d.AsInt32()); + Unsafe.As(ref scratchRef) = result; + scratch.Slice(0, 3).CopyTo(scanline.Slice(offset, 3)); + } + } + else + { + Vector128 a = Vector128.Zero; + Vector128 b = Vector128.Zero; + Vector128 d = Vector128.Zero; + var ones = Vector128.Create((byte)1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1); + + Span scratch = stackalloc byte[4]; + ref byte scratchRef = ref MemoryMarshal.GetReference(scratch); + int rb = scanline.Length; + int offset = 0; + while (rb >= 4) + { + a = d; + b = Sse2.ConvertScalarToVector128Int32(Unsafe.As(ref Unsafe.Add(ref prevBaseRef, offset))).AsByte(); + d = Sse2.ConvertScalarToVector128Int32(Unsafe.As(ref Unsafe.Add(ref scanBaseRef, offset))).AsByte(); - for (; x < scanline.Length; ++x) + d = AverageSubtractAdd(a, b, d, ones); + + // Store the result. + int result = Sse2.ConvertToInt32(d.AsInt32()); + Unsafe.As(ref scratchRef) = result; + scratch.CopyTo(scanline.Slice(offset, 4)); + + rb -= 4; + offset += 4; + } + } + } + else +#endif { - ref byte scan = ref Unsafe.Add(ref scanBaseRef, x); - byte left = Unsafe.Add(ref scanBaseRef, x - bytesPerPixel); - byte above = Unsafe.Add(ref prevBaseRef, x); - scan = (byte)(scan + Average(left, above)); + int x = 1; + for (; x <= bytesPerPixel /* Note the <= because x starts at 1 */; ++x) + { + ref byte scan = ref Unsafe.Add(ref scanBaseRef, x); + byte above = Unsafe.Add(ref prevBaseRef, x); + scan = (byte)(scan + (above >> 1)); + } + + for (; x < scanline.Length; ++x) + { + ref byte scan = ref Unsafe.Add(ref scanBaseRef, x); + byte left = Unsafe.Add(ref scanBaseRef, x - bytesPerPixel); + byte above = Unsafe.Add(ref prevBaseRef, x); + scan = (byte)(scan + Average(left, above)); + } } } +#if SUPPORTS_RUNTIME_INTRINSICS + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static Vector128 AverageSubtractAdd(Vector128 a, Vector128 b, Vector128 d, Vector128 ones) + { + // PNG requires a truncating average, so we can't just use _mm_avg_epu8. + // ...but we can fix it up by subtracting off 1 if it rounded up. + Vector128 avg = Sse2.Average(a, b); + avg = Sse2.Subtract(avg, Sse2.And(Sse2.Xor(a, b), ones)); + return Sse2.Add(d, avg); + } +#endif + /// - /// Encodes the scanline + /// Encodes a scanline with the average filter applied. /// - /// The scanline to encode + /// The scanline to encode. /// The previous scanline. /// The filtered scanline result. /// The bytes per pixel. - /// The sum of the total variance of the filtered row + /// The sum of the total variance of the filtered row. [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void Encode(ReadOnlySpan scanline, ReadOnlySpan previousScanline, Span result, int bytesPerPixel, out int sum) { From 09b2cdb83aab0a889dbde8ec2453d605a1be1725 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Tue, 22 Feb 2022 15:12:00 +0100 Subject: [PATCH 112/244] Review changes from gfoidl --- src/ImageSharp/Compression/Zlib/Adler32.cs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/ImageSharp/Compression/Zlib/Adler32.cs b/src/ImageSharp/Compression/Zlib/Adler32.cs index b13e2e421..1f3cbbca6 100644 --- a/src/ImageSharp/Compression/Zlib/Adler32.cs +++ b/src/ImageSharp/Compression/Zlib/Adler32.cs @@ -3,6 +3,7 @@ using System; using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; #if SUPPORTS_RUNTIME_INTRINSICS using System.Runtime.Intrinsics; using System.Runtime.Intrinsics.X86; @@ -94,13 +95,11 @@ namespace SixLabors.ImageSharp.Compression.Zlib uint blocks = length / BlockSize; length -= blocks * BlockSize; - int index = 0; - fixed (byte* bufferPtr = buffer) + fixed (byte* bufferPtr = &MemoryMarshal.GetReference(buffer)) { - fixed (byte* tapPtr = Tap1Tap2) + fixed (byte* tapPtr = &MemoryMarshal.GetReference(Tap1Tap2)) { - index += (int)blocks * BlockSize; - var localBufferPtr = bufferPtr; + byte* localBufferPtr = bufferPtr; // _mm_setr_epi8 on x86 Vector128 tap1 = Sse2.LoadVector128((sbyte*)tapPtr); @@ -185,7 +184,7 @@ namespace SixLabors.ImageSharp.Compression.Zlib uint s2 = (adler >> 16) & 0xFFFF; uint length = (uint)buffer.Length; - fixed (byte* bufferPtr = buffer) + fixed (byte* bufferPtr = &MemoryMarshal.GetReference(buffer)) { byte* localBufferPtr = bufferPtr; From a30f40ce343d429bd31a28a88a96338f9521485a Mon Sep 17 00:00:00 2001 From: ratok-mk Date: Tue, 22 Feb 2022 17:21:36 +0100 Subject: [PATCH 113/244] Apply suggestions from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Günther Foidl --- src/ImageSharp/Compression/Zlib/DeflaterEngine.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/ImageSharp/Compression/Zlib/DeflaterEngine.cs b/src/ImageSharp/Compression/Zlib/DeflaterEngine.cs index 4e8be3c50..8b32ed20e 100644 --- a/src/ImageSharp/Compression/Zlib/DeflaterEngine.cs +++ b/src/ImageSharp/Compression/Zlib/DeflaterEngine.cs @@ -483,14 +483,15 @@ namespace SixLabors.ImageSharp.Compression.Zlib int niceLength = Math.Min(this.niceLength, this.lookahead); int matchStrt = this.matchStart; - this.matchLen = Math.Max(this.matchLen, DeflaterConstants.MIN_MATCH - 1); int matchLength = this.matchLen; + matchLength = Math.Max(matchLength, DeflaterConstants.MIN_MATCH - 1); + this.matchLen = matchLength; - int scanEndPosition = scan + matchLength; - if (scanEndPosition > scanMax) + if (scan > scanMax - matchLength) { return false; } + int scanEndPosition = scan + matchLength; byte* pinnedWindow = this.pinnedWindowPointer; int scanStart = this.strstart; From 0b1cf1c5117830e604b6416044703cec161a8009 Mon Sep 17 00:00:00 2001 From: ratok-mk Date: Tue, 22 Feb 2022 17:33:34 +0100 Subject: [PATCH 114/244] Update DeflaterEngine.cs Fixed CodeStyle warnings --- src/ImageSharp/Compression/Zlib/DeflaterEngine.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ImageSharp/Compression/Zlib/DeflaterEngine.cs b/src/ImageSharp/Compression/Zlib/DeflaterEngine.cs index 8b32ed20e..02fa5bf58 100644 --- a/src/ImageSharp/Compression/Zlib/DeflaterEngine.cs +++ b/src/ImageSharp/Compression/Zlib/DeflaterEngine.cs @@ -484,13 +484,14 @@ namespace SixLabors.ImageSharp.Compression.Zlib int matchStrt = this.matchStart; int matchLength = this.matchLen; - matchLength = Math.Max(matchLength, DeflaterConstants.MIN_MATCH - 1); + matchLength = Math.Max(matchLength, DeflaterConstants.MIN_MATCH - 1); this.matchLen = matchLength; if (scan > scanMax - matchLength) { return false; } + int scanEndPosition = scan + matchLength; byte* pinnedWindow = this.pinnedWindowPointer; From 6016c5cc7fb3508ea8b658c9d13c1b9b68bca718 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Tue, 22 Feb 2022 17:38:47 +0100 Subject: [PATCH 115/244] Add note about multiframe images --- src/ImageSharp/Formats/Tiff/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ImageSharp/Formats/Tiff/README.md b/src/ImageSharp/Formats/Tiff/README.md index 488701e31..51e84ef55 100644 --- a/src/ImageSharp/Formats/Tiff/README.md +++ b/src/ImageSharp/Formats/Tiff/README.md @@ -25,7 +25,7 @@ ## Implementation Status -- The Decoder currently only supports a single frame per image. +- The Decoder currently only supports decoding multiframe images, which have the same dimensions. - Some compression formats are not yet supported. See the list below. ### Deviations from the TIFF spec (to be fixed) From 71520887acf61dd8d09716aee7f273d5135e5f59 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Tue, 22 Feb 2022 17:43:14 +0100 Subject: [PATCH 116/244] No need for the scratch buffer for 4 bytes per pixel --- .../Formats/Png/Filters/AverageFilter.cs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs b/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs index 94c4fb4d1..50058f01d 100644 --- a/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs +++ b/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs @@ -51,16 +51,16 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters int offset = 0; while (rb >= 4) { + ref byte scanRef = ref Unsafe.Add(ref scanBaseRef, offset); a = d; b = Sse2.ConvertScalarToVector128Int32(Unsafe.As(ref Unsafe.Add(ref prevBaseRef, offset))).AsByte(); - d = Sse2.ConvertScalarToVector128Int32(Unsafe.As(ref Unsafe.Add(ref scanBaseRef, offset))).AsByte(); + d = Sse2.ConvertScalarToVector128Int32(Unsafe.As(ref scanRef)).AsByte(); d = AverageSubtractAdd(a, b, d, ones); // Store the result. int result = Sse2.ConvertToInt32(d.AsInt32()); - Unsafe.As(ref scratchRef) = result; - scratch.Slice(0, 3).CopyTo(scanline.Slice(offset, 3)); + Unsafe.As(ref scanRef) = result; rb -= 3; offset += 3; @@ -90,22 +90,20 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters Vector128 d = Vector128.Zero; var ones = Vector128.Create((byte)1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1); - Span scratch = stackalloc byte[4]; - ref byte scratchRef = ref MemoryMarshal.GetReference(scratch); int rb = scanline.Length; int offset = 0; while (rb >= 4) { + ref byte scanRef = ref Unsafe.Add(ref scanBaseRef, offset); a = d; - b = Sse2.ConvertScalarToVector128Int32(Unsafe.As(ref Unsafe.Add(ref prevBaseRef, offset))).AsByte(); + b = Sse2.ConvertScalarToVector128Int32(Unsafe.As(ref scanRef)).AsByte(); d = Sse2.ConvertScalarToVector128Int32(Unsafe.As(ref Unsafe.Add(ref scanBaseRef, offset))).AsByte(); d = AverageSubtractAdd(a, b, d, ones); // Store the result. int result = Sse2.ConvertToInt32(d.AsInt32()); - Unsafe.As(ref scratchRef) = result; - scratch.CopyTo(scanline.Slice(offset, 4)); + Unsafe.As(ref scanRef) = result; rb -= 4; offset += 4; From 18548f7eff6f815f9969ee6298810a5761e9499b Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Tue, 22 Feb 2022 22:32:32 +0100 Subject: [PATCH 117/244] Dont use intrinsics for 3 bytes per pixel --- .../Formats/Png/Filters/AverageFilter.cs | 152 +++++++----------- 1 file changed, 56 insertions(+), 96 deletions(-) diff --git a/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs b/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs index 50058f01d..7747d14ea 100644 --- a/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs +++ b/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs @@ -30,119 +30,79 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters { DebugGuard.MustBeSameSized(scanline, previousScanline, nameof(scanline)); - ref byte scanBaseRef = ref MemoryMarshal.GetReference(scanline); - ref byte prevBaseRef = ref MemoryMarshal.GetReference(previousScanline); - // The Avg filter predicts each pixel as the (truncated) average of a and b: // Average(x) + floor((Raw(x-bpp)+Prior(x))/2) #if SUPPORTS_RUNTIME_INTRINSICS - if (Sse2.IsSupported && bytesPerPixel is 3 or 4) + if (Sse2.IsSupported && bytesPerPixel is 4) { - if (bytesPerPixel is 3) - { - Vector128 a = Vector128.Zero; - Vector128 b = Vector128.Zero; - Vector128 d = Vector128.Zero; - var ones = Vector128.Create((byte)1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1); - - Span scratch = stackalloc byte[4]; - ref byte scratchRef = ref MemoryMarshal.GetReference(scratch); - int rb = scanline.Length; - int offset = 0; - while (rb >= 4) - { - ref byte scanRef = ref Unsafe.Add(ref scanBaseRef, offset); - a = d; - b = Sse2.ConvertScalarToVector128Int32(Unsafe.As(ref Unsafe.Add(ref prevBaseRef, offset))).AsByte(); - d = Sse2.ConvertScalarToVector128Int32(Unsafe.As(ref scanRef)).AsByte(); - - d = AverageSubtractAdd(a, b, d, ones); - - // Store the result. - int result = Sse2.ConvertToInt32(d.AsInt32()); - Unsafe.As(ref scanRef) = result; - - rb -= 3; - offset += 3; - } - - if (rb is 3) - { - a = d; - scratch[3] = 0; - previousScanline.Slice(offset, 3).CopyTo(scratch); - b = Sse2.ConvertScalarToVector128Int32(Unsafe.As(ref scratchRef)).AsByte(); - scanline.Slice(offset, 3).CopyTo(scratch); - d = Sse2.ConvertScalarToVector128Int32(Unsafe.As(ref scratchRef)).AsByte(); - - d = AverageSubtractAdd(a, b, d, ones); - - // Store the result. - int result = Sse2.ConvertToInt32(d.AsInt32()); - Unsafe.As(ref scratchRef) = result; - scratch.Slice(0, 3).CopyTo(scanline.Slice(offset, 3)); - } - } - else - { - Vector128 a = Vector128.Zero; - Vector128 b = Vector128.Zero; - Vector128 d = Vector128.Zero; - var ones = Vector128.Create((byte)1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1); - - int rb = scanline.Length; - int offset = 0; - while (rb >= 4) - { - ref byte scanRef = ref Unsafe.Add(ref scanBaseRef, offset); - a = d; - b = Sse2.ConvertScalarToVector128Int32(Unsafe.As(ref scanRef)).AsByte(); - d = Sse2.ConvertScalarToVector128Int32(Unsafe.As(ref Unsafe.Add(ref scanBaseRef, offset))).AsByte(); - - d = AverageSubtractAdd(a, b, d, ones); - - // Store the result. - int result = Sse2.ConvertToInt32(d.AsInt32()); - Unsafe.As(ref scanRef) = result; - - rb -= 4; - offset += 4; - } - } + DecodeSse2(scanline, previousScanline); } else #endif { - int x = 1; - for (; x <= bytesPerPixel /* Note the <= because x starts at 1 */; ++x) - { - ref byte scan = ref Unsafe.Add(ref scanBaseRef, x); - byte above = Unsafe.Add(ref prevBaseRef, x); - scan = (byte)(scan + (above >> 1)); - } - - for (; x < scanline.Length; ++x) - { - ref byte scan = ref Unsafe.Add(ref scanBaseRef, x); - byte left = Unsafe.Add(ref scanBaseRef, x - bytesPerPixel); - byte above = Unsafe.Add(ref prevBaseRef, x); - scan = (byte)(scan + Average(left, above)); - } + DecodeScalar(scanline, previousScanline, bytesPerPixel); } } #if SUPPORTS_RUNTIME_INTRINSICS [MethodImpl(MethodImplOptions.AggressiveInlining)] - private static Vector128 AverageSubtractAdd(Vector128 a, Vector128 b, Vector128 d, Vector128 ones) + private static void DecodeSse2(Span scanline, Span previousScanline) { - // PNG requires a truncating average, so we can't just use _mm_avg_epu8. - // ...but we can fix it up by subtracting off 1 if it rounded up. - Vector128 avg = Sse2.Average(a, b); - avg = Sse2.Subtract(avg, Sse2.And(Sse2.Xor(a, b), ones)); - return Sse2.Add(d, avg); + ref byte scanBaseRef = ref MemoryMarshal.GetReference(scanline); + ref byte prevBaseRef = ref MemoryMarshal.GetReference(previousScanline); + + Vector128 d = Vector128.Zero; + var ones = Vector128.Create((byte)1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1); + + int rb = scanline.Length; + int offset = 1; + while (rb >= 4) + { + ref byte scanRef = ref Unsafe.Add(ref scanBaseRef, offset); + Vector128 a = d; + Vector128 b = Sse2.ConvertScalarToVector128Int32(Unsafe.As(ref Unsafe.Add(ref prevBaseRef, offset))).AsByte(); + d = Sse2.ConvertScalarToVector128Int32(Unsafe.As(ref scanRef)).AsByte(); + + // PNG requires a truncating average, so we can't just use _mm_avg_epu8, + // but we can fix it up by subtracting off 1 if it rounded up. + Vector128 avg = Sse2.Average(a, b); + Vector128 xor = Sse2.Xor(a, b); + Vector128 and = Sse2.And(xor, ones); + avg = Sse2.Subtract(avg, and); + d = Sse2.Add(d, avg); + + // Store the result. + Unsafe.As(ref scanRef) = Sse2.ConvertToInt32(d.AsInt32()); + + rb -= 4; + offset += 4; + } } #endif + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static void DecodeScalar(Span scanline, Span previousScanline, int bytesPerPixel) + { + ref byte scanBaseRef = ref MemoryMarshal.GetReference(scanline); + ref byte prevBaseRef = ref MemoryMarshal.GetReference(previousScanline); + + int x = 1; + for (; x <= bytesPerPixel /* Note the <= because x starts at 1 */; ++x) + { + ref byte scan = ref Unsafe.Add(ref scanBaseRef, x); + byte above = Unsafe.Add(ref prevBaseRef, x); + scan = (byte)(scan + (above >> 1)); + } + + for (; x < scanline.Length; ++x) + { + ref byte scan = ref Unsafe.Add(ref scanBaseRef, x); + byte left = Unsafe.Add(ref scanBaseRef, x - bytesPerPixel); + byte above = Unsafe.Add(ref prevBaseRef, x); + scan = (byte)(scan + Average(left, above)); + } + } + /// /// Encodes a scanline with the average filter applied. /// From 9eb71a20af6676afdb9c4cd07005d21cd022817d Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Wed, 23 Feb 2022 18:21:21 +0100 Subject: [PATCH 118/244] Add average filter tests --- .../Formats/Png/PngDecoderFilterTests.cs | 62 +++++++++++++++++++ ...ilterTests.cs => PngEncoderFilterTests.cs} | 4 +- 2 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 tests/ImageSharp.Tests/Formats/Png/PngDecoderFilterTests.cs rename tests/ImageSharp.Tests/Formats/Png/{PngFilterTests.cs => PngEncoderFilterTests.cs} (98%) diff --git a/tests/ImageSharp.Tests/Formats/Png/PngDecoderFilterTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngDecoderFilterTests.cs new file mode 100644 index 000000000..a901fc6cd --- /dev/null +++ b/tests/ImageSharp.Tests/Formats/Png/PngDecoderFilterTests.cs @@ -0,0 +1,62 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using SixLabors.ImageSharp.Formats.Png.Filters; +using SixLabors.ImageSharp.Tests.TestUtilities; +using Xunit; + +namespace SixLabors.ImageSharp.Tests.Formats.Png +{ + public class PngDecoderFilterTests + { + private static void RunAverageFilterTest() + { + // arrange + byte[] scanline = + { + 3, 39, 39, 39, 0, 4, 4, 4, 0, 1, 1, 1, 0, 1, 1, 1, 0, 2, 2, 2, 0, 2, 2, 2, 0, 2, 2, 2, 0, 4, 4, 4, + 0, 2, 2, 2, 0, 3, 3, 3, 0, 1, 1, 1, 0, 3, 3, 3, 0, 3, 3, 3, 0, 1, 1, 1, 0, 3, 3, 3, 0, 2, 2, 2, 0, + 1, 1, 1, 0, 3, 3, 3, 0, 1, 1, 1, 0, 3, 3, 3, 0, 1, 1, 1, 0, 3, 3, 3, 0, 3, 3, 3, 0, 254, 254, 254, + 0, 6, 6, 6, 14, 71, 71, 71, 157, 254, 254, 254, 28, 251, 251, 251, 0, 4, 4, 4, 0, 2, 2, 2, 0, 11, + 11, 11, 0, 226, 226, 226, 0, 255 + }; + + byte[] previousScanline = + { + 3, 74, 74, 74, 0, 73, 73, 73, 0, 73, 73, 73, 0, 74, 74, 74, 0, 74, 74, 74, 0, 73, 73, 73, 0, 72, 72, + 72, 0, 72, 72, 72, 0, 73, 73, 73, 0, 74, 74, 74, 0, 73, 73, 73, 0, 72, 72, 72, 0, 72, 72, 72, 0, 74, + 74, 74, 0, 72, 72, 72, 0, 73, 73, 73, 0, 75, 75, 75, 0, 73, 73, 73, 0, 74, 74, 74, 0, 72, 72, 72, 0, + 73, 73, 73, 0, 73, 73, 73, 0, 72, 72, 72, 0, 74, 74, 74, 0, 61, 61, 61, 0, 101, 101, 101, 78, 197, + 197, 197, 251, 152, 152, 152, 255, 155, 155, 155, 255, 162, 162, 162, 255, 175, 175, 175, 255, 160, + 160, 160, 255, 139 + }; + + byte[] expected = + { + 3, 76, 76, 76, 0, 78, 78, 78, 0, 76, 76, 76, 0, 76, 76, 76, 0, 77, 77, 77, 0, 77, 77, 77, 0, 76, 76, + 76, 0, 78, 78, 78, 0, 77, 77, 77, 0, 78, 78, 78, 0, 76, 76, 76, 0, 77, 77, 77, 0, 77, 77, 77, 0, 76, + 76, 76, 0, 77, 77, 77, 0, 77, 77, 77, 0, 77, 77, 77, 0, 78, 78, 78, 0, 77, 77, 77, 0, 77, 77, 77, 0, + 76, 76, 76, 0, 77, 77, 77, 0, 77, 77, 77, 0, 73, 73, 73, 0, 73, 73, 73, 14, 158, 158, 158, 203, 175, + 175, 175, 255, 158, 158, 158, 255, 160, 160, 160, 255, 163, 163, 163, 255, 180, 180, 180, 255, 140, + 140, 140, 255, 255 + }; + + // act + AverageFilter.Decode(scanline, previousScanline, 4); + + // assert + Assert.Equal(scanline, expected); + } + + [Fact] + public void AverageInverse_Works() => RunAverageFilterTest(); + +#if SUPPORTS_RUNTIME_INTRINSICS + [Fact] + public void AverageInverse_WithHardwareIntrinsics_Works() => FeatureTestRunner.RunWithHwIntrinsicsFeature(RunAverageFilterTest, HwIntrinsics.AllowAll); + + [Fact] + public void AverageInverse__WithoutSSE2_Works() => FeatureTestRunner.RunWithHwIntrinsicsFeature(RunAverageFilterTest, HwIntrinsics.DisableSSE2); +#endif + } +} diff --git a/tests/ImageSharp.Tests/Formats/Png/PngFilterTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngEncoderFilterTests.cs similarity index 98% rename from tests/ImageSharp.Tests/Formats/Png/PngFilterTests.cs rename to tests/ImageSharp.Tests/Formats/Png/PngEncoderFilterTests.cs index 9b6119380..11e3fbb23 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngFilterTests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngEncoderFilterTests.cs @@ -13,7 +13,7 @@ using Xunit.Abstractions; namespace SixLabors.ImageSharp.Tests.Formats.Png { [Trait("Format", "Png")] - public partial class PngFilterTests : MeasureFixture + public class PngEncoderFilterTests : MeasureFixture { #if BENCHMARKING public const int Times = 1000000; @@ -21,7 +21,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png public const int Times = 1; #endif - public PngFilterTests(ITestOutputHelper output) + public PngEncoderFilterTests(ITestOutputHelper output) : base(output) { } From a921c57efc84a24b8d81843f61895b850a869077 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Wed, 23 Feb 2022 18:33:52 +0100 Subject: [PATCH 119/244] Add benchmark file for average filter with 4bpp --- .../Codecs/Png/DecodeFilteredPng.cs | 20 ++++++++++++------- tests/ImageSharp.Tests/TestImages.cs | 6 ++++-- tests/Images/Input/Png/AverageFilter4Bpp.png | 3 +++ 3 files changed, 20 insertions(+), 9 deletions(-) create mode 100644 tests/Images/Input/Png/AverageFilter4Bpp.png diff --git a/tests/ImageSharp.Benchmarks/Codecs/Png/DecodeFilteredPng.cs b/tests/ImageSharp.Benchmarks/Codecs/Png/DecodeFilteredPng.cs index 6517bf3c4..373b563c8 100644 --- a/tests/ImageSharp.Benchmarks/Codecs/Png/DecodeFilteredPng.cs +++ b/tests/ImageSharp.Benchmarks/Codecs/Png/DecodeFilteredPng.cs @@ -16,7 +16,8 @@ namespace SixLabors.ImageSharp.Benchmarks.Codecs private byte[] filter1; private byte[] filter2; private byte[] filter3; - private byte[] filter4; + private byte[] averageFilter3bpp; + private byte[] averageFilter4bpp; [GlobalSetup] public void ReadImages() @@ -24,8 +25,9 @@ namespace SixLabors.ImageSharp.Benchmarks.Codecs this.filter0 = File.ReadAllBytes(TestImageFullPath(TestImages.Png.Filter0)); this.filter1 = File.ReadAllBytes(TestImageFullPath(TestImages.Png.Filter1)); this.filter2 = File.ReadAllBytes(TestImageFullPath(TestImages.Png.Filter2)); - this.filter3 = File.ReadAllBytes(TestImageFullPath(TestImages.Png.Filter3)); - this.filter4 = File.ReadAllBytes(TestImageFullPath(TestImages.Png.Filter4)); + this.filter3 = File.ReadAllBytes(TestImageFullPath(TestImages.Png.Filter4)); + this.averageFilter3bpp = File.ReadAllBytes(TestImageFullPath(TestImages.Png.AverageFilter3bpp)); + this.averageFilter4bpp = File.ReadAllBytes(TestImageFullPath(TestImages.Png.AverageFilter4bpp)); } [Benchmark(Baseline = true, Description = "None-filtered PNG file")] @@ -40,13 +42,17 @@ namespace SixLabors.ImageSharp.Benchmarks.Codecs public Size PngFilter2() => LoadPng(this.filter2); - [Benchmark(Description = "Average-filtered PNG file")] - public Size PngFilter3() - => LoadPng(this.filter3); + [Benchmark(Description = "Average-filtered PNG file (3bpp)")] + public Size PngAvgFilter1() + => LoadPng(this.averageFilter3bpp); + + [Benchmark(Description = "Average-filtered PNG file (4bpp)")] + public Size PngAvgFilter2() + => LoadPng(this.averageFilter4bpp); [Benchmark(Description = "Paeth-filtered PNG file")] public Size PngFilter4() - => LoadPng(this.filter4); + => LoadPng(this.filter3); [MethodImpl(MethodImplOptions.AggressiveInlining)] private static Size LoadPng(byte[] bytes) diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index 5bce99ce1..2f3bb49f6 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -68,9 +68,11 @@ namespace SixLabors.ImageSharp.Tests public const string Filter0 = "Png/filter0.png"; public const string Filter1 = "Png/filter1.png"; public const string Filter2 = "Png/filter2.png"; - public const string Filter3 = "Png/filter3.png"; + public const string AverageFilter3bpp = "Png/filter3.png"; public const string Filter4 = "Png/filter4.png"; + public const string AverageFilter4bpp = "Png/AverageFilter4Bpp.png"; + // Paletted images also from http://www.schaik.com/pngsuite/pngsuite_fil_png.html public const string PalettedTwoColor = "Png/basn3p01.png"; public const string PalettedFourColor = "Png/basn3p02.png"; @@ -159,7 +161,7 @@ namespace SixLabors.ImageSharp.Tests { P1, Pd, Blur, Splash, Cross, Powerpoint, SplashInterlaced, Interlaced, - Filter0, Filter1, Filter2, Filter3, Filter4, + Filter0, Filter1, Filter2, AverageFilter3bpp, Filter4, FilterVar, VimImage1, VimImage2, VersioningImage1, VersioningImage2, Ratio4x1, Ratio1x4 }; diff --git a/tests/Images/Input/Png/AverageFilter4Bpp.png b/tests/Images/Input/Png/AverageFilter4Bpp.png new file mode 100644 index 000000000..728b6cfaf --- /dev/null +++ b/tests/Images/Input/Png/AverageFilter4Bpp.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7add6fba794bc76ccea2ee3a311b4050cf17f4f78b69a50785f7739b8b35919e +size 181108 From 3ab1ba6bb304f52ef163c341ac8e22a82d62841a Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Wed, 23 Feb 2022 19:02:43 +0100 Subject: [PATCH 120/244] Use DisableHWIntrinsic in average filter test --- tests/ImageSharp.Tests/Formats/Png/PngDecoderFilterTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/ImageSharp.Tests/Formats/Png/PngDecoderFilterTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngDecoderFilterTests.cs index a901fc6cd..ce6cd0526 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngDecoderFilterTests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngDecoderFilterTests.cs @@ -56,7 +56,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png public void AverageInverse_WithHardwareIntrinsics_Works() => FeatureTestRunner.RunWithHwIntrinsicsFeature(RunAverageFilterTest, HwIntrinsics.AllowAll); [Fact] - public void AverageInverse__WithoutSSE2_Works() => FeatureTestRunner.RunWithHwIntrinsicsFeature(RunAverageFilterTest, HwIntrinsics.DisableSSE2); + public void AverageInverse_WithoutHardwareIntrinsics_Works() => FeatureTestRunner.RunWithHwIntrinsicsFeature(RunAverageFilterTest, HwIntrinsics.DisableHWIntrinsic); #endif } } From 9f322555a96d7b920740608ca736bc5f8bffc911 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Wed, 23 Feb 2022 19:17:44 +0100 Subject: [PATCH 121/244] Rename average filter tests --- tests/ImageSharp.Tests/Formats/Png/PngDecoderFilterTests.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/ImageSharp.Tests/Formats/Png/PngDecoderFilterTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngDecoderFilterTests.cs index ce6cd0526..a096c5eb6 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngDecoderFilterTests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngDecoderFilterTests.cs @@ -49,14 +49,14 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png } [Fact] - public void AverageInverse_Works() => RunAverageFilterTest(); + public void AverageFilter_Works() => RunAverageFilterTest(); #if SUPPORTS_RUNTIME_INTRINSICS [Fact] - public void AverageInverse_WithHardwareIntrinsics_Works() => FeatureTestRunner.RunWithHwIntrinsicsFeature(RunAverageFilterTest, HwIntrinsics.AllowAll); + public void AverageFilter_WithHardwareIntrinsics_Works() => FeatureTestRunner.RunWithHwIntrinsicsFeature(RunAverageFilterTest, HwIntrinsics.AllowAll); [Fact] - public void AverageInverse_WithoutHardwareIntrinsics_Works() => FeatureTestRunner.RunWithHwIntrinsicsFeature(RunAverageFilterTest, HwIntrinsics.DisableHWIntrinsic); + public void AverageFilter_WithoutHardwareIntrinsics_Works() => FeatureTestRunner.RunWithHwIntrinsicsFeature(RunAverageFilterTest, HwIntrinsics.DisableHWIntrinsic); #endif } } From 4f6b807e389b7a2cdb20329065fe1d1d51654590 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Wed, 23 Feb 2022 19:50:55 +0100 Subject: [PATCH 122/244] Fix average test data --- .../ImageSharp.Tests/Formats/Png/PngDecoderFilterTests.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/ImageSharp.Tests/Formats/Png/PngDecoderFilterTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngDecoderFilterTests.cs index a096c5eb6..310f53c51 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngDecoderFilterTests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngDecoderFilterTests.cs @@ -7,6 +7,7 @@ using Xunit; namespace SixLabors.ImageSharp.Tests.Formats.Png { + [Trait("Format", "Png")] public class PngDecoderFilterTests { private static void RunAverageFilterTest() @@ -18,7 +19,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png 0, 2, 2, 2, 0, 3, 3, 3, 0, 1, 1, 1, 0, 3, 3, 3, 0, 3, 3, 3, 0, 1, 1, 1, 0, 3, 3, 3, 0, 2, 2, 2, 0, 1, 1, 1, 0, 3, 3, 3, 0, 1, 1, 1, 0, 3, 3, 3, 0, 1, 1, 1, 0, 3, 3, 3, 0, 3, 3, 3, 0, 254, 254, 254, 0, 6, 6, 6, 14, 71, 71, 71, 157, 254, 254, 254, 28, 251, 251, 251, 0, 4, 4, 4, 0, 2, 2, 2, 0, 11, - 11, 11, 0, 226, 226, 226, 0, 255 + 11, 11, 0, 226, 226, 226, 0, 255, 128, 234 }; byte[] previousScanline = @@ -28,7 +29,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png 74, 74, 0, 72, 72, 72, 0, 73, 73, 73, 0, 75, 75, 75, 0, 73, 73, 73, 0, 74, 74, 74, 0, 72, 72, 72, 0, 73, 73, 73, 0, 73, 73, 73, 0, 72, 72, 72, 0, 74, 74, 74, 0, 61, 61, 61, 0, 101, 101, 101, 78, 197, 197, 197, 251, 152, 152, 152, 255, 155, 155, 155, 255, 162, 162, 162, 255, 175, 175, 175, 255, 160, - 160, 160, 255, 139 + 160, 160, 255, 139, 128, 134 }; byte[] expected = @@ -38,7 +39,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png 76, 76, 0, 77, 77, 77, 0, 77, 77, 77, 0, 77, 77, 77, 0, 78, 78, 78, 0, 77, 77, 77, 0, 77, 77, 77, 0, 76, 76, 76, 0, 77, 77, 77, 0, 77, 77, 77, 0, 73, 73, 73, 0, 73, 73, 73, 14, 158, 158, 158, 203, 175, 175, 175, 255, 158, 158, 158, 255, 160, 160, 160, 255, 163, 163, 163, 255, 180, 180, 180, 255, 140, - 140, 140, 255, 255 + 140, 140, 255, 138, 6, 115 }; // act From c01001fddb1eee22d316ce8648db295a37a7f26c Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Wed, 23 Feb 2022 20:07:09 +0100 Subject: [PATCH 123/244] Add comment about pixel layout --- src/ImageSharp/Formats/Png/Filters/AverageFilter.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs b/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs index 7747d14ea..a99b93adb 100644 --- a/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs +++ b/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs @@ -32,6 +32,9 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters // The Avg filter predicts each pixel as the (truncated) average of a and b: // Average(x) + floor((Raw(x-bpp)+Prior(x))/2) + // With pixels positioned like this: + // prev: c b + // row: a d #if SUPPORTS_RUNTIME_INTRINSICS if (Sse2.IsSupported && bytesPerPixel is 4) { From e1f96f2647d6a9ccfef3a61c9d339381e7f3c4f9 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Wed, 23 Feb 2022 21:40:51 +0100 Subject: [PATCH 124/244] Additional png decoder tests for average filter --- .../Codecs/Png/DecodeFilteredPng.cs | 4 ++-- tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs | 11 +++++++++++ tests/ImageSharp.Tests/TestImages.cs | 6 +++--- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/tests/ImageSharp.Benchmarks/Codecs/Png/DecodeFilteredPng.cs b/tests/ImageSharp.Benchmarks/Codecs/Png/DecodeFilteredPng.cs index 373b563c8..92eb4af07 100644 --- a/tests/ImageSharp.Benchmarks/Codecs/Png/DecodeFilteredPng.cs +++ b/tests/ImageSharp.Benchmarks/Codecs/Png/DecodeFilteredPng.cs @@ -26,8 +26,8 @@ namespace SixLabors.ImageSharp.Benchmarks.Codecs this.filter1 = File.ReadAllBytes(TestImageFullPath(TestImages.Png.Filter1)); this.filter2 = File.ReadAllBytes(TestImageFullPath(TestImages.Png.Filter2)); this.filter3 = File.ReadAllBytes(TestImageFullPath(TestImages.Png.Filter4)); - this.averageFilter3bpp = File.ReadAllBytes(TestImageFullPath(TestImages.Png.AverageFilter3bpp)); - this.averageFilter4bpp = File.ReadAllBytes(TestImageFullPath(TestImages.Png.AverageFilter4bpp)); + this.averageFilter3bpp = File.ReadAllBytes(TestImageFullPath(TestImages.Png.AverageFilter3BytesPerPixel)); + this.averageFilter4bpp = File.ReadAllBytes(TestImageFullPath(TestImages.Png.AverageFilter4BytesPerPixel)); } [Benchmark(Baseline = true, Description = "None-filtered PNG file")] diff --git a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs index 0af5d9995..7d4708799 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs @@ -111,6 +111,17 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png image.CompareToOriginal(provider, ImageComparer.Exact); } + [Theory] + [WithFile(TestImages.Png.AverageFilter3BytesPerPixel, PixelTypes.Rgba64)] + [WithFile(TestImages.Png.AverageFilter4BytesPerPixel, PixelTypes.Rgba64)] + public void Decode_WithAverageFilter(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + using Image image = provider.GetImage(PngDecoder); + image.DebugSave(provider); + image.CompareToOriginal(provider, ImageComparer.Exact); + } + [Theory] [WithFile(TestImages.Png.GrayA8Bit, PixelTypes.Rgba32)] [WithFile(TestImages.Png.Gray1BitTrans, PixelTypes.Rgba32)] diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index 2f3bb49f6..ad50fc5c7 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -68,10 +68,10 @@ namespace SixLabors.ImageSharp.Tests public const string Filter0 = "Png/filter0.png"; public const string Filter1 = "Png/filter1.png"; public const string Filter2 = "Png/filter2.png"; - public const string AverageFilter3bpp = "Png/filter3.png"; + public const string AverageFilter3BytesPerPixel = "Png/filter3.png"; public const string Filter4 = "Png/filter4.png"; - public const string AverageFilter4bpp = "Png/AverageFilter4Bpp.png"; + public const string AverageFilter4BytesPerPixel = "Png/AverageFilter4Bpp.png"; // Paletted images also from http://www.schaik.com/pngsuite/pngsuite_fil_png.html public const string PalettedTwoColor = "Png/basn3p01.png"; @@ -161,7 +161,7 @@ namespace SixLabors.ImageSharp.Tests { P1, Pd, Blur, Splash, Cross, Powerpoint, SplashInterlaced, Interlaced, - Filter0, Filter1, Filter2, AverageFilter3bpp, Filter4, + Filter0, Filter1, Filter2, AverageFilter3BytesPerPixel, Filter4, FilterVar, VimImage1, VimImage2, VersioningImage1, VersioningImage2, Ratio4x1, Ratio1x4 }; From 8716c51d3044c40eaa46c6406f1f581afd699112 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Thu, 24 Feb 2022 11:53:50 +0100 Subject: [PATCH 125/244] Add SSE2 version of up filter --- .../Formats/Png/Filters/UpFilter.cs | 57 +++++++++++++++++-- 1 file changed, 53 insertions(+), 4 deletions(-) diff --git a/src/ImageSharp/Formats/Png/Filters/UpFilter.cs b/src/ImageSharp/Formats/Png/Filters/UpFilter.cs index 7e0286991..2d2a442a1 100644 --- a/src/ImageSharp/Formats/Png/Filters/UpFilter.cs +++ b/src/ImageSharp/Formats/Png/Filters/UpFilter.cs @@ -21,7 +21,7 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters internal static class UpFilter { /// - /// Decodes the scanline + /// Decodes a scanline, which was filtered with the up filter. /// /// The scanline to decode /// The previous scanline. @@ -30,6 +30,55 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters { DebugGuard.MustBeSameSized(scanline, previousScanline, nameof(scanline)); +#if SUPPORTS_RUNTIME_INTRINSICS + if (Sse2.IsSupported) + { + DecodeSse2(scanline, previousScanline); + } + else +#endif + { + DecodeScalar(scanline, previousScanline); + } + } + +#if SUPPORTS_RUNTIME_INTRINSICS + private static void DecodeSse2(Span scanline, Span previousScanline) + { + ref byte scanBaseRef = ref MemoryMarshal.GetReference(scanline); + ref byte prevBaseRef = ref MemoryMarshal.GetReference(previousScanline); + + // Up(x) + Prior(x) + int rb = scanline.Length; + int offset = 1; + const int bytesPerBatch = 16; + while (rb >= bytesPerBatch) + { + ref byte scanRef = ref Unsafe.Add(ref scanBaseRef, offset); + Vector128 current = Unsafe.As>(ref scanRef); + Vector128 up = Unsafe.As>(ref Unsafe.Add(ref prevBaseRef, offset)); + + Vector128 sum = Sse2.Add(up, current); + Unsafe.As>(ref scanRef) = sum; + + offset += bytesPerBatch; + rb -= bytesPerBatch; + } + + // Handle left over. + for (int i = offset; i < scanline.Length; i++) + { + ref byte scan = ref Unsafe.Add(ref scanBaseRef, offset); + byte above = Unsafe.Add(ref prevBaseRef, offset); + scan = (byte)(scan + above); + offset++; + } + } +#endif + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static void DecodeScalar(Span scanline, Span previousScanline) + { ref byte scanBaseRef = ref MemoryMarshal.GetReference(scanline); ref byte prevBaseRef = ref MemoryMarshal.GetReference(previousScanline); @@ -43,12 +92,12 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters } /// - /// Encodes the scanline + /// Encodes a scanline with the up filter applied. /// - /// The scanline to encode + /// The scanline to encode. /// The previous scanline. /// The filtered scanline result. - /// The sum of the total variance of the filtered row + /// The sum of the total variance of the filtered row. [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void Encode(ReadOnlySpan scanline, ReadOnlySpan previousScanline, Span result, out int sum) { From 0c8dbeae8c6854e75ccefa3902df85f01160f2dc Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Thu, 24 Feb 2022 13:58:16 +0100 Subject: [PATCH 126/244] Add Avx version of up filter --- .../Formats/Png/Filters/UpFilter.cs | 38 ++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/src/ImageSharp/Formats/Png/Filters/UpFilter.cs b/src/ImageSharp/Formats/Png/Filters/UpFilter.cs index 2d2a442a1..20a828e52 100644 --- a/src/ImageSharp/Formats/Png/Filters/UpFilter.cs +++ b/src/ImageSharp/Formats/Png/Filters/UpFilter.cs @@ -31,7 +31,11 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters DebugGuard.MustBeSameSized(scanline, previousScanline, nameof(scanline)); #if SUPPORTS_RUNTIME_INTRINSICS - if (Sse2.IsSupported) + if (Avx2.IsSupported) + { + DecodeAvx2(scanline, previousScanline); + } + else if (Sse2.IsSupported) { DecodeSse2(scanline, previousScanline); } @@ -43,6 +47,38 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters } #if SUPPORTS_RUNTIME_INTRINSICS + private static void DecodeAvx2(Span scanline, Span previousScanline) + { + ref byte scanBaseRef = ref MemoryMarshal.GetReference(scanline); + ref byte prevBaseRef = ref MemoryMarshal.GetReference(previousScanline); + + // Up(x) + Prior(x) + int rb = scanline.Length; + int offset = 1; + const int bytesPerBatch = 32; + while (rb >= bytesPerBatch) + { + ref byte scanRef = ref Unsafe.Add(ref scanBaseRef, offset); + Vector256 current = Unsafe.As>(ref scanRef); + Vector256 up = Unsafe.As>(ref Unsafe.Add(ref prevBaseRef, offset)); + + Vector256 sum = Avx2.Add(up, current); + Unsafe.As>(ref scanRef) = sum; + + offset += bytesPerBatch; + rb -= bytesPerBatch; + } + + // Handle left over. + for (int i = offset; i < scanline.Length; i++) + { + ref byte scan = ref Unsafe.Add(ref scanBaseRef, offset); + byte above = Unsafe.Add(ref prevBaseRef, offset); + scan = (byte)(scan + above); + offset++; + } + } + private static void DecodeSse2(Span scanline, Span previousScanline) { ref byte scanBaseRef = ref MemoryMarshal.GetReference(scanline); From fd4e3a51081309dae438e20f3ebbbdb56ee6f5be Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Fri, 25 Feb 2022 00:44:06 +1100 Subject: [PATCH 127/244] Scale allocated chunk sizes to match allocations --- src/ImageSharp/IO/ChunkedMemoryStream.cs | 68 ++++++++++++------ .../IO/ChunkedMemoryStreamTests.cs | 70 ++++++++----------- 2 files changed, 77 insertions(+), 61 deletions(-) diff --git a/src/ImageSharp/IO/ChunkedMemoryStream.cs b/src/ImageSharp/IO/ChunkedMemoryStream.cs index e39930def..9c242b558 100644 --- a/src/ImageSharp/IO/ChunkedMemoryStream.cs +++ b/src/ImageSharp/IO/ChunkedMemoryStream.cs @@ -17,9 +17,19 @@ namespace SixLabors.ImageSharp.IO internal sealed class ChunkedMemoryStream : Stream { /// - /// The default length in bytes of each buffer chunk. + /// The default length in bytes of each buffer chunk when allocating large buffers. /// - public const int DefaultBufferLength = 128 * 1024; + public const int DefaultLargeChunkSize = 1024 * 1024 * 4; // 4 Mb + + /// + /// The threshold at which to switch to using the large buffer. + /// + public const int DefaultLargeChunkThreshold = DefaultLargeChunkSize / 4; // 1 Mb + + /// + /// The default length in bytes of each buffer chunk when allocating small buffers. + /// + public const int DefaultSmallChunkSize = DefaultLargeChunkSize / 32; // 128 Kb // The memory allocator. private readonly MemoryAllocator allocator; @@ -27,8 +37,18 @@ namespace SixLabors.ImageSharp.IO // Data private MemoryChunk memoryChunk; - // The length of each buffer chunk - private readonly int chunkLength; + // The length, in bytes, of each large buffer chunk + private readonly int largeChunkSize; + + // The length, in bytes of the total allocation threshold that triggers switching from + // small to large buffer chunks. + private readonly int largeChunkThreshold; + + // The current length, in bytes, of each buffer chunk + private int chunkSize; + + // The total allocation length, in bytes + private int totalAllocation; // Has the stream been disposed. private bool isDisposed; @@ -49,21 +69,15 @@ namespace SixLabors.ImageSharp.IO /// Initializes a new instance of the class. /// public ChunkedMemoryStream(MemoryAllocator allocator) - : this(DefaultBufferLength, allocator) - { - } - - /// - /// Initializes a new instance of the class. - /// - /// The length, in bytes of each buffer chunk. - /// The memory allocator. - public ChunkedMemoryStream(int bufferLength, MemoryAllocator allocator) { - Guard.MustBeGreaterThan(bufferLength, 0, nameof(bufferLength)); Guard.NotNull(allocator, nameof(allocator)); - this.chunkLength = bufferLength; + // Tweak our buffer sizes to take the minimum of the provided buffer sizes + // or values scaled from the allocator buffer capacity which provides us with the largest + // available contiguous buffer size. + this.largeChunkSize = Math.Min(DefaultLargeChunkSize, allocator.GetBufferCapacityInBytes()); + this.largeChunkThreshold = Math.Min(DefaultLargeChunkThreshold, this.largeChunkSize / 4); + this.chunkSize = Math.Min(DefaultSmallChunkSize, this.largeChunkSize / 32); this.allocator = allocator; } @@ -191,6 +205,9 @@ namespace SixLabors.ImageSharp.IO case SeekOrigin.End: this.Position = this.Length + offset; break; + default: + ThrowInvalidSeek(); + break; } return this.Position; @@ -219,6 +236,7 @@ namespace SixLabors.ImageSharp.IO this.memoryChunk = null; this.writeChunk = null; this.readChunk = null; + this.totalAllocation = 0; } finally { @@ -519,17 +537,25 @@ namespace SixLabors.ImageSharp.IO } [MethodImpl(MethodImplOptions.NoInlining)] - private static void ThrowDisposed() - => throw new ObjectDisposedException(null, "The stream is closed."); + private static void ThrowDisposed() => throw new ObjectDisposedException(null, "The stream is closed."); [MethodImpl(MethodImplOptions.NoInlining)] - private static void ThrowArgumentOutOfRange(string value) - => throw new ArgumentOutOfRangeException(value); + private static void ThrowArgumentOutOfRange(string value) => throw new ArgumentOutOfRangeException(value); + + [MethodImpl(MethodImplOptions.NoInlining)] + private static void ThrowInvalidSeek() => throw new ArgumentException("Invalid seek origin."); [MethodImpl(MethodImplOptions.AggressiveInlining)] private MemoryChunk AllocateMemoryChunk() { - IMemoryOwner buffer = this.allocator.Allocate(this.chunkLength); + if (this.totalAllocation >= this.largeChunkThreshold) + { + this.chunkSize = this.largeChunkSize; + } + + IMemoryOwner buffer = this.allocator.Allocate(this.chunkSize); + this.totalAllocation += this.chunkSize; + return new MemoryChunk { Buffer = buffer, diff --git a/tests/ImageSharp.Tests/IO/ChunkedMemoryStreamTests.cs b/tests/ImageSharp.Tests/IO/ChunkedMemoryStreamTests.cs index 00a178c8f..455730e71 100644 --- a/tests/ImageSharp.Tests/IO/ChunkedMemoryStreamTests.cs +++ b/tests/ImageSharp.Tests/IO/ChunkedMemoryStreamTests.cs @@ -20,17 +20,7 @@ namespace SixLabors.ImageSharp.Tests.IO { private readonly MemoryAllocator allocator; - public ChunkedMemoryStreamTests() - { - this.allocator = Configuration.Default.MemoryAllocator; - } - - [Fact] - public void MemoryStream_Ctor_InvalidCapacities() - { - Assert.Throws(() => new ChunkedMemoryStream(int.MinValue, this.allocator)); - Assert.Throws(() => new ChunkedMemoryStream(0, this.allocator)); - } + public ChunkedMemoryStreamTests() => this.allocator = Configuration.Default.MemoryAllocator; [Fact] public void MemoryStream_GetPositionTest_Negative() @@ -61,11 +51,11 @@ namespace SixLabors.ImageSharp.Tests.IO } [Theory] - [InlineData(ChunkedMemoryStream.DefaultBufferLength)] - [InlineData((int)(ChunkedMemoryStream.DefaultBufferLength * 1.5))] - [InlineData(ChunkedMemoryStream.DefaultBufferLength * 4)] - [InlineData((int)(ChunkedMemoryStream.DefaultBufferLength * 5.5))] - [InlineData(ChunkedMemoryStream.DefaultBufferLength * 8)] + [InlineData(ChunkedMemoryStream.DefaultSmallChunkSize)] + [InlineData((int)(ChunkedMemoryStream.DefaultSmallChunkSize * 1.5))] + [InlineData(ChunkedMemoryStream.DefaultSmallChunkSize * 4)] + [InlineData((int)(ChunkedMemoryStream.DefaultSmallChunkSize * 5.5))] + [InlineData(ChunkedMemoryStream.DefaultSmallChunkSize * 16)] public void MemoryStream_ReadByteTest(int length) { using MemoryStream ms = this.CreateTestStream(length); @@ -73,7 +63,7 @@ namespace SixLabors.ImageSharp.Tests.IO ms.CopyTo(cms); cms.Position = 0; - var expected = ms.ToArray(); + byte[] expected = ms.ToArray(); for (int i = 0; i < expected.Length; i++) { @@ -82,11 +72,11 @@ namespace SixLabors.ImageSharp.Tests.IO } [Theory] - [InlineData(ChunkedMemoryStream.DefaultBufferLength)] - [InlineData((int)(ChunkedMemoryStream.DefaultBufferLength * 1.5))] - [InlineData(ChunkedMemoryStream.DefaultBufferLength * 4)] - [InlineData((int)(ChunkedMemoryStream.DefaultBufferLength * 5.5))] - [InlineData(ChunkedMemoryStream.DefaultBufferLength * 8)] + [InlineData(ChunkedMemoryStream.DefaultSmallChunkSize)] + [InlineData((int)(ChunkedMemoryStream.DefaultSmallChunkSize * 1.5))] + [InlineData(ChunkedMemoryStream.DefaultSmallChunkSize * 4)] + [InlineData((int)(ChunkedMemoryStream.DefaultSmallChunkSize * 5.5))] + [InlineData(ChunkedMemoryStream.DefaultSmallChunkSize * 16)] public void MemoryStream_ReadByteBufferTest(int length) { using MemoryStream ms = this.CreateTestStream(length); @@ -94,8 +84,8 @@ namespace SixLabors.ImageSharp.Tests.IO ms.CopyTo(cms); cms.Position = 0; - var expected = ms.ToArray(); - var buffer = new byte[2]; + byte[] expected = ms.ToArray(); + byte[] buffer = new byte[2]; for (int i = 0; i < expected.Length; i += 2) { cms.Read(buffer); @@ -105,11 +95,11 @@ namespace SixLabors.ImageSharp.Tests.IO } [Theory] - [InlineData(ChunkedMemoryStream.DefaultBufferLength)] - [InlineData((int)(ChunkedMemoryStream.DefaultBufferLength * 1.5))] - [InlineData(ChunkedMemoryStream.DefaultBufferLength * 4)] - [InlineData((int)(ChunkedMemoryStream.DefaultBufferLength * 5.5))] - [InlineData(ChunkedMemoryStream.DefaultBufferLength * 8)] + [InlineData(ChunkedMemoryStream.DefaultSmallChunkSize)] + [InlineData((int)(ChunkedMemoryStream.DefaultSmallChunkSize * 1.5))] + [InlineData(ChunkedMemoryStream.DefaultSmallChunkSize * 4)] + [InlineData((int)(ChunkedMemoryStream.DefaultSmallChunkSize * 5.5))] + [InlineData(ChunkedMemoryStream.DefaultSmallChunkSize * 16)] public void MemoryStream_ReadByteBufferSpanTest(int length) { using MemoryStream ms = this.CreateTestStream(length); @@ -117,7 +107,7 @@ namespace SixLabors.ImageSharp.Tests.IO ms.CopyTo(cms); cms.Position = 0; - var expected = ms.ToArray(); + byte[] expected = ms.ToArray(); Span buffer = new byte[2]; for (int i = 0; i < expected.Length; i += 2) { @@ -257,24 +247,24 @@ namespace SixLabors.ImageSharp.Tests.IO public void MemoryStream_CopyTo_Invalid() { ChunkedMemoryStream memoryStream; - const string BufferSize = "bufferSize"; + const string bufferSize = nameof(bufferSize); using (memoryStream = new ChunkedMemoryStream(this.allocator)) { - const string Destination = "destination"; - Assert.Throws(Destination, () => memoryStream.CopyTo(destination: null)); + const string destination = nameof(destination); + Assert.Throws(destination, () => memoryStream.CopyTo(destination: null)); // Validate the destination parameter first. - Assert.Throws(Destination, () => memoryStream.CopyTo(destination: null, bufferSize: 0)); - Assert.Throws(Destination, () => memoryStream.CopyTo(destination: null, bufferSize: -1)); + Assert.Throws(destination, () => memoryStream.CopyTo(destination: null, bufferSize: 0)); + Assert.Throws(destination, () => memoryStream.CopyTo(destination: null, bufferSize: -1)); // Then bufferSize. - Assert.Throws(BufferSize, () => memoryStream.CopyTo(Stream.Null, bufferSize: 0)); // 0-length buffer doesn't make sense. - Assert.Throws(BufferSize, () => memoryStream.CopyTo(Stream.Null, bufferSize: -1)); + Assert.Throws(bufferSize, () => memoryStream.CopyTo(Stream.Null, bufferSize: 0)); // 0-length buffer doesn't make sense. + Assert.Throws(bufferSize, () => memoryStream.CopyTo(Stream.Null, bufferSize: -1)); } // After the Stream is disposed, we should fail on all CopyTos. - Assert.Throws(BufferSize, () => memoryStream.CopyTo(Stream.Null, bufferSize: 0)); // Not before bufferSize is validated. - Assert.Throws(BufferSize, () => memoryStream.CopyTo(Stream.Null, bufferSize: -1)); + Assert.Throws(bufferSize, () => memoryStream.CopyTo(Stream.Null, bufferSize: 0)); // Not before bufferSize is validated. + Assert.Throws(bufferSize, () => memoryStream.CopyTo(Stream.Null, bufferSize: -1)); ChunkedMemoryStream disposedStream = memoryStream; @@ -369,7 +359,7 @@ namespace SixLabors.ImageSharp.Tests.IO private MemoryStream CreateTestStream(int length) { - var buffer = new byte[length]; + byte[] buffer = new byte[length]; var random = new Random(); random.NextBytes(buffer); From 849e866221556474e4790e18ae6898e43de7e2f2 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Thu, 24 Feb 2022 16:22:29 +0100 Subject: [PATCH 128/244] Add SSE2 version of sub filter --- .../Formats/Png/Filters/SubFilter.cs | 50 +++++++++++++++++-- 1 file changed, 45 insertions(+), 5 deletions(-) diff --git a/src/ImageSharp/Formats/Png/Filters/SubFilter.cs b/src/ImageSharp/Formats/Png/Filters/SubFilter.cs index c28b877e4..798597754 100644 --- a/src/ImageSharp/Formats/Png/Filters/SubFilter.cs +++ b/src/ImageSharp/Formats/Png/Filters/SubFilter.cs @@ -21,12 +21,52 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters internal static class SubFilter { /// - /// Decodes the scanline + /// Decodes a scanline, which was filtered with the sub filter. /// - /// The scanline to decode + /// The scanline to decode. /// The bytes per pixel. [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void Decode(Span scanline, int bytesPerPixel) + { + // The Sub filter predicts each pixel as the previous pixel. +#if SUPPORTS_RUNTIME_INTRINSICS + if (Sse2.IsSupported && bytesPerPixel is 4) + { + DecodeSse2(scanline); + } + else +#endif + { + DecodeScalar(scanline, bytesPerPixel); + } + } + +#if SUPPORTS_RUNTIME_INTRINSICS + private static void DecodeSse2(Span scanline) + { + ref byte scanBaseRef = ref MemoryMarshal.GetReference(scanline); + + Vector128 d = Vector128.Zero; + + int rb = scanline.Length; + int offset = 1; + while (rb >= 4) + { + ref byte scanRef = ref Unsafe.Add(ref scanBaseRef, offset); + Vector128 a = d; + d = Sse2.ConvertScalarToVector128Int32(Unsafe.As(ref scanRef)).AsByte(); + + d = Sse2.Add(d, a); + + Unsafe.As(ref scanRef) = Sse2.ConvertToInt32(d.AsInt32()); + + rb -= 4; + offset += 4; + } + } +#endif + + private static void DecodeScalar(Span scanline, int bytesPerPixel) { ref byte scanBaseRef = ref MemoryMarshal.GetReference(scanline); @@ -42,12 +82,12 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters } /// - /// Encodes the scanline + /// Encodes a scanline with the sup filter applied. /// - /// The scanline to encode + /// The scanline to encode. /// The filtered scanline result. /// The bytes per pixel. - /// The sum of the total variance of the filtered row + /// The sum of the total variance of the filtered row. [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void Encode(ReadOnlySpan scanline, ReadOnlySpan result, int bytesPerPixel, out int sum) { From 670105f17b5102e9d2e7a1370dc4efe0a04c69dd Mon Sep 17 00:00:00 2001 From: Brian Popow <38701097+brianpopow@users.noreply.github.com> Date: Thu, 24 Feb 2022 18:22:34 +0100 Subject: [PATCH 129/244] Apply suggestions from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Günther Foidl --- src/ImageSharp/Formats/Png/Filters/AverageFilter.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs b/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs index a99b93adb..5d5c4a79d 100644 --- a/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs +++ b/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs @@ -55,7 +55,7 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters ref byte prevBaseRef = ref MemoryMarshal.GetReference(previousScanline); Vector128 d = Vector128.Zero; - var ones = Vector128.Create((byte)1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1); + var ones = Vector128.Create((byte)1); int rb = scanline.Length; int offset = 1; @@ -89,7 +89,7 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters ref byte scanBaseRef = ref MemoryMarshal.GetReference(scanline); ref byte prevBaseRef = ref MemoryMarshal.GetReference(previousScanline); - int x = 1; + nint x = 1; for (; x <= bytesPerPixel /* Note the <= because x starts at 1 */; ++x) { ref byte scan = ref Unsafe.Add(ref scanBaseRef, x); From 04219b5f74c39bd9134a10b12346f82a5b7affe8 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Thu, 24 Feb 2022 18:24:02 +0100 Subject: [PATCH 130/244] Use nint for offset --- src/ImageSharp/Formats/Png/Filters/AverageFilter.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs b/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs index 5d5c4a79d..44a16f154 100644 --- a/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs +++ b/src/ImageSharp/Formats/Png/Filters/AverageFilter.cs @@ -58,7 +58,7 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters var ones = Vector128.Create((byte)1); int rb = scanline.Length; - int offset = 1; + nint offset = 1; while (rb >= 4) { ref byte scanRef = ref Unsafe.Add(ref scanBaseRef, offset); From 8432b9fa4d76cfd13fad3221e77ab43f67ecc6cb Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Thu, 24 Feb 2022 18:29:07 +0100 Subject: [PATCH 131/244] Use nint for offset --- src/ImageSharp/Formats/Png/Filters/SubFilter.cs | 4 ++-- src/ImageSharp/Formats/Png/Filters/UpFilter.cs | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/ImageSharp/Formats/Png/Filters/SubFilter.cs b/src/ImageSharp/Formats/Png/Filters/SubFilter.cs index 798597754..eaa4dc034 100644 --- a/src/ImageSharp/Formats/Png/Filters/SubFilter.cs +++ b/src/ImageSharp/Formats/Png/Filters/SubFilter.cs @@ -49,7 +49,7 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters Vector128 d = Vector128.Zero; int rb = scanline.Length; - int offset = 1; + nint offset = 1; while (rb >= 4) { ref byte scanRef = ref Unsafe.Add(ref scanBaseRef, offset); @@ -71,7 +71,7 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters ref byte scanBaseRef = ref MemoryMarshal.GetReference(scanline); // Sub(x) + Raw(x-bpp) - int x = bytesPerPixel + 1; + nint x = bytesPerPixel + 1; Unsafe.Add(ref scanBaseRef, x); for (; x < scanline.Length; ++x) { diff --git a/src/ImageSharp/Formats/Png/Filters/UpFilter.cs b/src/ImageSharp/Formats/Png/Filters/UpFilter.cs index 20a828e52..0d24d9c5d 100644 --- a/src/ImageSharp/Formats/Png/Filters/UpFilter.cs +++ b/src/ImageSharp/Formats/Png/Filters/UpFilter.cs @@ -54,7 +54,7 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters // Up(x) + Prior(x) int rb = scanline.Length; - int offset = 1; + nint offset = 1; const int bytesPerBatch = 32; while (rb >= bytesPerBatch) { @@ -70,7 +70,7 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters } // Handle left over. - for (int i = offset; i < scanline.Length; i++) + for (nint i = offset; i < scanline.Length; i++) { ref byte scan = ref Unsafe.Add(ref scanBaseRef, offset); byte above = Unsafe.Add(ref prevBaseRef, offset); @@ -86,7 +86,7 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters // Up(x) + Prior(x) int rb = scanline.Length; - int offset = 1; + nint offset = 1; const int bytesPerBatch = 16; while (rb >= bytesPerBatch) { @@ -102,7 +102,7 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters } // Handle left over. - for (int i = offset; i < scanline.Length; i++) + for (nint i = offset; i < scanline.Length; i++) { ref byte scan = ref Unsafe.Add(ref scanBaseRef, offset); byte above = Unsafe.Add(ref prevBaseRef, offset); From 06843f2a7d81a00da7be04d615ef26dc0f5389e2 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Thu, 24 Feb 2022 23:01:53 +0100 Subject: [PATCH 132/244] Add SSE version of paeth filter --- .../Formats/Png/Filters/PaethFilter.cs | 88 ++++++++++++++++++- 1 file changed, 84 insertions(+), 4 deletions(-) diff --git a/src/ImageSharp/Formats/Png/Filters/PaethFilter.cs b/src/ImageSharp/Formats/Png/Filters/PaethFilter.cs index 6a89a1122..0553eb46a 100644 --- a/src/ImageSharp/Formats/Png/Filters/PaethFilter.cs +++ b/src/ImageSharp/Formats/Png/Filters/PaethFilter.cs @@ -22,9 +22,9 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters internal static class PaethFilter { /// - /// Decodes the scanline + /// Decodes a scanline, which was filtered with the paeth filter. /// - /// The scanline to decode + /// The scanline to decode. /// The previous scanline. /// The bytes per pixel. [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -32,6 +32,86 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters { DebugGuard.MustBeSameSized(scanline, previousScanline, nameof(scanline)); + // Paeth tries to predict pixel d using the pixel to the left of it, a, + // and two pixels from the previous row, b and c: + // prev: c b + // row: a d + // The Paeth function predicts d to be whichever of a, b, or c is nearest to + // p = a + b - c. +#if SUPPORTS_RUNTIME_INTRINSICS + if (Sse41.IsSupported && bytesPerPixel is 4) + { + DecodeSse41(scanline, previousScanline); + } + else +#endif + { + DecodeScalar(scanline, previousScanline, bytesPerPixel); + } + } + +#if SUPPORTS_RUNTIME_INTRINSICS + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static void DecodeSse41(Span scanline, Span previousScanline) + { + ref byte scanBaseRef = ref MemoryMarshal.GetReference(scanline); + ref byte prevBaseRef = ref MemoryMarshal.GetReference(previousScanline); + + Vector128 b = Vector128.Zero; + Vector128 d = Vector128.Zero; + + int rb = scanline.Length; + nint offset = 1; + while (rb >= 4) + { + ref byte scanRef = ref Unsafe.Add(ref scanBaseRef, offset); + + // It's easiest to do this math (particularly, deal with pc) with 16-bit intermediates. + Vector128 c = b; + Vector128 a = d; + b = Sse2.UnpackLow( + Sse2.ConvertScalarToVector128Int32(Unsafe.As(ref Unsafe.Add(ref prevBaseRef, offset))).AsByte(), + Vector128.Zero); + d = Sse2.UnpackLow( + Sse2.ConvertScalarToVector128Int32(Unsafe.As(ref scanRef)).AsByte(), + Vector128.Zero); + + // (p-a) == (a+b-c - a) == (b-c) + Vector128 pa = Sse2.Subtract(b.AsInt16(), c.AsInt16()); + + // (p-b) == (a+b-c - b) == (a-c) + Vector128 pb = Sse2.Subtract(a.AsInt16(), c.AsInt16()); + + // (p-c) == (a+b-c - c) == (a+b-c-c) == (b-c)+(a-c) + Vector128 pc = Sse2.Add(pa.AsInt16(), pb.AsInt16()); + + pa = Ssse3.Abs(pa.AsInt16()).AsInt16(); /* |p-a| */ + pb = Ssse3.Abs(pb.AsInt16()).AsInt16(); /* |p-b| */ + pc = Ssse3.Abs(pc.AsInt16()).AsInt16(); /* |p-c| */ + + Vector128 smallest = Sse2.Min(pc, Sse2.Min(pa, pb)); + + // Paeth breaks ties favoring a over b over c. + Vector128 mask = Sse41.BlendVariable(c, b, Sse2.CompareEqual(smallest, pb).AsByte()); + Vector128 nearest = Sse41.BlendVariable(mask, a, Sse2.CompareEqual(smallest, pa).AsByte()); + + // Note `_epi8`: we need addition to wrap modulo 255. + d = Sse2.Add(d, nearest); + + // Store the result. + Unsafe.As(ref scanRef) = Sse2.ConvertToInt32(Sse2.PackUnsignedSaturate(d.AsInt16(), d.AsInt16()).AsInt32()); + + rb -= 4; + offset += 4; + } + } + +#endif + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static void DecodeScalar(Span scanline, Span previousScanline, int bytesPerPixel) + { ref byte scanBaseRef = ref MemoryMarshal.GetReference(scanline); ref byte prevBaseRef = ref MemoryMarshal.GetReference(previousScanline); @@ -56,13 +136,13 @@ namespace SixLabors.ImageSharp.Formats.Png.Filters } /// - /// Encodes the scanline + /// Encodes a scanline and applies the paeth filter. /// /// The scanline to encode /// The previous scanline. /// The filtered scanline result. /// The bytes per pixel. - /// The sum of the total variance of the filtered row + /// The sum of the total variance of the filtered row. [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void Encode(ReadOnlySpan scanline, ReadOnlySpan previousScanline, Span result, int bytesPerPixel, out int sum) { From 88b75da62b2c74172f69930b555335bc59fdde9b Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Fri, 25 Feb 2022 13:05:59 +0100 Subject: [PATCH 133/244] Add tests for png filters with and without intrinsics --- .../Formats/Png/PngDecoderFilterTests.cs | 118 +++++++++++++++++- 1 file changed, 117 insertions(+), 1 deletion(-) diff --git a/tests/ImageSharp.Tests/Formats/Png/PngDecoderFilterTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngDecoderFilterTests.cs index 310f53c51..edfff19a4 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngDecoderFilterTests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngDecoderFilterTests.cs @@ -46,18 +46,134 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png AverageFilter.Decode(scanline, previousScanline, 4); // assert - Assert.Equal(scanline, expected); + Assert.Equal(expected, scanline); + } + + private static void RunUpFilterTest() + { + // arrange + byte[] scanline = + { + 62, 23, 186, 150, 174, 4, 205, 59, 153, 134, 158, 86, 240, 173, 191, 58, 111, 183, 77, 37, 85, 23, + 93, 204, 110, 139, 9, 20, 87, 154, 176, 54, 207, 214, 40, 11, 179, 199, 7, 219, 174, 242, 112, 220, + 149, 5, 9, 110, 103, 107, 231, 241, 13, 70, 216, 39, 186, 237, 39, 34, 251, 185, 228, 254 + }; + + byte[] previousScanline = + { + 214, 103, 135, 26, 133, 179, 134, 168, 175, 114, 118, 99, 167, 129, 55, 105, 129, 154, 173, 235, + 179, 191, 41, 137, 253, 0, 81, 198, 159, 228, 224, 245, 14, 113, 5, 45, 126, 239, 233, 179, 229, 62, + 66, 155, 207, 117, 128, 56, 181, 190, 160, 96, 11, 248, 74, 23, 62, 253, 29, 132, 98, 192, 9, 202 + }; + + byte[] expected = + { + 62, 126, 65, 176, 51, 183, 83, 227, 72, 248, 20, 185, 151, 46, 246, 163, 240, 81, 250, 16, 8, 214, + 134, 85, 107, 139, 90, 218, 246, 126, 144, 43, 221, 71, 45, 56, 49, 182, 240, 142, 147, 48, 178, + 119, 100, 122, 137, 166, 28, 41, 135, 81, 24, 62, 34, 62, 248, 234, 68, 166, 93, 121, 237, 200 + }; + + // act + UpFilter.Decode(scanline, previousScanline); + + // assert + Assert.Equal(expected, scanline); + } + + private static void RunSubFilterTest() + { + // arrange + byte[] scanline = + { + 62, 23, 186, 150, 174, 4, 205, 59, 153, 134, 158, 86, 240, 173, 191, 58, 111, 183, 77, 37, 85, 23, + 93, 204, 110, 139, 9, 20, 87, 154, 176, 54, 207, 214, 40, 11, 179, 199, 7, 219, 174, 242, 112, 220, + 149, 5, 9, 110, 103, 107, 231, 241, 13, 70, 216, 39, 186, 237, 39, 34, 251, 185, 228, 254 + }; + + byte[] expected = + { + 62, 23, 186, 150, 174, 27, 135, 209, 71, 161, 37, 39, 55, 78, 228, 97, 166, 5, 49, 134, 251, 28, + 142, 82, 105, 167, 151, 102, 192, 65, 71, 156, 143, 23, 111, 167, 66, 222, 118, 130, 240, 208, 230, + 94, 133, 213, 239, 204, 236, 64, 214, 189, 249, 134, 174, 228, 179, 115, 213, 6, 174, 44, 185, 4 + }; + + // act + SubFilter.Decode(scanline, 4); + + // assert + Assert.Equal(expected, scanline); + } + + private static void RunPaethFilterTest() + { + // arrange + byte[] scanline = + { + 62, 23, 186, 150, 174, 4, 205, 59, 153, 134, 158, 86, 240, 173, 191, 58, 111, 183, 77, 37, 85, 23, + 93, 204, 110, 139, 9, 20, 87, 154, 176, 54, 207, 214, 40, 11, 179, 199, 7, 219, 174, 242, 112, 220, + 149, 5, 9, 110, 103, 107, 231, 241, 13, 70, 216, 39, 186, 237, 39, 34, 251, 185, 228, 254 + }; + + byte[] previousScanline = + { + 214, 103, 135, 26, 133, 179, 134, 168, 175, 114, 118, 99, 167, 129, 55, 105, 129, 154, 173, 235, + 179, 191, 41, 137, 253, 0, 81, 198, 159, 228, 224, 245, 14, 113, 5, 45, 126, 239, 233, 179, 229, 62, + 66, 155, 207, 117, 128, 56, 181, 190, 160, 96, 11, 248, 74, 23, 62, 253, 29, 132, 98, 192, 9, 202 + }; + + byte[] expected = + { + 62, 126, 65, 176, 51, 183, 14, 235, 30, 248, 172, 254, 14, 165, 53, 56, 125, 92, 250, 16, 8, 177, + 10, 220, 118, 139, 50, 240, 205, 126, 144, 43, 221, 71, 45, 54, 144, 182, 240, 142, 147, 48, 178, + 106, 40, 122, 187, 166, 143, 41, 162, 151, 24, 111, 34, 135, 248, 92, 68, 169, 243, 21, 1, 200 + }; + + // act + PaethFilter.Decode(scanline, previousScanline, 4); + + // assert + Assert.Equal(expected, scanline); } [Fact] public void AverageFilter_Works() => RunAverageFilterTest(); + [Fact] + public void UpFilter_Works() => RunUpFilterTest(); + + [Fact] + public void SubFilter_Works() => RunSubFilterTest(); + + [Fact] + public void PaethFilter_Works() => RunPaethFilterTest(); + #if SUPPORTS_RUNTIME_INTRINSICS [Fact] public void AverageFilter_WithHardwareIntrinsics_Works() => FeatureTestRunner.RunWithHwIntrinsicsFeature(RunAverageFilterTest, HwIntrinsics.AllowAll); [Fact] public void AverageFilter_WithoutHardwareIntrinsics_Works() => FeatureTestRunner.RunWithHwIntrinsicsFeature(RunAverageFilterTest, HwIntrinsics.DisableHWIntrinsic); + + [Fact] + public void UpFilter_WithHardwareIntrinsics_Works() => FeatureTestRunner.RunWithHwIntrinsicsFeature(RunUpFilterTest, HwIntrinsics.AllowAll); + + [Fact] + public void UpFilter_WithoutAVX2_Works() => FeatureTestRunner.RunWithHwIntrinsicsFeature(RunUpFilterTest, HwIntrinsics.DisableAVX2); + + [Fact] + public void UpFilter_WithoutHardwareIntrinsics_Works() => FeatureTestRunner.RunWithHwIntrinsicsFeature(RunUpFilterTest, HwIntrinsics.DisableHWIntrinsic); + + [Fact] + public void SubFilter_WithHardwareIntrinsics_Works() => FeatureTestRunner.RunWithHwIntrinsicsFeature(RunSubFilterTest, HwIntrinsics.AllowAll); + + [Fact] + public void SubFilter_WithoutHardwareIntrinsics_Works() => FeatureTestRunner.RunWithHwIntrinsicsFeature(RunSubFilterTest, HwIntrinsics.DisableHWIntrinsic); + + [Fact] + public void PaethFilter_WithHardwareIntrinsics_Works() => FeatureTestRunner.RunWithHwIntrinsicsFeature(RunPaethFilterTest, HwIntrinsics.AllowAll); + + [Fact] + public void PaethFilter_WithoutHardwareIntrinsics_Works() => FeatureTestRunner.RunWithHwIntrinsicsFeature(RunPaethFilterTest, HwIntrinsics.DisableHWIntrinsic); #endif } } From 26a742eb92bdea04268069ca96bfe9db0b90f298 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Fri, 25 Feb 2022 13:41:38 +0100 Subject: [PATCH 134/244] Additional tests for decoding png's with filter --- .../Codecs/Png/DecodeFilteredPng.cs | 6 ++-- .../Formats/Png/PngDecoderTests.cs | 36 +++++++++++++++++-- tests/ImageSharp.Tests/TestImages.cs | 18 +++------- tests/Images/Input/Png/PaethFilter4Bpp.png | 3 ++ tests/Images/Input/Png/SubFilter4Bpp.png | 3 ++ 5 files changed, 48 insertions(+), 18 deletions(-) create mode 100644 tests/Images/Input/Png/PaethFilter4Bpp.png create mode 100644 tests/Images/Input/Png/SubFilter4Bpp.png diff --git a/tests/ImageSharp.Benchmarks/Codecs/Png/DecodeFilteredPng.cs b/tests/ImageSharp.Benchmarks/Codecs/Png/DecodeFilteredPng.cs index 92eb4af07..5f91a050e 100644 --- a/tests/ImageSharp.Benchmarks/Codecs/Png/DecodeFilteredPng.cs +++ b/tests/ImageSharp.Benchmarks/Codecs/Png/DecodeFilteredPng.cs @@ -23,9 +23,9 @@ namespace SixLabors.ImageSharp.Benchmarks.Codecs public void ReadImages() { this.filter0 = File.ReadAllBytes(TestImageFullPath(TestImages.Png.Filter0)); - this.filter1 = File.ReadAllBytes(TestImageFullPath(TestImages.Png.Filter1)); - this.filter2 = File.ReadAllBytes(TestImageFullPath(TestImages.Png.Filter2)); - this.filter3 = File.ReadAllBytes(TestImageFullPath(TestImages.Png.Filter4)); + this.filter1 = File.ReadAllBytes(TestImageFullPath(TestImages.Png.SubFilter3BytesPerPixel)); + this.filter2 = File.ReadAllBytes(TestImageFullPath(TestImages.Png.UpFilter)); + this.filter3 = File.ReadAllBytes(TestImageFullPath(TestImages.Png.PaethFilter3BytesPerPixel)); this.averageFilter3bpp = File.ReadAllBytes(TestImageFullPath(TestImages.Png.AverageFilter3BytesPerPixel)); this.averageFilter4bpp = File.ReadAllBytes(TestImageFullPath(TestImages.Png.AverageFilter4BytesPerPixel)); } diff --git a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs index 7d4708799..752036126 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs @@ -112,8 +112,8 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png } [Theory] - [WithFile(TestImages.Png.AverageFilter3BytesPerPixel, PixelTypes.Rgba64)] - [WithFile(TestImages.Png.AverageFilter4BytesPerPixel, PixelTypes.Rgba64)] + [WithFile(TestImages.Png.AverageFilter3BytesPerPixel, PixelTypes.Rgba32)] + [WithFile(TestImages.Png.AverageFilter4BytesPerPixel, PixelTypes.Rgba32)] public void Decode_WithAverageFilter(TestImageProvider provider) where TPixel : unmanaged, IPixel { @@ -122,6 +122,38 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png image.CompareToOriginal(provider, ImageComparer.Exact); } + [Theory] + [WithFile(TestImages.Png.SubFilter3BytesPerPixel, PixelTypes.Rgba32)] + [WithFile(TestImages.Png.SubFilter4BytesPerPixel, PixelTypes.Rgba32)] + public void Decode_WithSubFilter(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + using Image image = provider.GetImage(PngDecoder); + image.DebugSave(provider); + image.CompareToOriginal(provider, ImageComparer.Exact); + } + + [Theory] + [WithFile(TestImages.Png.UpFilter, PixelTypes.Rgba32)] + public void Decode_WithUpFilter(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + using Image image = provider.GetImage(PngDecoder); + image.DebugSave(provider); + image.CompareToOriginal(provider, ImageComparer.Exact); + } + + [Theory] + [WithFile(TestImages.Png.PaethFilter3BytesPerPixel, PixelTypes.Rgba32)] + [WithFile(TestImages.Png.PaethFilter4BytesPerPixel, PixelTypes.Rgba32)] + public void Decode_WithPaethFilter(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + using Image image = provider.GetImage(PngDecoder); + image.DebugSave(provider); + image.CompareToOriginal(provider, ImageComparer.Exact); + } + [Theory] [WithFile(TestImages.Png.GrayA8Bit, PixelTypes.Rgba32)] [WithFile(TestImages.Png.Gray1BitTrans, PixelTypes.Rgba32)] diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index ad50fc5c7..9ea3c09f1 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -66,12 +66,13 @@ namespace SixLabors.ImageSharp.Tests // Filtered test images from http://www.schaik.com/pngsuite/pngsuite_fil_png.html public const string Filter0 = "Png/filter0.png"; - public const string Filter1 = "Png/filter1.png"; - public const string Filter2 = "Png/filter2.png"; + public const string SubFilter3BytesPerPixel = "Png/filter1.png"; + public const string SubFilter4BytesPerPixel = "Png/SubFilter4Bpp.png"; + public const string UpFilter = "Png/filter2.png"; public const string AverageFilter3BytesPerPixel = "Png/filter3.png"; - public const string Filter4 = "Png/filter4.png"; - public const string AverageFilter4BytesPerPixel = "Png/AverageFilter4Bpp.png"; + public const string PaethFilter3BytesPerPixel = "Png/filter4.png"; + public const string PaethFilter4BytesPerPixel = "Png/PaethFilter4Bpp.png"; // Paletted images also from http://www.schaik.com/pngsuite/pngsuite_fil_png.html public const string PalettedTwoColor = "Png/basn3p01.png"; @@ -156,15 +157,6 @@ namespace SixLabors.ImageSharp.Tests public const string ColorTypeOne = "Png/xc1n0g08.png"; public const string ColorTypeNine = "Png/xc9n2c08.png"; } - - public static readonly string[] All = - { - P1, Pd, Blur, Splash, Cross, - Powerpoint, SplashInterlaced, Interlaced, - Filter0, Filter1, Filter2, AverageFilter3BytesPerPixel, Filter4, - FilterVar, VimImage1, VimImage2, VersioningImage1, - VersioningImage2, Ratio4x1, Ratio1x4 - }; } public static class Jpeg diff --git a/tests/Images/Input/Png/PaethFilter4Bpp.png b/tests/Images/Input/Png/PaethFilter4Bpp.png new file mode 100644 index 000000000..64c9f96ec --- /dev/null +++ b/tests/Images/Input/Png/PaethFilter4Bpp.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b2b0a1190854577d5181fe40af61c421d615a1a2727cf9be5ebe727eaafd00d +size 8624 diff --git a/tests/Images/Input/Png/SubFilter4Bpp.png b/tests/Images/Input/Png/SubFilter4Bpp.png new file mode 100644 index 000000000..d9f2c7fa2 --- /dev/null +++ b/tests/Images/Input/Png/SubFilter4Bpp.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:053fac72ff62c66dacb41a6251efa249d5b31567e0222efbf5b1bef912c0bf77 +size 13013 From 3f9331856e5ecaed01744cd88bdba781bafe440a Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Fri, 25 Feb 2022 18:53:27 +0100 Subject: [PATCH 135/244] Add support for decoding gray tiff with jpeg compression --- .../GrayJpegSpectralConverter.cs | 29 +++++++++ .../Decompressors/JpegTiffCompression.cs | 59 +++++++++++++++---- .../Decompressors/RgbJpegSpectralConverter.cs | 1 - 3 files changed, 77 insertions(+), 12 deletions(-) create mode 100644 src/ImageSharp/Formats/Tiff/Compression/Decompressors/GrayJpegSpectralConverter.cs diff --git a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/GrayJpegSpectralConverter.cs b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/GrayJpegSpectralConverter.cs new file mode 100644 index 000000000..5b793c35d --- /dev/null +++ b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/GrayJpegSpectralConverter.cs @@ -0,0 +1,29 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder; +using SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.ColorConverters; +using SixLabors.ImageSharp.PixelFormats; + +namespace SixLabors.ImageSharp.Formats.Tiff.Compression.Decompressors +{ + /// + /// Spectral converter for gray TIFF's which use the JPEG compression. + /// + /// The type of the pixel. + internal sealed class GrayJpegSpectralConverter : SpectralConverter + where TPixel : unmanaged, IPixel + { + /// + /// Initializes a new instance of the class. + /// + /// The configuration. + public GrayJpegSpectralConverter(Configuration configuration) + : base(configuration) + { + } + + /// + protected override JpegColorConverterBase GetColorConverter(JpegFrame frame, IRawJpegData jpegData) => JpegColorConverterBase.GetConverter(JpegColorSpace.Grayscale, frame.Precision); + } +} diff --git a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/JpegTiffCompression.cs b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/JpegTiffCompression.cs index ce7820ccf..f73fe508c 100644 --- a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/JpegTiffCompression.cs +++ b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/JpegTiffCompression.cs @@ -9,7 +9,6 @@ using SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder; using SixLabors.ImageSharp.Formats.Tiff.Constants; using SixLabors.ImageSharp.IO; using SixLabors.ImageSharp.Memory; -using SixLabors.ImageSharp.Metadata; using SixLabors.ImageSharp.PixelFormats; namespace SixLabors.ImageSharp.Formats.Tiff.Compression.Decompressors @@ -55,17 +54,43 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression.Decompressors { using var jpegDecoder = new JpegDecoderCore(this.configuration, new JpegDecoder()); - // If the PhotometricInterpretation is YCbCr we explicitly assume the JPEG data is in RGB color space. - // There seems no other way to determine that the JPEG data is RGB colorspace (no APP14 marker, componentId's are not RGB). - using SpectralConverter spectralConverter = this.photometricInterpretation == TiffPhotometricInterpretation.YCbCr ? - new RgbJpegSpectralConverter(this.configuration) : new SpectralConverter(this.configuration); - var scanDecoder = new HuffmanScanDecoder(stream, spectralConverter, CancellationToken.None); - jpegDecoder.LoadTables(this.jpegTables, scanDecoder); - scanDecoder.ResetInterval = 0; - jpegDecoder.ParseStream(stream, scanDecoder, CancellationToken.None); + switch (this.photometricInterpretation) + { + case TiffPhotometricInterpretation.BlackIsZero: + case TiffPhotometricInterpretation.WhiteIsZero: + { + using SpectralConverter spectralConverterGray = new GrayJpegSpectralConverter(this.configuration); + var scanDecoderGray = new HuffmanScanDecoder(stream, spectralConverterGray, CancellationToken.None); + jpegDecoder.LoadTables(this.jpegTables, scanDecoderGray); + scanDecoderGray.ResetInterval = 0; + jpegDecoder.ParseStream(stream, scanDecoderGray, CancellationToken.None); - // TODO: Should we pass through the CancellationToken from the tiff decoder? - CopyImageBytesToBuffer(buffer, spectralConverter.GetPixelBuffer(CancellationToken.None)); + // TODO: Should we pass through the CancellationToken from the tiff decoder? + CopyImageBytesToBuffer(buffer, spectralConverterGray.GetPixelBuffer(CancellationToken.None)); + break; + } + + // If the PhotometricInterpretation is YCbCr we explicitly assume the JPEG data is in RGB color space. + // There seems no other way to determine that the JPEG data is RGB colorspace (no APP14 marker, componentId's are not RGB). + case TiffPhotometricInterpretation.YCbCr: + case TiffPhotometricInterpretation.Rgb: + { + using SpectralConverter spectralConverter = this.photometricInterpretation == TiffPhotometricInterpretation.YCbCr ? + new RgbJpegSpectralConverter(this.configuration) : new SpectralConverter(this.configuration); + var scanDecoder = new HuffmanScanDecoder(stream, spectralConverter, CancellationToken.None); + jpegDecoder.LoadTables(this.jpegTables, scanDecoder); + scanDecoder.ResetInterval = 0; + jpegDecoder.ParseStream(stream, scanDecoder, CancellationToken.None); + + // TODO: Should we pass through the CancellationToken from the tiff decoder? + CopyImageBytesToBuffer(buffer, spectralConverter.GetPixelBuffer(CancellationToken.None)); + break; + } + + default: + TiffThrowHelper.ThrowNotSupported($"Jpeg compressed tiff with photometric interpretation {this.photometricInterpretation} is not supported"); + break; + } } else { @@ -86,6 +111,18 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression.Decompressors } } + private static void CopyImageBytesToBuffer(Span buffer, Buffer2D pixelBuffer) + { + int offset = 0; + for (int y = 0; y < pixelBuffer.Height; y++) + { + Span pixelRowSpan = pixelBuffer.DangerousGetRowSpan(y); + Span rgbBytes = MemoryMarshal.AsBytes(pixelRowSpan); + rgbBytes.CopyTo(buffer.Slice(offset)); + offset += rgbBytes.Length; + } + } + /// protected override void Dispose(bool disposing) { diff --git a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/RgbJpegSpectralConverter.cs b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/RgbJpegSpectralConverter.cs index 001480542..a83518064 100644 --- a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/RgbJpegSpectralConverter.cs +++ b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/RgbJpegSpectralConverter.cs @@ -1,7 +1,6 @@ // Copyright (c) Six Labors. // Licensed under the Apache License, Version 2.0. -using System.Threading; using SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder; using SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder.ColorConverters; using SixLabors.ImageSharp.PixelFormats; From 3dcb4db49a5034c8d04e5b841b84b12c1e38eb72 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Fri, 25 Feb 2022 18:56:47 +0100 Subject: [PATCH 136/244] Add test for gray tiff jpeg compressed --- tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs | 1 + tests/ImageSharp.Tests/TestImages.cs | 1 + tests/Images/Input/Tiff/JpegCompressedGray.tiff | 3 +++ 3 files changed, 5 insertions(+) create mode 100644 tests/Images/Input/Tiff/JpegCompressedGray.tiff diff --git a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs index ea0544acf..274890066 100644 --- a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs @@ -370,6 +370,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff [WithFile(RgbWithStripsJpegCompressed, PixelTypes.Rgba32)] [WithFile(YCbCrJpegCompressed, PixelTypes.Rgba32)] [WithFile(RgbJpegCompressedNoJpegTable, PixelTypes.Rgba32)] + [WithFile(GrayscaleJpegCompressed, PixelTypes.Rgba32)] public void TiffDecoder_CanDecode_JpegCompressed(TestImageProvider provider) where TPixel : unmanaged, IPixel => TestTiffDecoder(provider, useExactComparer: false); diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index 5bce99ce1..4830a4308 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -772,6 +772,7 @@ namespace SixLabors.ImageSharp.Tests public const string GrayscaleDeflateMultistrip = "Tiff/grayscale_deflate_multistrip.tiff"; public const string GrayscaleUncompressed = "Tiff/grayscale_uncompressed.tiff"; + public const string GrayscaleJpegCompressed = "Tiff/JpegCompressedGray.tiff"; public const string PaletteDeflateMultistrip = "Tiff/palette_grayscale_deflate_multistrip.tiff"; public const string PaletteUncompressed = "Tiff/palette_uncompressed.tiff"; public const string RgbDeflate = "Tiff/rgb_deflate.tiff"; diff --git a/tests/Images/Input/Tiff/JpegCompressedGray.tiff b/tests/Images/Input/Tiff/JpegCompressedGray.tiff new file mode 100644 index 000000000..e7feed15a --- /dev/null +++ b/tests/Images/Input/Tiff/JpegCompressedGray.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:868afd018d025ed7636f1155c1b1f64ba8a36153b56c7598e8dee18ce770cd5a +size 539660 From 2fbf56646c6cb1eb86572279d3525133ec20eef4 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sun, 27 Feb 2022 19:13:36 +0100 Subject: [PATCH 137/244] Remove unnecessary setting ResetInterval to zero --- .../Tiff/Compression/Decompressors/JpegTiffCompression.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/JpegTiffCompression.cs b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/JpegTiffCompression.cs index f73fe508c..cfbc32f4f 100644 --- a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/JpegTiffCompression.cs +++ b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/JpegTiffCompression.cs @@ -62,7 +62,6 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression.Decompressors using SpectralConverter spectralConverterGray = new GrayJpegSpectralConverter(this.configuration); var scanDecoderGray = new HuffmanScanDecoder(stream, spectralConverterGray, CancellationToken.None); jpegDecoder.LoadTables(this.jpegTables, scanDecoderGray); - scanDecoderGray.ResetInterval = 0; jpegDecoder.ParseStream(stream, scanDecoderGray, CancellationToken.None); // TODO: Should we pass through the CancellationToken from the tiff decoder? @@ -79,7 +78,6 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression.Decompressors new RgbJpegSpectralConverter(this.configuration) : new SpectralConverter(this.configuration); var scanDecoder = new HuffmanScanDecoder(stream, spectralConverter, CancellationToken.None); jpegDecoder.LoadTables(this.jpegTables, scanDecoder); - scanDecoder.ResetInterval = 0; jpegDecoder.ParseStream(stream, scanDecoder, CancellationToken.None); // TODO: Should we pass through the CancellationToken from the tiff decoder? From 7ca5680cd22e6a909d41c76e069127aa4080ff63 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Thu, 3 Mar 2022 13:14:10 +1100 Subject: [PATCH 138/244] Allow pad to work for non-alpha pixel formats --- .../Extensions/Transforms/PadExtensions.cs | 5 ++- .../Transforms/Resize/ResizeProcessor.cs | 18 ++------- .../Resize/ResizeProcessor{TPixel}.cs | 28 ++++++++----- src/ImageSharp/Processing/ResizeOptions.cs | 5 +++ .../Processors/Transforms/PadTest.cs | 40 +++++++++---------- .../Processing/Transforms/PadTest.cs | 2 +- .../Processing/Transforms/ResizeTests.cs | 10 ++--- 7 files changed, 54 insertions(+), 54 deletions(-) diff --git a/src/ImageSharp/Processing/Extensions/Transforms/PadExtensions.cs b/src/ImageSharp/Processing/Extensions/Transforms/PadExtensions.cs index 8c3edcadf..ff374a9ac 100644 --- a/src/ImageSharp/Processing/Extensions/Transforms/PadExtensions.cs +++ b/src/ImageSharp/Processing/Extensions/Transforms/PadExtensions.cs @@ -1,4 +1,4 @@ -// Copyright (c) Six Labors. +// Copyright (c) Six Labors. // Licensed under the Apache License, Version 2.0. namespace SixLabors.ImageSharp.Processing @@ -34,9 +34,10 @@ namespace SixLabors.ImageSharp.Processing Size = new Size(width, height), Mode = ResizeMode.BoxPad, Sampler = KnownResamplers.NearestNeighbor, + PadColor = color }; - return color.Equals(default) ? source.Resize(options) : source.Resize(options).BackgroundColor(color); + return source.Resize(options); } } } diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor.cs b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor.cs index 3d6900683..ef6a15fc9 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor.cs @@ -21,19 +21,12 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms (Size size, Rectangle rectangle) = ResizeHelper.CalculateTargetLocationAndBounds(sourceSize, options); - this.Sampler = options.Sampler; + this.Options = options; this.DestinationWidth = size.Width; this.DestinationHeight = size.Height; this.DestinationRectangle = rectangle; - this.Compand = options.Compand; - this.PremultiplyAlpha = options.PremultiplyAlpha; } - /// - /// Gets the sampler to perform the resize operation. - /// - public IResampler Sampler { get; } - /// /// Gets the destination width. /// @@ -50,14 +43,9 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms public Rectangle DestinationRectangle { get; } /// - /// Gets a value indicating whether to compress or expand individual pixel color values on processing. - /// - public bool Compand { get; } - - /// - /// Gets a value indicating whether to premultiply the alpha (if it exists) during the resize operation. + /// Gets the resize options. /// - public bool PremultiplyAlpha { get; } + public ResizeOptions Options { get; } /// public override ICloningImageProcessor CreatePixelSpecificCloningProcessor(Configuration configuration, Image source, Rectangle sourceRectangle) diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs index b486e4225..c0bf9291e 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs @@ -4,7 +4,6 @@ using System; using System.Runtime.CompilerServices; using SixLabors.ImageSharp.Advanced; -using SixLabors.ImageSharp.Formats; using SixLabors.ImageSharp.Memory; using SixLabors.ImageSharp.PixelFormats; @@ -17,12 +16,11 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms internal class ResizeProcessor : TransformProcessor, IResamplingTransformImageProcessor where TPixel : unmanaged, IPixel { + private readonly ResizeOptions options; private readonly int destinationWidth; private readonly int destinationHeight; private readonly IResampler resampler; private readonly Rectangle destinationRectangle; - private readonly bool compand; - private readonly bool premultiplyAlpha; private Image destination; public ResizeProcessor(Configuration configuration, ResizeProcessor definition, Image source, Rectangle sourceRectangle) @@ -31,13 +29,12 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms this.destinationWidth = definition.DestinationWidth; this.destinationHeight = definition.DestinationHeight; this.destinationRectangle = definition.DestinationRectangle; - this.resampler = definition.Sampler; - this.premultiplyAlpha = definition.PremultiplyAlpha; - this.compand = definition.Compand; + this.options = definition.Options; + this.resampler = definition.Options.Sampler; } /// - protected override Size GetDestinationSize() => new Size(this.destinationWidth, this.destinationHeight); + protected override Size GetDestinationSize() => new(this.destinationWidth, this.destinationHeight); /// protected override void BeforeImageApply(Image destination) @@ -62,8 +59,11 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms Image destination = this.destination; Rectangle sourceRectangle = this.SourceRectangle; Rectangle destinationRectangle = this.destinationRectangle; - bool compand = this.compand; - bool premultiplyAlpha = this.premultiplyAlpha; + bool compand = this.options.Compand; + bool premultiplyAlpha = this.options.PremultiplyAlpha; + bool shouldFill = (this.options.Mode == ResizeMode.BoxPad || this.options.Mode == ResizeMode.Pad) + && this.options.PadColor != default; + TPixel fillColor = this.options.PadColor.ToPixel(); // Handle resize dimensions identical to the original if (source.Width == destination.Width @@ -91,6 +91,11 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms ImageFrame sourceFrame = source.Frames[i]; ImageFrame destinationFrame = destination.Frames[i]; + if (shouldFill) + { + destinationFrame.Clear(fillColor); + } + ApplyNNResizeFrameTransform( configuration, sourceFrame, @@ -123,6 +128,11 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms ImageFrame sourceFrame = source.Frames[i]; ImageFrame destinationFrame = destination.Frames[i]; + if (shouldFill) + { + destinationFrame.Clear(fillColor); + } + ApplyResizeFrameTransform( configuration, sourceFrame, diff --git a/src/ImageSharp/Processing/ResizeOptions.cs b/src/ImageSharp/Processing/ResizeOptions.cs index 4b31998da..62cf8ab23 100644 --- a/src/ImageSharp/Processing/ResizeOptions.cs +++ b/src/ImageSharp/Processing/ResizeOptions.cs @@ -51,5 +51,10 @@ namespace SixLabors.ImageSharp.Processing /// the alpha (if it exists) during the resize operation. /// public bool PremultiplyAlpha { get; set; } = true; + + /// + /// Gets or sets the color to use as a background when padding an image. + /// + public Color PadColor { get; set; } } } diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/PadTest.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/PadTest.cs index b1441d109..780758c2b 100644 --- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/PadTest.cs +++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/PadTest.cs @@ -20,41 +20,37 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms public void ImageShouldPad(TestImageProvider provider) where TPixel : unmanaged, IPixel { - using (Image image = provider.GetImage()) - { - image.Mutate(x => x.Pad(image.Width + 50, image.Height + 50)); - image.DebugSave(provider); + using Image image = provider.GetImage(); + image.Mutate(x => x.Pad(image.Width + 50, image.Height + 50)); + image.DebugSave(provider); - // Check pixels are empty - for (int y = 0; y < 25; y++) + // Check pixels are empty + for (int y = 0; y < 25; y++) + { + for (int x = 0; x < 25; x++) { - for (int x = 0; x < 25; x++) - { - Assert.Equal(default, image[x, y]); - } + Assert.Equal(default, image[x, y]); } } } [Theory] - [WithFileCollection(nameof(CommonTestImages), PixelTypes.Rgba32)] + [WithFileCollection(nameof(CommonTestImages), PixelTypes.Rgba32 | PixelTypes.Rgb24)] public void ImageShouldPadWithBackgroundColor(TestImageProvider provider) where TPixel : unmanaged, IPixel { - var color = Color.Red; + Color color = Color.Red; TPixel expected = color.ToPixel(); - using (Image image = provider.GetImage()) - { - image.Mutate(x => x.Pad(image.Width + 50, image.Height + 50, color)); - image.DebugSave(provider); + using Image image = provider.GetImage(); + image.Mutate(x => x.Pad(image.Width + 50, image.Height + 50, color)); + image.DebugSave(provider); - // Check pixels are filled - for (int y = 0; y < 25; y++) + // Check pixels are filled + for (int y = 0; y < 25; y++) + { + for (int x = 0; x < 25; x++) { - for (int x = 0; x < 25; x++) - { - Assert.Equal(expected, image[x, y]); - } + Assert.Equal(expected, image[x, y]); } } } diff --git a/tests/ImageSharp.Tests/Processing/Transforms/PadTest.cs b/tests/ImageSharp.Tests/Processing/Transforms/PadTest.cs index 227e470d4..3e6726ba0 100644 --- a/tests/ImageSharp.Tests/Processing/Transforms/PadTest.cs +++ b/tests/ImageSharp.Tests/Processing/Transforms/PadTest.cs @@ -23,7 +23,7 @@ namespace SixLabors.ImageSharp.Tests.Processing.Transforms Assert.Equal(width, resizeProcessor.DestinationWidth); Assert.Equal(height, resizeProcessor.DestinationHeight); - Assert.Equal(sampler, resizeProcessor.Sampler); + Assert.Equal(sampler, resizeProcessor.Options.Sampler); } } } diff --git a/tests/ImageSharp.Tests/Processing/Transforms/ResizeTests.cs b/tests/ImageSharp.Tests/Processing/Transforms/ResizeTests.cs index 60f7aaa0b..a29f4c035 100644 --- a/tests/ImageSharp.Tests/Processing/Transforms/ResizeTests.cs +++ b/tests/ImageSharp.Tests/Processing/Transforms/ResizeTests.cs @@ -35,7 +35,7 @@ namespace SixLabors.ImageSharp.Tests.Processing.Transforms Assert.Equal(width, resizeProcessor.DestinationWidth); Assert.Equal(height, resizeProcessor.DestinationHeight); - Assert.Equal(sampler, resizeProcessor.Sampler); + Assert.Equal(sampler, resizeProcessor.Options.Sampler); } [Fact] @@ -52,8 +52,8 @@ namespace SixLabors.ImageSharp.Tests.Processing.Transforms Assert.Equal(width, resizeProcessor.DestinationWidth); Assert.Equal(height, resizeProcessor.DestinationHeight); - Assert.Equal(sampler, resizeProcessor.Sampler); - Assert.Equal(compand, resizeProcessor.Compand); + Assert.Equal(sampler, resizeProcessor.Options.Sampler); + Assert.Equal(compand, resizeProcessor.Options.Compand); } [Fact] @@ -78,8 +78,8 @@ namespace SixLabors.ImageSharp.Tests.Processing.Transforms Assert.Equal(width, resizeProcessor.DestinationWidth); Assert.Equal(height, resizeProcessor.DestinationHeight); - Assert.Equal(sampler, resizeProcessor.Sampler); - Assert.Equal(compand, resizeProcessor.Compand); + Assert.Equal(sampler, resizeProcessor.Options.Sampler); + Assert.Equal(compand, resizeProcessor.Options.Compand); // Ensure options are not altered. Assert.Equal(width, resizeOptions.Size.Width); From 0e1e6c6fd73dff2e02a9273246d8e039a5be7cf2 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Fri, 4 Mar 2022 19:33:56 +0100 Subject: [PATCH 139/244] Add support for decoding Tiff images with UnassociatedAlphaData --- .../Rgba16161616TiffColor{TPixel}.cs | 77 ++++++++ .../Rgba24242424TiffColor{TPixel}.cs | 90 +++++++++ .../Rgba32323232TiffColor{TPixel}.cs | 79 ++++++++ .../Rgba8888TiffColor{TPixel}.cs | 39 ++++ .../RgbaFloat32323232TiffColor{TPixel}.cs | 97 ++++++++++ .../RgbaTiffColor{TPixel}.cs | 72 ++++++++ .../TiffColorDecoderFactory{TPixel}.cs | 173 ++++++++++++++++++ .../TiffColorType.cs | 80 ++++++++ src/ImageSharp/Formats/Tiff/README.md | 2 +- .../Formats/Tiff/TiffBitsPerSample.cs | 38 +++- .../Formats/Tiff/TiffDecoderCore.cs | 7 +- .../Formats/Tiff/TiffDecoderOptionsParser.cs | 52 ++++-- .../Formats/Tiff/TiffExtraSampleType.cs | 27 +++ .../Formats/Tiff/Utils/TiffUtils.cs | 18 ++ .../Formats/Tiff/TiffDecoderTests.cs | 121 ++++++++++++ tests/ImageSharp.Tests/TestImages.cs | 23 +++ .../Tiff/RgbaUnassociatedAlpha10bit_lsb.tiff | 3 + .../Tiff/RgbaUnassociatedAlpha10bit_msb.tiff | 3 + .../Tiff/RgbaUnassociatedAlpha12bit_lsb.tiff | 3 + .../Tiff/RgbaUnassociatedAlpha12bit_msb.tiff | 3 + .../Tiff/RgbaUnassociatedAlpha14bit_lsb.tiff | 3 + .../Tiff/RgbaUnassociatedAlpha14bit_msb.tiff | 3 + .../Tiff/RgbaUnassociatedAlpha16bit_lsb.tiff | 3 + .../Tiff/RgbaUnassociatedAlpha16bit_msb.tiff | 3 + .../Tiff/RgbaUnassociatedAlpha24bit_lsb.tiff | 3 + .../Tiff/RgbaUnassociatedAlpha24bit_msb.tiff | 3 + .../Input/Tiff/RgbaUnassociatedAlpha2bit.tiff | 3 + .../Tiff/RgbaUnassociatedAlpha32bit_lsb.tiff | 3 + .../Tiff/RgbaUnassociatedAlpha32bit_msb.tiff | 3 + .../Input/Tiff/RgbaUnassociatedAlpha3bit.tiff | 3 + .../Input/Tiff/RgbaUnassociatedAlpha4bit.tiff | 3 + .../Input/Tiff/RgbaUnassociatedAlpha5bit.tiff | 3 + .../Input/Tiff/RgbaUnassociatedAlpha6bit.tiff | 3 + .../Input/Tiff/RgbaUnassociatedAlpha8bit.tiff | 3 + tests/Images/Input/Tiff/flower-rgb-3bit.tiff | 3 + tests/Images/Input/Tiff/flower-rgb-5bit.tiff | 3 + tests/Images/Input/Tiff/flower-rgb-6bit.tiff | 3 + 37 files changed, 1034 insertions(+), 24 deletions(-) create mode 100644 src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16161616TiffColor{TPixel}.cs create mode 100644 src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24242424TiffColor{TPixel}.cs create mode 100644 src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba32323232TiffColor{TPixel}.cs create mode 100644 src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba8888TiffColor{TPixel}.cs create mode 100644 src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaFloat32323232TiffColor{TPixel}.cs create mode 100644 src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaTiffColor{TPixel}.cs create mode 100644 src/ImageSharp/Formats/Tiff/TiffExtraSampleType.cs create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlpha10bit_lsb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlpha10bit_msb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlpha12bit_lsb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlpha12bit_msb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlpha14bit_lsb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlpha14bit_msb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlpha16bit_lsb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlpha16bit_msb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlpha24bit_lsb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlpha24bit_msb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlpha2bit.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlpha32bit_lsb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlpha32bit_msb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlpha3bit.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlpha4bit.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlpha5bit.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlpha6bit.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlpha8bit.tiff create mode 100644 tests/Images/Input/Tiff/flower-rgb-3bit.tiff create mode 100644 tests/Images/Input/Tiff/flower-rgb-5bit.tiff create mode 100644 tests/Images/Input/Tiff/flower-rgb-6bit.tiff diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16161616TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16161616TiffColor{TPixel}.cs new file mode 100644 index 000000000..7fd8d9879 --- /dev/null +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16161616TiffColor{TPixel}.cs @@ -0,0 +1,77 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System; +using SixLabors.ImageSharp.Formats.Tiff.Utils; +using SixLabors.ImageSharp.Memory; +using SixLabors.ImageSharp.PixelFormats; + +namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation +{ + /// + /// Implements the 'RGB' photometric interpretation with an alpha channel and with 16 bits for each channel. + /// + internal class Rgba16161616TiffColor : TiffBaseColorDecoder + where TPixel : unmanaged, IPixel + { + private readonly bool isBigEndian; + + private readonly Configuration configuration; + + /// + /// Initializes a new instance of the class. + /// + /// The configuration. + /// if set to true decodes the pixel data as big endian, otherwise as little endian. + public Rgba16161616TiffColor(Configuration configuration, bool isBigEndian) + { + this.configuration = configuration; + this.isBigEndian = isBigEndian; + } + + /// + public override void Decode(ReadOnlySpan data, Buffer2D pixels, int left, int top, int width, int height) + { + // Note: due to an issue with netcore 2.1 and default values and unpredictable behavior with those, + // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 + Rgba64 rgba = TiffUtils.Rgba64Default; + var color = default(TPixel); + color.FromVector4(TiffUtils.Vector4Default); + + int offset = 0; + + for (int y = top; y < top + height; y++) + { + Span pixelRow = pixels.DangerousGetRowSpan(y).Slice(left, width); + + if (this.isBigEndian) + { + for (int x = 0; x < pixelRow.Length; x++) + { + ulong r = TiffUtils.ConvertToUShortBigEndian(data.Slice(offset, 2)); + offset += 2; + ulong g = TiffUtils.ConvertToUShortBigEndian(data.Slice(offset, 2)); + offset += 2; + ulong b = TiffUtils.ConvertToUShortBigEndian(data.Slice(offset, 2)); + offset += 2; + ulong a = TiffUtils.ConvertToUShortBigEndian(data.Slice(offset, 2)); + offset += 2; + + pixelRow[x] = TiffUtils.ColorFromRgba64(rgba, r, g, b, a, color); + } + } + else + { + int byteCount = pixelRow.Length * 8; + PixelOperations.Instance.FromRgba64Bytes( + this.configuration, + data.Slice(offset, byteCount), + pixelRow, + pixelRow.Length); + + offset += byteCount; + } + } + } + } +} diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24242424TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24242424TiffColor{TPixel}.cs new file mode 100644 index 000000000..3d88d9fb5 --- /dev/null +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24242424TiffColor{TPixel}.cs @@ -0,0 +1,90 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System; +using SixLabors.ImageSharp.Formats.Tiff.Utils; +using SixLabors.ImageSharp.Memory; +using SixLabors.ImageSharp.PixelFormats; + +namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation +{ + /// + /// Implements the 'RGB' photometric interpretation with an alpha channel and with 24 bits for each channel. + /// + internal class Rgba24242424TiffColor : TiffBaseColorDecoder + where TPixel : unmanaged, IPixel + { + private readonly bool isBigEndian; + + /// + /// Initializes a new instance of the class. + /// + /// if set to true decodes the pixel data as big endian, otherwise as little endian. + public Rgba24242424TiffColor(bool isBigEndian) => this.isBigEndian = isBigEndian; + + /// + public override void Decode(ReadOnlySpan data, Buffer2D pixels, int left, int top, int width, int height) + { + // Note: due to an issue with netcore 2.1 and default values and unpredictable behavior with those, + // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 + var color = default(TPixel); + color.FromVector4(TiffUtils.Vector4Default); + int offset = 0; + byte[] buffer = new byte[4]; + int bufferStartIdx = this.isBigEndian ? 1 : 0; + + Span bufferSpan = buffer.AsSpan(bufferStartIdx); + for (int y = top; y < top + height; y++) + { + Span pixelRow = pixels.DangerousGetRowSpan(y).Slice(left, width); + + if (this.isBigEndian) + { + for (int x = 0; x < pixelRow.Length; x++) + { + data.Slice(offset, 3).CopyTo(bufferSpan); + ulong r = TiffUtils.ConvertToUIntBigEndian(buffer); + offset += 3; + + data.Slice(offset, 3).CopyTo(bufferSpan); + ulong g = TiffUtils.ConvertToUIntBigEndian(buffer); + offset += 3; + + data.Slice(offset, 3).CopyTo(bufferSpan); + ulong b = TiffUtils.ConvertToUIntBigEndian(buffer); + offset += 3; + + data.Slice(offset, 3).CopyTo(bufferSpan); + ulong a = TiffUtils.ConvertToUIntBigEndian(buffer); + offset += 3; + + pixelRow[x] = TiffUtils.ColorScaleTo32Bit(r, g, b, a, color); + } + } + else + { + for (int x = 0; x < pixelRow.Length; x++) + { + data.Slice(offset, 3).CopyTo(bufferSpan); + ulong r = TiffUtils.ConvertToUIntLittleEndian(buffer); + offset += 3; + + data.Slice(offset, 3).CopyTo(bufferSpan); + ulong g = TiffUtils.ConvertToUIntLittleEndian(buffer); + offset += 3; + + data.Slice(offset, 3).CopyTo(bufferSpan); + ulong b = TiffUtils.ConvertToUIntLittleEndian(buffer); + offset += 3; + + data.Slice(offset, 3).CopyTo(bufferSpan); + ulong a = TiffUtils.ConvertToUIntLittleEndian(buffer); + offset += 3; + + pixelRow[x] = TiffUtils.ColorScaleTo32Bit(r, g, b, a, color); + } + } + } + } + } +} diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba32323232TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba32323232TiffColor{TPixel}.cs new file mode 100644 index 000000000..fbd18ca3e --- /dev/null +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba32323232TiffColor{TPixel}.cs @@ -0,0 +1,79 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System; +using SixLabors.ImageSharp.Formats.Tiff.Utils; +using SixLabors.ImageSharp.Memory; +using SixLabors.ImageSharp.PixelFormats; + +namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation +{ + /// + /// Implements the 'RGB' photometric interpretation with an alpha channel and with 32 bits for each channel. + /// + internal class Rgba32323232TiffColor : TiffBaseColorDecoder + where TPixel : unmanaged, IPixel + { + private readonly bool isBigEndian; + + /// + /// Initializes a new instance of the class. + /// + /// if set to true decodes the pixel data as big endian, otherwise as little endian. + public Rgba32323232TiffColor(bool isBigEndian) => this.isBigEndian = isBigEndian; + + /// + public override void Decode(ReadOnlySpan data, Buffer2D pixels, int left, int top, int width, int height) + { + // Note: due to an issue with netcore 2.1 and default values and unpredictable behavior with those, + // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 + var color = default(TPixel); + color.FromVector4(TiffUtils.Vector4Default); + int offset = 0; + + for (int y = top; y < top + height; y++) + { + Span pixelRow = pixels.DangerousGetRowSpan(y).Slice(left, width); + + if (this.isBigEndian) + { + for (int x = 0; x < pixelRow.Length; x++) + { + ulong r = TiffUtils.ConvertToUIntBigEndian(data.Slice(offset, 4)); + offset += 4; + + ulong g = TiffUtils.ConvertToUIntBigEndian(data.Slice(offset, 4)); + offset += 4; + + ulong b = TiffUtils.ConvertToUIntBigEndian(data.Slice(offset, 4)); + offset += 4; + + ulong a = TiffUtils.ConvertToUIntBigEndian(data.Slice(offset, 4)); + offset += 4; + + pixelRow[x] = TiffUtils.ColorScaleTo32Bit(r, g, b, a, color); + } + } + else + { + for (int x = 0; x < pixelRow.Length; x++) + { + ulong r = TiffUtils.ConvertToUIntLittleEndian(data.Slice(offset, 4)); + offset += 4; + + ulong g = TiffUtils.ConvertToUIntLittleEndian(data.Slice(offset, 4)); + offset += 4; + + ulong b = TiffUtils.ConvertToUIntLittleEndian(data.Slice(offset, 4)); + offset += 4; + + ulong a = TiffUtils.ConvertToUIntLittleEndian(data.Slice(offset, 4)); + offset += 4; + + pixelRow[x] = TiffUtils.ColorScaleTo32Bit(r, g, b, a, color); + } + } + } + } + } +} diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba8888TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba8888TiffColor{TPixel}.cs new file mode 100644 index 000000000..491a42fb7 --- /dev/null +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba8888TiffColor{TPixel}.cs @@ -0,0 +1,39 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System; +using SixLabors.ImageSharp.Memory; +using SixLabors.ImageSharp.PixelFormats; + +namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation +{ + /// + /// Implements the 'RGB' photometric interpretation with an alpha channel and 8 bits per channel. + /// + internal class Rgba8888TiffColor : TiffBaseColorDecoder + where TPixel : unmanaged, IPixel + { + private readonly Configuration configuration; + + public Rgba8888TiffColor(Configuration configuration) => this.configuration = configuration; + + /// + public override void Decode(ReadOnlySpan data, Buffer2D pixels, int left, int top, int width, int height) + { + int offset = 0; + + for (int y = top; y < top + height; y++) + { + Span pixelRow = pixels.DangerousGetRowSpan(y).Slice(left, width); + int byteCount = pixelRow.Length * 4; + PixelOperations.Instance.FromRgba32Bytes( + this.configuration, + data.Slice(offset, byteCount), + pixelRow, + pixelRow.Length); + + offset += byteCount; + } + } + } +} diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaFloat32323232TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaFloat32323232TiffColor{TPixel}.cs new file mode 100644 index 000000000..4fb0797dc --- /dev/null +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaFloat32323232TiffColor{TPixel}.cs @@ -0,0 +1,97 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System; +using System.Numerics; +using SixLabors.ImageSharp.Formats.Tiff.Utils; +using SixLabors.ImageSharp.Memory; +using SixLabors.ImageSharp.PixelFormats; + +namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation +{ + /// + /// Implements the 'RGB' photometric interpretation with an alpha channel and with 32 bits for each channel. + /// + internal class RgbaFloat32323232TiffColor : TiffBaseColorDecoder + where TPixel : unmanaged, IPixel + { + private readonly bool isBigEndian; + + /// + /// Initializes a new instance of the class. + /// + /// if set to true decodes the pixel data as big endian, otherwise as little endian. + public RgbaFloat32323232TiffColor(bool isBigEndian) => this.isBigEndian = isBigEndian; + + /// + public override void Decode(ReadOnlySpan data, Buffer2D pixels, int left, int top, int width, int height) + { + // Note: due to an issue with netcore 2.1 and default values and unpredictable behavior with those, + // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 + var color = default(TPixel); + color.FromVector4(TiffUtils.Vector4Default); + int offset = 0; + byte[] buffer = new byte[4]; + + for (int y = top; y < top + height; y++) + { + Span pixelRow = pixels.DangerousGetRowSpan(y).Slice(left, width); + + if (this.isBigEndian) + { + for (int x = 0; x < pixelRow.Length; x++) + { + data.Slice(offset, 4).CopyTo(buffer); + Array.Reverse(buffer); + float r = BitConverter.ToSingle(buffer, 0); + offset += 4; + + data.Slice(offset, 4).CopyTo(buffer); + Array.Reverse(buffer); + float g = BitConverter.ToSingle(buffer, 0); + offset += 4; + + data.Slice(offset, 4).CopyTo(buffer); + Array.Reverse(buffer); + float b = BitConverter.ToSingle(buffer, 0); + offset += 4; + + data.Slice(offset, 4).CopyTo(buffer); + Array.Reverse(buffer); + float a = BitConverter.ToSingle(buffer, 0); + offset += 4; + + var colorVector = new Vector4(r, g, b, a); + color.FromVector4(colorVector); + pixelRow[x] = color; + } + } + else + { + for (int x = 0; x < pixelRow.Length; x++) + { + data.Slice(offset, 4).CopyTo(buffer); + float r = BitConverter.ToSingle(buffer, 0); + offset += 4; + + data.Slice(offset, 4).CopyTo(buffer); + float g = BitConverter.ToSingle(buffer, 0); + offset += 4; + + data.Slice(offset, 4).CopyTo(buffer); + float b = BitConverter.ToSingle(buffer, 0); + offset += 4; + + data.Slice(offset, 4).CopyTo(buffer); + float a = BitConverter.ToSingle(buffer, 0); + offset += 4; + + var colorVector = new Vector4(r, g, b, a); + color.FromVector4(colorVector); + pixelRow[x] = color; + } + } + } + } + } +} diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaTiffColor{TPixel}.cs new file mode 100644 index 000000000..8bec7da89 --- /dev/null +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaTiffColor{TPixel}.cs @@ -0,0 +1,72 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System; +using System.Numerics; +using SixLabors.ImageSharp.Formats.Tiff.Utils; +using SixLabors.ImageSharp.Memory; +using SixLabors.ImageSharp.PixelFormats; + +namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation +{ + /// + /// Implements the 'RGB' photometric interpretation with alpha channel (for all bit depths). + /// + internal class RgbaTiffColor : TiffBaseColorDecoder + where TPixel : unmanaged, IPixel + { + private readonly float rFactor; + + private readonly float gFactor; + + private readonly float bFactor; + + private readonly float aFactor; + + private readonly ushort bitsPerSampleR; + + private readonly ushort bitsPerSampleG; + + private readonly ushort bitsPerSampleB; + + private readonly ushort bitsPerSampleA; + + public RgbaTiffColor(TiffBitsPerSample bitsPerSample) + { + this.bitsPerSampleR = bitsPerSample.Channel0; + this.bitsPerSampleG = bitsPerSample.Channel1; + this.bitsPerSampleB = bitsPerSample.Channel2; + this.bitsPerSampleA = bitsPerSample.Channel3; + + this.rFactor = (1 << this.bitsPerSampleR) - 1.0f; + this.gFactor = (1 << this.bitsPerSampleG) - 1.0f; + this.bFactor = (1 << this.bitsPerSampleB) - 1.0f; + this.aFactor = (1 << this.bitsPerSampleA) - 1.0f; + } + + /// + public override void Decode(ReadOnlySpan data, Buffer2D pixels, int left, int top, int width, int height) + { + var color = default(TPixel); + + var bitReader = new BitReader(data); + + for (int y = top; y < top + height; y++) + { + Span pixelRow = pixels.DangerousGetRowSpan(y).Slice(left, width); + for (int x = 0; x < pixelRow.Length; x++) + { + float r = bitReader.ReadBits(this.bitsPerSampleR) / this.rFactor; + float g = bitReader.ReadBits(this.bitsPerSampleG) / this.gFactor; + float b = bitReader.ReadBits(this.bitsPerSampleB) / this.bFactor; + float a = bitReader.ReadBits(this.bitsPerSampleB) / this.aFactor; + + color.FromVector4(new Vector4(r, g, b, a)); + pixelRow[x] = color; + } + + bitReader.NextRow(); + } + } + } +} diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/TiffColorDecoderFactory{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/TiffColorDecoderFactory{TPixel}.cs index a8c4cef4e..25ca53431 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/TiffColorDecoderFactory{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/TiffColorDecoderFactory{TPixel}.cs @@ -116,6 +116,38 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation DebugGuard.IsTrue(colorMap == null, "colorMap"); return new RgbTiffColor(bitsPerSample); + case TiffColorType.Rgba2222: + DebugGuard.IsTrue( + bitsPerSample.Channels == 4 + && bitsPerSample.Channel3 == 2 + && bitsPerSample.Channel2 == 2 + && bitsPerSample.Channel1 == 2 + && bitsPerSample.Channel0 == 2, + "bitsPerSample"); + DebugGuard.IsTrue(colorMap == null, "colorMap"); + return new RgbaTiffColor(bitsPerSample); + + case TiffColorType.Rgb333: + DebugGuard.IsTrue( + bitsPerSample.Channels == 3 + && bitsPerSample.Channel2 == 3 + && bitsPerSample.Channel1 == 3 + && bitsPerSample.Channel0 == 3, + "bitsPerSample"); + DebugGuard.IsTrue(colorMap == null, "colorMap"); + return new RgbTiffColor(bitsPerSample); + + case TiffColorType.Rgba3333: + DebugGuard.IsTrue( + bitsPerSample.Channels == 4 + && bitsPerSample.Channel3 == 3 + && bitsPerSample.Channel2 == 3 + && bitsPerSample.Channel1 == 3 + && bitsPerSample.Channel0 == 3, + "bitsPerSample"); + DebugGuard.IsTrue(colorMap == null, "colorMap"); + return new RgbaTiffColor(bitsPerSample); + case TiffColorType.Rgb444: DebugGuard.IsTrue( bitsPerSample.Channels == 3 @@ -126,6 +158,59 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation DebugGuard.IsTrue(colorMap == null, "colorMap"); return new Rgb444TiffColor(); + case TiffColorType.Rgba4444: + DebugGuard.IsTrue( + bitsPerSample.Channels == 4 + && bitsPerSample.Channel3 == 4 + && bitsPerSample.Channel2 == 4 + && bitsPerSample.Channel1 == 4 + && bitsPerSample.Channel0 == 4, + "bitsPerSample"); + DebugGuard.IsTrue(colorMap == null, "colorMap"); + return new RgbaTiffColor(bitsPerSample); + + case TiffColorType.Rgb555: + DebugGuard.IsTrue( + bitsPerSample.Channels == 3 + && bitsPerSample.Channel2 == 5 + && bitsPerSample.Channel1 == 5 + && bitsPerSample.Channel0 == 5, + "bitsPerSample"); + DebugGuard.IsTrue(colorMap == null, "colorMap"); + return new RgbTiffColor(bitsPerSample); + + case TiffColorType.Rgba5555: + DebugGuard.IsTrue( + bitsPerSample.Channels == 4 + && bitsPerSample.Channel3 == 5 + && bitsPerSample.Channel2 == 5 + && bitsPerSample.Channel1 == 5 + && bitsPerSample.Channel0 == 5, + "bitsPerSample"); + DebugGuard.IsTrue(colorMap == null, "colorMap"); + return new RgbaTiffColor(bitsPerSample); + + case TiffColorType.Rgb666: + DebugGuard.IsTrue( + bitsPerSample.Channels == 3 + && bitsPerSample.Channel2 == 6 + && bitsPerSample.Channel1 == 6 + && bitsPerSample.Channel0 == 6, + "bitsPerSample"); + DebugGuard.IsTrue(colorMap == null, "colorMap"); + return new RgbTiffColor(bitsPerSample); + + case TiffColorType.Rgba6666: + DebugGuard.IsTrue( + bitsPerSample.Channels == 4 + && bitsPerSample.Channel3 == 6 + && bitsPerSample.Channel2 == 6 + && bitsPerSample.Channel1 == 6 + && bitsPerSample.Channel0 == 6, + "bitsPerSample"); + DebugGuard.IsTrue(colorMap == null, "colorMap"); + return new RgbaTiffColor(bitsPerSample); + case TiffColorType.Rgb888: DebugGuard.IsTrue( bitsPerSample.Channels == 3 @@ -136,6 +221,17 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation DebugGuard.IsTrue(colorMap == null, "colorMap"); return new Rgb888TiffColor(configuration); + case TiffColorType.Rgba8888: + DebugGuard.IsTrue( + bitsPerSample.Channels == 4 + && bitsPerSample.Channel3 == 8 + && bitsPerSample.Channel2 == 8 + && bitsPerSample.Channel1 == 8 + && bitsPerSample.Channel0 == 8, + "bitsPerSample"); + DebugGuard.IsTrue(colorMap == null, "colorMap"); + return new Rgba8888TiffColor(configuration); + case TiffColorType.Rgb101010: DebugGuard.IsTrue( bitsPerSample.Channels == 3 @@ -146,6 +242,17 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation DebugGuard.IsTrue(colorMap == null, "colorMap"); return new RgbTiffColor(bitsPerSample); + case TiffColorType.Rgba10101010: + DebugGuard.IsTrue( + bitsPerSample.Channels == 4 + && bitsPerSample.Channel3 == 10 + && bitsPerSample.Channel2 == 10 + && bitsPerSample.Channel1 == 10 + && bitsPerSample.Channel0 == 10, + "bitsPerSample"); + DebugGuard.IsTrue(colorMap == null, "colorMap"); + return new RgbaTiffColor(bitsPerSample); + case TiffColorType.Rgb121212: DebugGuard.IsTrue( bitsPerSample.Channels == 3 @@ -156,6 +263,17 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation DebugGuard.IsTrue(colorMap == null, "colorMap"); return new RgbTiffColor(bitsPerSample); + case TiffColorType.Rgba12121212: + DebugGuard.IsTrue( + bitsPerSample.Channels == 4 + && bitsPerSample.Channel3 == 12 + && bitsPerSample.Channel2 == 12 + && bitsPerSample.Channel1 == 12 + && bitsPerSample.Channel0 == 12, + "bitsPerSample"); + DebugGuard.IsTrue(colorMap == null, "colorMap"); + return new RgbaTiffColor(bitsPerSample); + case TiffColorType.Rgb141414: DebugGuard.IsTrue( bitsPerSample.Channels == 3 @@ -166,6 +284,17 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation DebugGuard.IsTrue(colorMap == null, "colorMap"); return new RgbTiffColor(bitsPerSample); + case TiffColorType.Rgba14141414: + DebugGuard.IsTrue( + bitsPerSample.Channels == 4 + && bitsPerSample.Channel3 == 14 + && bitsPerSample.Channel2 == 14 + && bitsPerSample.Channel1 == 14 + && bitsPerSample.Channel0 == 14, + "bitsPerSample"); + DebugGuard.IsTrue(colorMap == null, "colorMap"); + return new RgbaTiffColor(bitsPerSample); + case TiffColorType.Rgb161616: DebugGuard.IsTrue( bitsPerSample.Channels == 3 @@ -176,6 +305,17 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation DebugGuard.IsTrue(colorMap == null, "colorMap"); return new Rgb161616TiffColor(configuration, isBigEndian: byteOrder == ByteOrder.BigEndian); + case TiffColorType.Rgba16161616: + DebugGuard.IsTrue( + bitsPerSample.Channels == 4 + && bitsPerSample.Channel3 == 16 + && bitsPerSample.Channel2 == 16 + && bitsPerSample.Channel1 == 16 + && bitsPerSample.Channel0 == 16, + "bitsPerSample"); + DebugGuard.IsTrue(colorMap == null, "colorMap"); + return new Rgba16161616TiffColor(configuration, isBigEndian: byteOrder == ByteOrder.BigEndian); + case TiffColorType.Rgb242424: DebugGuard.IsTrue( bitsPerSample.Channels == 3 @@ -186,6 +326,17 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation DebugGuard.IsTrue(colorMap == null, "colorMap"); return new Rgb242424TiffColor(isBigEndian: byteOrder == ByteOrder.BigEndian); + case TiffColorType.Rgba24242424: + DebugGuard.IsTrue( + bitsPerSample.Channels == 4 + && bitsPerSample.Channel3 == 24 + && bitsPerSample.Channel2 == 24 + && bitsPerSample.Channel1 == 24 + && bitsPerSample.Channel0 == 24, + "bitsPerSample"); + DebugGuard.IsTrue(colorMap == null, "colorMap"); + return new Rgba24242424TiffColor(isBigEndian: byteOrder == ByteOrder.BigEndian); + case TiffColorType.Rgb323232: DebugGuard.IsTrue( bitsPerSample.Channels == 3 @@ -196,6 +347,17 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation DebugGuard.IsTrue(colorMap == null, "colorMap"); return new Rgb323232TiffColor(isBigEndian: byteOrder == ByteOrder.BigEndian); + case TiffColorType.Rgba32323232: + DebugGuard.IsTrue( + bitsPerSample.Channels == 4 + && bitsPerSample.Channel3 == 32 + && bitsPerSample.Channel2 == 32 + && bitsPerSample.Channel1 == 32 + && bitsPerSample.Channel0 == 32, + "bitsPerSample"); + DebugGuard.IsTrue(colorMap == null, "colorMap"); + return new Rgba32323232TiffColor(isBigEndian: byteOrder == ByteOrder.BigEndian); + case TiffColorType.RgbFloat323232: DebugGuard.IsTrue( bitsPerSample.Channels == 3 @@ -206,6 +368,17 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation DebugGuard.IsTrue(colorMap == null, "colorMap"); return new RgbFloat323232TiffColor(isBigEndian: byteOrder == ByteOrder.BigEndian); + case TiffColorType.RgbaFloat32323232: + DebugGuard.IsTrue( + bitsPerSample.Channels == 4 + && bitsPerSample.Channel3 == 32 + && bitsPerSample.Channel2 == 32 + && bitsPerSample.Channel1 == 32 + && bitsPerSample.Channel0 == 32, + "bitsPerSample"); + DebugGuard.IsTrue(colorMap == null, "colorMap"); + return new RgbaFloat32323232TiffColor(isBigEndian: byteOrder == ByteOrder.BigEndian); + case TiffColorType.PaletteColor: DebugGuard.NotNull(colorMap, "colorMap"); return new PaletteTiffColor(bitsPerSample, colorMap); diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/TiffColorType.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/TiffColorType.cs index 8caefaed5..a0a48c2b9 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/TiffColorType.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/TiffColorType.cs @@ -103,51 +103,131 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation /// Rgb222, + /// + /// RGBA color image with 2 bits for each channel. + /// + Rgba2222, + + /// + /// RGB color image with 3 bits for each channel. + /// + Rgb333, + + /// + /// RGBA color image with 3 bits for each channel. + /// + Rgba3333, + /// /// RGB color image with 4 bits for each channel. /// Rgb444, + /// + /// RGBA color image with 4 bits for each channel. + /// + Rgba4444, + + /// + /// RGB color image with 5 bits for each channel. + /// + Rgb555, + + /// + /// RGBA color image with 5 bits for each channel. + /// + Rgba5555, + + /// + /// RGB color image with 6 bits for each channel. + /// + Rgb666, + + /// + /// RGBA color image with 6 bits for each channel. + /// + Rgba6666, + /// /// RGB Full Color. Optimized implementation for 8-bit images. /// Rgb888, + /// + /// RGBA Full Color with 8-bit for each channel. + /// + Rgba8888, + /// /// RGB color image with 10 bits for each channel. /// Rgb101010, + /// + /// RGBA color image with 10 bits for each channel. + /// + Rgba10101010, + /// /// RGB color image with 12 bits for each channel. /// Rgb121212, + /// + /// RGBA color image with 12 bits for each channel. + /// + Rgba12121212, + /// /// RGB color image with 14 bits for each channel. /// Rgb141414, + /// + /// RGBA color image with 14 bits for each channel. + /// + Rgba14141414, + /// /// RGB color image with 16 bits for each channel. /// Rgb161616, + /// + /// RGBA color image with 16 bits for each channel. + /// + Rgba16161616, + /// /// RGB color image with 24 bits for each channel. /// Rgb242424, + /// + /// RGBA color image with 24 bits for each channel. + /// + Rgba24242424, + /// /// RGB color image with 32 bits for each channel. /// Rgb323232, + /// + /// RGBA color image with 32 bits for each channel. + /// + Rgba32323232, + /// /// RGB color image with 32 bits floats for each channel. /// RgbFloat323232, + /// + /// RGBA color image with 32 bits floats for each channel. + /// + RgbaFloat32323232, + /// /// RGB Full Color. Planar configuration of data. 8 Bit per color channel. /// diff --git a/src/ImageSharp/Formats/Tiff/README.md b/src/ImageSharp/Formats/Tiff/README.md index 51e84ef55..aa960b373 100644 --- a/src/ImageSharp/Formats/Tiff/README.md +++ b/src/ImageSharp/Formats/Tiff/README.md @@ -105,7 +105,7 @@ |Artist | Y | Y | | |HostComputer | Y | Y | | |ColorMap | Y | Y | | -|ExtraSamples | | - | | +|ExtraSamples | | (Y) | Only UnassociatedAlphaData is supported so far | |Copyright | Y | Y | | ### Extension TIFF Tags diff --git a/src/ImageSharp/Formats/Tiff/TiffBitsPerSample.cs b/src/ImageSharp/Formats/Tiff/TiffBitsPerSample.cs index 8fd26ac13..9348a6883 100644 --- a/src/ImageSharp/Formats/Tiff/TiffBitsPerSample.cs +++ b/src/ImageSharp/Formats/Tiff/TiffBitsPerSample.cs @@ -25,6 +25,11 @@ namespace SixLabors.ImageSharp.Formats.Tiff /// public readonly ushort Channel2; + /// + /// The bits for the alpha channel. + /// + public readonly ushort Channel3; + /// /// The number of channels. /// @@ -36,16 +41,19 @@ namespace SixLabors.ImageSharp.Formats.Tiff /// The bits for the channel 0. /// The bits for the channel 1. /// The bits for the channel 2. - public TiffBitsPerSample(ushort channel0, ushort channel1, ushort channel2) + /// The bits for the channel 3. + public TiffBitsPerSample(ushort channel0, ushort channel1, ushort channel2, ushort channel3 = 0) { this.Channel0 = (ushort)Numerics.Clamp(channel0, 0, 32); this.Channel1 = (ushort)Numerics.Clamp(channel1, 0, 32); this.Channel2 = (ushort)Numerics.Clamp(channel2, 0, 32); + this.Channel3 = (ushort)Numerics.Clamp(channel3, 0, 32); this.Channels = 0; this.Channels += (byte)(this.Channel0 != 0 ? 1 : 0); this.Channels += (byte)(this.Channel1 != 0 ? 1 : 0); this.Channels += (byte)(this.Channel2 != 0 ? 1 : 0); + this.Channels += (byte)(this.Channel3 != 0 ? 1 : 0); } /// @@ -62,11 +70,19 @@ namespace SixLabors.ImageSharp.Formats.Tiff return false; } + ushort c3 = 0; ushort c2; ushort c1; ushort c0; switch (value.Length) { + case 4: + c3 = value[3]; + c2 = value[2]; + c1 = value[1]; + c0 = value[0]; + break; + case 3: c2 = value[2]; c1 = value[1]; @@ -84,7 +100,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff break; } - sample = new TiffBitsPerSample(c0, c1, c2); + sample = new TiffBitsPerSample(c0, c1, c2, c3); return true; } @@ -96,11 +112,12 @@ namespace SixLabors.ImageSharp.Formats.Tiff public bool Equals(TiffBitsPerSample other) => this.Channel0 == other.Channel0 && this.Channel1 == other.Channel1 - && this.Channel2 == other.Channel2; + && this.Channel2 == other.Channel2 + && this.Channel3 == other.Channel3; /// public override int GetHashCode() - => HashCode.Combine(this.Channel0, this.Channel1, this.Channel2); + => HashCode.Combine(this.Channel0, this.Channel1, this.Channel2, this.Channel3); /// /// Converts the bits per sample struct to an ushort array. @@ -118,7 +135,12 @@ namespace SixLabors.ImageSharp.Formats.Tiff return new[] { this.Channel0, this.Channel1 }; } - return new[] { this.Channel0, this.Channel1, this.Channel2 }; + if (this.Channel3 == 0) + { + return new[] { this.Channel0, this.Channel1, this.Channel2 }; + } + + return new[] { this.Channel0, this.Channel1, this.Channel2, this.Channel3 }; } /// @@ -127,12 +149,14 @@ namespace SixLabors.ImageSharp.Formats.Tiff /// Bits per pixel. public TiffBitsPerPixel BitsPerPixel() { - int bitsPerPixel = this.Channel0 + this.Channel1 + this.Channel2; + int bitsPerPixel = this.Channel0 + this.Channel1 + this.Channel2 + this.Channel3; return (TiffBitsPerPixel)bitsPerPixel; } /// public override string ToString() - => $"TiffBitsPerSample({this.Channel0}, {this.Channel1}, {this.Channel2})"; + => this.Channel3 is 0 ? + $"TiffBitsPerSample({this.Channel0}, {this.Channel1}, {this.Channel2})" + : $"TiffBitsPerSample({this.Channel0}, {this.Channel1}, {this.Channel2}, {this.Channel3})"; } } diff --git a/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs b/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs index cd06282f1..aaaef0b8a 100644 --- a/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs +++ b/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs @@ -35,7 +35,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff /// /// Gets the decoding mode for multi-frame images /// - private FrameDecodingMode decodingMode; + private readonly FrameDecodingMode decodingMode; /// /// The stream to decode from. @@ -117,6 +117,11 @@ namespace SixLabors.ImageSharp.Formats.Tiff /// public TiffFillOrder FillOrder { get; set; } + /// + /// Gets or sets the extra samples, which can contain the alpha channel data. + /// + public TiffExtraSampleType? ExtraSamples { get; set; } + /// /// Gets or sets the JPEG tables when jpeg compression is used. /// diff --git a/src/ImageSharp/Formats/Tiff/TiffDecoderOptionsParser.cs b/src/ImageSharp/Formats/Tiff/TiffDecoderOptionsParser.cs index a187d444a..0f1ffc79f 100644 --- a/src/ImageSharp/Formats/Tiff/TiffDecoderOptionsParser.cs +++ b/src/ImageSharp/Formats/Tiff/TiffDecoderOptionsParser.cs @@ -29,9 +29,21 @@ namespace SixLabors.ImageSharp.Formats.Tiff TiffThrowHelper.ThrowNotSupported("Tiled images are not supported."); } - if (exifProfile.GetValueInternal(ExifTag.ExtraSamples) is not null) + IExifValue extraSamplesExifValue = exifProfile.GetValueInternal(ExifTag.ExtraSamples); + if (extraSamplesExifValue is not null) { - TiffThrowHelper.ThrowNotSupported("ExtraSamples is not supported."); + short[] extraSamples = (short[])extraSamplesExifValue.GetValue(); + if (extraSamples.Length != 1) + { + TiffThrowHelper.ThrowNotSupported("ExtraSamples is only supported with one extra sample for alpha data."); + } + + var extraSamplesType = (TiffExtraSampleType)extraSamples[0]; + options.ExtraSamples = extraSamplesType; + if (extraSamplesType is not TiffExtraSampleType.UnassociatedAlphaData) + { + TiffThrowHelper.ThrowNotSupported("Decoding Tiff images with ExtraSamples is only supported with UnassociatedAlphaData."); + } } TiffFillOrder fillOrder = (TiffFillOrder?)exifProfile.GetValue(ExifTag.FillOrder)?.Value ?? TiffFillOrder.MostSignificantBitFirst; @@ -52,7 +64,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff sampleFormat = sampleFormats[0]; foreach (TiffSampleFormat format in sampleFormats) { - if (format != TiffSampleFormat.UnsignedInteger && format != TiffSampleFormat.Float) + if (format is not TiffSampleFormat.UnsignedInteger and not TiffSampleFormat.Float) { TiffThrowHelper.ThrowNotSupported("ImageSharp only supports the UnsignedInteger and Float SampleFormat."); } @@ -252,12 +264,13 @@ namespace SixLabors.ImageSharp.Formats.Tiff case TiffPhotometricInterpretation.Rgb: { TiffBitsPerSample bitsPerSample = options.BitsPerSample; - if (bitsPerSample.Channels != 3) + if (bitsPerSample.Channels is not (3 or 4)) { TiffThrowHelper.ThrowNotSupported("The number of samples in the TIFF BitsPerSample entry is not supported."); } - if (!(bitsPerSample.Channel0 == bitsPerSample.Channel1 && bitsPerSample.Channel1 == bitsPerSample.Channel2)) + if ((bitsPerSample.Channels == 3 && !(bitsPerSample.Channel0 == bitsPerSample.Channel1 && bitsPerSample.Channel1 == bitsPerSample.Channel2)) || + (bitsPerSample.Channels == 4 && !(bitsPerSample.Channel0 == bitsPerSample.Channel1 && bitsPerSample.Channel1 == bitsPerSample.Channel2 && bitsPerSample.Channel2 == bitsPerSample.Channel3))) { TiffThrowHelper.ThrowNotSupported("Only BitsPerSample with equal bits per channel are supported."); } @@ -270,41 +283,50 @@ namespace SixLabors.ImageSharp.Formats.Tiff case 32: if (options.SampleFormat == TiffSampleFormat.Float) { - options.ColorType = TiffColorType.RgbFloat323232; + options.ColorType = options.BitsPerSample.Channels is 3 ? TiffColorType.RgbFloat323232 : TiffColorType.RgbaFloat32323232; return; } - options.ColorType = TiffColorType.Rgb323232; + options.ColorType = options.BitsPerSample.Channels is 3 ? TiffColorType.Rgb323232 : TiffColorType.Rgba32323232; break; case 24: - options.ColorType = TiffColorType.Rgb242424; + options.ColorType = options.BitsPerSample.Channels is 3 ? TiffColorType.Rgb242424 : TiffColorType.Rgba24242424; break; case 16: - options.ColorType = TiffColorType.Rgb161616; + options.ColorType = options.BitsPerSample.Channels is 3 ? TiffColorType.Rgb161616 : TiffColorType.Rgba16161616; break; case 14: - options.ColorType = TiffColorType.Rgb141414; + options.ColorType = options.BitsPerSample.Channels is 3 ? TiffColorType.Rgb141414 : TiffColorType.Rgba14141414; break; case 12: - options.ColorType = TiffColorType.Rgb121212; + options.ColorType = options.BitsPerSample.Channels is 3 ? TiffColorType.Rgb121212 : TiffColorType.Rgba12121212; break; case 10: - options.ColorType = TiffColorType.Rgb101010; + options.ColorType = options.BitsPerSample.Channels is 3 ? TiffColorType.Rgb101010 : TiffColorType.Rgba10101010; break; case 8: - options.ColorType = TiffColorType.Rgb888; + options.ColorType = options.BitsPerSample.Channels is 3 ? TiffColorType.Rgb888 : TiffColorType.Rgba8888; + break; + case 6: + options.ColorType = options.BitsPerSample.Channels is 3 ? TiffColorType.Rgb666 : TiffColorType.Rgba6666; + break; + case 5: + options.ColorType = options.BitsPerSample.Channels is 3 ? TiffColorType.Rgb555 : TiffColorType.Rgba5555; break; case 4: - options.ColorType = TiffColorType.Rgb444; + options.ColorType = options.BitsPerSample.Channels is 3 ? TiffColorType.Rgb444 : TiffColorType.Rgba4444; + break; + case 3: + options.ColorType = options.BitsPerSample.Channels is 3 ? TiffColorType.Rgb333 : TiffColorType.Rgba3333; break; case 2: - options.ColorType = TiffColorType.Rgb222; + options.ColorType = options.BitsPerSample.Channels is 3 ? TiffColorType.Rgb222 : TiffColorType.Rgba2222; break; default: TiffThrowHelper.ThrowNotSupported("Bits per sample is not supported."); diff --git a/src/ImageSharp/Formats/Tiff/TiffExtraSampleType.cs b/src/ImageSharp/Formats/Tiff/TiffExtraSampleType.cs new file mode 100644 index 000000000..5fbc29177 --- /dev/null +++ b/src/ImageSharp/Formats/Tiff/TiffExtraSampleType.cs @@ -0,0 +1,27 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +namespace SixLabors.ImageSharp.Formats.Tiff +{ + /// + /// Description of extra components. + /// + internal enum TiffExtraSampleType + { + /// + /// The data is unspecified, not supported. + /// + UnspecifiedData = 0, + + /// + /// The extra data is associated alpha data (with pre-multiplied color). + /// + AssociatedAlphaData = 1, + + /// + /// The extra data is unassociated alpha data is transparency information that logically exists independent of an image; + /// it is commonly called a soft matte. + /// + UnassociatedAlphaData = 2 + } +} diff --git a/src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs b/src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs index 4f71fa35c..6ec905929 100644 --- a/src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs +++ b/src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs @@ -54,6 +54,15 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Utils return color; } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static TPixel ColorFromRgba64(Rgba64 rgba, ulong r, ulong g, ulong b, ulong a, TPixel color) + where TPixel : unmanaged, IPixel + { + rgba.PackedValue = r | (g << 16) | (b << 32) | (a << 48); + color.FromRgba64(rgba); + return color; + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] public static TPixel ColorScaleTo24Bit(ulong r, ulong g, ulong b, TPixel color) where TPixel : unmanaged, IPixel @@ -72,6 +81,15 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Utils return color; } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static TPixel ColorScaleTo32Bit(ulong r, ulong g, ulong b, ulong a, TPixel color) + where TPixel : unmanaged, IPixel + { + var colorVector = new Vector4(r * Scale32Bit, g * Scale32Bit, b * Scale32Bit, a); + color.FromVector4(colorVector); + return color; + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] public static TPixel ColorFromL16(L16 l16, ushort intensity, TPixel color) where TPixel : unmanaged, IPixel diff --git a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs index e4f4d26b8..de8ae8e72 100644 --- a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs @@ -123,6 +123,21 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff public void TiffDecoder_CanDecode_8Bit_Gray(TestImageProvider provider) where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + [Theory] + [WithFile(Rgba2BitUnassociatedAlpha, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_8Bit_WithUnassociatedAlpha(TestImageProvider provider) + where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + + [Theory] + [WithFile(FLowerRgb3Bit, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_9Bit_WithUnassociatedAlpha(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + // Note: because the MagickReferenceDecoder fails to load the image, we only debug save them. + using Image image = provider.GetImage(); + image.DebugSave(provider); + } + [Theory] [WithFile(Flower10BitGray, PixelTypes.Rgba32)] public void TiffDecoder_CanDecode_10Bit_Gray(TestImageProvider provider) @@ -139,11 +154,31 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff public void TiffDecoder_CanDecode_12Bit_Gray(TestImageProvider provider) where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + [Theory] + [WithFile(Rgba3BitUnassociatedAlpha, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_12Bit_WithUnassociatedAlpha(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + // Note: because the MagickReferenceDecoder fails to load the image, we only debug save them. + using Image image = provider.GetImage(); + image.DebugSave(provider); + } + [Theory] [WithFile(Flower14BitGray, PixelTypes.Rgba32)] public void TiffDecoder_CanDecode_14Bit_Gray(TestImageProvider provider) where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + [Theory] + [WithFile(FLowerRgb5Bit, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_15Bit(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + // Note: because the MagickReferenceDecoder fails to load the image, we only debug save them. + using Image image = provider.GetImage(); + image.DebugSave(provider); + } + [Theory] [WithFile(Flower16BitGrayLittleEndian, PixelTypes.Rgba32)] [WithFile(Flower16BitGray, PixelTypes.Rgba32)] @@ -158,6 +193,36 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff public void TiffDecoder_CanDecode_16Bit_Gray_WithPredictor(TestImageProvider provider) where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + [Theory] + [WithFile(Rgba4BitUnassociatedAlpha, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_16Bit_WithUnassociatedAlpha(TestImageProvider provider) + where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + + [Theory] + [WithFile(FLowerRgb6Bit, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_18Bit(TestImageProvider provider) + where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + + [Theory] + [WithFile(Rgba5BitUnassociatedAlpha, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_20Bit_WithUnassociatedAlpha(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + // Note: because the MagickReferenceDecoder fails to load the image, we only debug save them. + using Image image = provider.GetImage(); + image.DebugSave(provider); + } + + [Theory] + [WithFile(FlowerRgb888Contiguous, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_24Bit(TestImageProvider provider) + where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + + [Theory] + [WithFile(Rgba6BitUnassociatedAlpha, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_24Bit_WithUnassociatedAlpha(TestImageProvider provider) + where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + [Theory] [WithFile(Flower24BitGray, PixelTypes.Rgba32)] [WithFile(Flower24BitGrayLittleEndian, PixelTypes.Rgba32)] @@ -207,6 +272,16 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff image.DebugSave(provider); } + [Theory] + [WithFile(Rgba8BitUnassociatedAlpha, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_32Bit_WithUnassociatedAlpha(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + // Note: because the MagickReferenceDecoder fails to load the image, we only debug save them. + using Image image = provider.GetImage(); + image.DebugSave(provider); + } + [Theory] [WithFile(Flower32BitGrayPredictorBigEndian, PixelTypes.Rgba32)] [WithFile(Flower32BitGrayPredictorLittleEndian, PixelTypes.Rgba32)] @@ -223,6 +298,12 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff public void TiffDecoder_CanDecode_36Bit(TestImageProvider provider) where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + [Theory] + [WithFile(Rgba10BitUnassociatedAlphaBigEndian, PixelTypes.Rgba32)] + [WithFile(Rgba10BitUnassociatedAlphaLittleEndian, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_40Bit_WithUnassociatedAlpha(TestImageProvider provider) + where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + [Theory] [WithFile(FlowerRgb141414Contiguous, PixelTypes.Rgba32)] [WithFile(FlowerRgb141414Planar, PixelTypes.Rgba32)] @@ -238,12 +319,24 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff public void TiffDecoder_CanDecode_48Bit(TestImageProvider provider) where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + [Theory] + [WithFile(Rgba12BitUnassociatedAlphaBigEndian, PixelTypes.Rgba32)] + [WithFile(Rgba12BitUnassociatedAlphaLittleEndian, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_48Bit_WithUnassociatedAlpha(TestImageProvider provider) + where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + [Theory] [WithFile(FlowerRgb161616PredictorBigEndian, PixelTypes.Rgba32)] [WithFile(FlowerRgb161616PredictorLittleEndian, PixelTypes.Rgba32)] public void TiffDecoder_CanDecode_48Bit_WithPredictor(TestImageProvider provider) where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + [Theory] + [WithFile(Rgba14BitUnassociatedAlphaBigEndian, PixelTypes.Rgba32)] + [WithFile(Rgba14BitUnassociatedAlphaLittleEndian, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_56Bit_WithUnassociatedAlpha(TestImageProvider provider) + where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + [Theory] [WithFile(FlowerRgb242424Contiguous, PixelTypes.Rgba32)] [WithFile(FlowerRgb242424ContiguousLittleEndian, PixelTypes.Rgba32)] @@ -270,6 +363,17 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff image.DebugSave(provider); } + [Theory] + [WithFile(Rgba24BitUnassociatedAlphaBigEndian, PixelTypes.Rgba32)] + [WithFile(Rgba24BitUnassociatedAlphaLittleEndian, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_96Bit_WithUnassociatedAlpha(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + // Note: because the MagickReferenceDecoder fails to load the image, we only debug save them. + using Image image = provider.GetImage(); + image.DebugSave(provider); + } + [Theory] [WithFile(FlowerRgbFloat323232, PixelTypes.Rgba32)] [WithFile(FlowerRgbFloat323232LittleEndian, PixelTypes.Rgba32)] @@ -305,6 +409,23 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff image.DebugSave(provider); } + [Theory] + [WithFile(Rgba16BitUnassociatedAlphaBigEndian, PixelTypes.Rgba32)] + [WithFile(Rgba16BitUnassociatedAlphaLittleEndian, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_128Bit_UnassociatedAlpha(TestImageProvider provider) + where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + + [Theory] + [WithFile(Rgba32BitUnassociatedAlphaBigEndian, PixelTypes.Rgba32)] + [WithFile(Rgba32BitUnassociatedAlphaLittleEndian, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_128Bit_WithUnassociatedAlpha(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + // Note: because the MagickReferenceDecoder fails to load the image, we only debug save them. + using Image image = provider.GetImage(); + image.DebugSave(provider); + } + [Theory] [WithFile(GrayscaleDeflateMultistrip, PixelTypes.Rgba32)] [WithFile(RgbDeflateMultistrip, PixelTypes.Rgba32)] diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index aa4314b8e..476d54e83 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -831,6 +831,9 @@ namespace SixLabors.ImageSharp.Tests public const string Flower2BitPalette = "Tiff/flower-palette-02.tiff"; public const string Flower4BitPalette = "Tiff/flower-palette-04.tiff"; public const string Flower4BitPaletteGray = "Tiff/flower-minisblack-04.tiff"; + public const string FLowerRgb3Bit = "Tiff/flower-rgb-3bit.tiff"; + public const string FLowerRgb5Bit = "Tiff/flower-rgb-5bit.tiff"; + public const string FLowerRgb6Bit = "Tiff/flower-rgb-6bit.tiff"; public const string Flower6BitGray = "Tiff/flower-minisblack-06.tiff"; public const string Flower8BitGray = "Tiff/flower-minisblack-08.tiff"; public const string Flower10BitGray = "Tiff/flower-minisblack-10.tiff"; @@ -855,6 +858,26 @@ namespace SixLabors.ImageSharp.Tests public const string Flower32BitGrayPredictorBigEndian = "Tiff/flower-minisblack-32_msb_deflate_predictor.tiff"; public const string Flower32BitGrayPredictorLittleEndian = "Tiff/flower-minisblack-32_lsb_deflate_predictor.tiff"; + // Images with alpha channel. + public const string Rgba2BitUnassociatedAlpha = "Tiff/RgbaUnassociatedAlpha2bit.tiff"; + public const string Rgba3BitUnassociatedAlpha = "Tiff/RgbaUnassociatedAlpha3bit.tiff"; + public const string Rgba4BitUnassociatedAlpha = "Tiff/RgbaUnassociatedAlpha4bit.tiff"; + public const string Rgba5BitUnassociatedAlpha = "Tiff/RgbaUnassociatedAlpha5bit.tiff"; + public const string Rgba6BitUnassociatedAlpha = "Tiff/RgbaUnassociatedAlpha6bit.tiff"; + public const string Rgba8BitUnassociatedAlpha = "Tiff/RgbaUnassociatedAlpha8bit.tiff"; + public const string Rgba10BitUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlpha10bit_msb.tiff"; + public const string Rgba10BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha10bit_msb.tiff"; + public const string Rgba12BitUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlpha12bit_msb.tiff"; + public const string Rgba12BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha12bit_msb.tiff"; + public const string Rgba14BitUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlpha14bit_msb.tiff"; + public const string Rgba14BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha14bit_msb.tiff"; + public const string Rgba16BitUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlpha16bit_msb.tiff"; + public const string Rgba16BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha16bit_msb.tiff"; + public const string Rgba24BitUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlpha24bit_msb.tiff"; + public const string Rgba24BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha24bit_msb.tiff"; + public const string Rgba32BitUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlpha32bit_msb.tiff"; + public const string Rgba32BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha32bit_msb.tiff"; + public const string Issues1716Rgb161616BitLittleEndian = "Tiff/Issues/Issue1716.tiff"; public const string Issues1891 = "Tiff/Issues/Issue1891.tiff"; diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlpha10bit_lsb.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha10bit_lsb.tiff new file mode 100644 index 000000000..f4a1a3f6b --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha10bit_lsb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f78ef11e4044d13ea3bf699e33472a708df3a5cc817dc41edb4df184f127f2b +size 294278 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlpha10bit_msb.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha10bit_msb.tiff new file mode 100644 index 000000000..06beb72f3 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha10bit_msb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9c2d6f4e16677d9fdfb38cc2bfb7df05eedbb8dc0e3c26a6dba9b427c2c698a +size 294278 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlpha12bit_lsb.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha12bit_lsb.tiff new file mode 100644 index 000000000..94a944705 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha12bit_lsb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53e9ff25da2a2a7a613328cfaf33799df51fe150586fb8de52070e8cc8830d97 +size 353078 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlpha12bit_msb.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha12bit_msb.tiff new file mode 100644 index 000000000..26d911272 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha12bit_msb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:caff76e01bc39b7a295f01a11e3787a6487ac002af5586dd956166a9c91eb048 +size 353078 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlpha14bit_lsb.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha14bit_lsb.tiff new file mode 100644 index 000000000..f1bd4c405 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha14bit_lsb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9193b6a194be970b2cfb26369fa487fd6ec2f1656af11df2e48f1d6b0971bbf8 +size 411878 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlpha14bit_msb.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha14bit_msb.tiff new file mode 100644 index 000000000..b098877e0 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha14bit_msb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:888bc84af8dffc4565b215412a8a2bb56f0c78211a082b893d87595cd9f555c1 +size 411878 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlpha16bit_lsb.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha16bit_lsb.tiff new file mode 100644 index 000000000..cfb5082f1 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha16bit_lsb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6eae92c012ad56c084929e0a2aff7c93091224d9f8ab7f52f71b845792d6b763 +size 470678 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlpha16bit_msb.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha16bit_msb.tiff new file mode 100644 index 000000000..5cd4d9c45 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha16bit_msb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cbab54f221956215266c35bfd26fdfb123e092e3836e2401b9f24e1c5b23516e +size 470678 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlpha24bit_lsb.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha24bit_lsb.tiff new file mode 100644 index 000000000..c0f54d865 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha24bit_lsb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd9fa514619604275cede0b4747291db2f8e5ad02095565c891ace2b537d6336 +size 705878 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlpha24bit_msb.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha24bit_msb.tiff new file mode 100644 index 000000000..33f7bee0f --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha24bit_msb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:915ca9bbda952fc9ac78b44be07dab603948d51fb1a274935905e73cfe5bb0b9 +size 705878 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlpha2bit.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha2bit.tiff new file mode 100644 index 000000000..cfbc05832 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha2bit.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f650c49faed4fd19b5527a0771489110090948e4ed33daa53b42c1776e288d89 +size 59078 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlpha32bit_lsb.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha32bit_lsb.tiff new file mode 100644 index 000000000..0e11ef26c --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha32bit_lsb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8cad4c5f42d77539ce1f67efa7e0ed1fa4f5dd32b3269e5862453d878c6b18d7 +size 941078 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlpha32bit_msb.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha32bit_msb.tiff new file mode 100644 index 000000000..cfb8beb2b --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha32bit_msb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8874322776b8620573c26a3c84b8c7c9bf0aeaa7d68a7fef009f8838d14dca5b +size 941078 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlpha3bit.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha3bit.tiff new file mode 100644 index 000000000..aed59c331 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha3bit.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0d89ddcda8525799b90c1cb4a15f3ea1cf399c2259017f219b1d09876161587 +size 88478 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlpha4bit.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha4bit.tiff new file mode 100644 index 000000000..7176c382f --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha4bit.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:be006e56c2c2f34686293e8a5f4397a7bf873ff927d4dd0808cac90310569254 +size 117878 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlpha5bit.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha5bit.tiff new file mode 100644 index 000000000..aad945b8e --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha5bit.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2928f06ef146625f5c696272901a63644699e3410dc155b7e4e470009a7f6dfc +size 147278 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlpha6bit.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha6bit.tiff new file mode 100644 index 000000000..9909afe71 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha6bit.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:514ce84d3506aab7360b24f63aa1da1ea66abd9b1e534a12487d03486a7e593b +size 176678 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlpha8bit.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha8bit.tiff new file mode 100644 index 000000000..47270d98d --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlpha8bit.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:234401d70156cc748a67992919f8780bb855bc5e87e404b573f61b5eb4817dcf +size 266816 diff --git a/tests/Images/Input/Tiff/flower-rgb-3bit.tiff b/tests/Images/Input/Tiff/flower-rgb-3bit.tiff new file mode 100644 index 000000000..db5f7916c --- /dev/null +++ b/tests/Images/Input/Tiff/flower-rgb-3bit.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b778a97467b1475c47c71b5f029c23b0962309095b8702cfc81c8fbaf4b8edb +size 3886 diff --git a/tests/Images/Input/Tiff/flower-rgb-5bit.tiff b/tests/Images/Input/Tiff/flower-rgb-5bit.tiff new file mode 100644 index 000000000..af1bc3921 --- /dev/null +++ b/tests/Images/Input/Tiff/flower-rgb-5bit.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:44a53ffce2bfd3f1010a1fe232c8010708458880230f11b75ea3ef16b5164ce1 +size 6208 diff --git a/tests/Images/Input/Tiff/flower-rgb-6bit.tiff b/tests/Images/Input/Tiff/flower-rgb-6bit.tiff new file mode 100644 index 000000000..b0399487d --- /dev/null +++ b/tests/Images/Input/Tiff/flower-rgb-6bit.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3d1db5b448aa9d61dd38dfb86e91e04fd0779a9c68cc2073913bcee3c635b5fe +size 7412 From 0d61e508604c66611f876f7a8d3f2ef7412cd9a0 Mon Sep 17 00:00:00 2001 From: Ynse Hoornenborg Date: Sun, 6 Mar 2022 13:40:04 +0100 Subject: [PATCH 140/244] AVX conversions for Luminance and Rgb --- .../LuminanceForwardConverter{TPixel}.cs | 43 ++++++++++++ .../Encoder/RgbForwardConverter{TPixel}.cs | 55 ++++++++++++++- .../Encoder/RgbToYCbCrConverterVectorized.cs | 4 +- .../Codecs/Jpeg/EncodeJpeg.cs | 67 +++++++++++++------ 4 files changed, 145 insertions(+), 24 deletions(-) diff --git a/src/ImageSharp/Formats/Jpeg/Components/Encoder/LuminanceForwardConverter{TPixel}.cs b/src/ImageSharp/Formats/Jpeg/Components/Encoder/LuminanceForwardConverter{TPixel}.cs index 6c402fcfd..d370ef208 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Encoder/LuminanceForwardConverter{TPixel}.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Encoder/LuminanceForwardConverter{TPixel}.cs @@ -2,8 +2,13 @@ // Licensed under the Apache License, Version 2.0. using System; +using System.Diagnostics; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; +#if SUPPORTS_RUNTIME_INTRINSICS +using System.Runtime.Intrinsics; +using System.Runtime.Intrinsics.X86; +#endif using SixLabors.ImageSharp.Advanced; using SixLabors.ImageSharp.PixelFormats; @@ -74,6 +79,44 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Encoder ref Block8x8F yBlock = ref this.Y; ref L8 l8Start = ref MemoryMarshal.GetReference(this.l8Span); + if (RgbToYCbCrConverterVectorized.IsSupported) + { + ConvertAvx(ref l8Start, ref yBlock); + } + else + { + ConvertScalar(ref l8Start, ref yBlock); + } + } + + /// + /// Converts 8x8 L8 pixel matrix to 8x8 Block of floats using Avx2 Intrinsics. + /// + /// Start of span of L8 pixels with size of 64 + /// 8x8 destination matrix of Luminance(Y) converted data + private static void ConvertAvx(ref L8 l8Start, ref Block8x8F yBlock) + { + Debug.Assert(RgbToYCbCrConverterVectorized.IsSupported, "AVX2 is required to run this converter"); + +#if SUPPORTS_RUNTIME_INTRINSICS + ref Vector128 l8ByteSpan = ref Unsafe.As>(ref l8Start); + ref Vector256 destRef = ref yBlock.V0; + + const int bytesPerL8Stride = 8; + for (int i = 0; i < 8; i++) + { + Unsafe.Add(ref destRef, i) = Avx2.ConvertToVector256Single(Avx2.ConvertToVector256Int32(Unsafe.AddByteOffset(ref l8ByteSpan, (IntPtr)(bytesPerL8Stride * i)))); + } +#endif + } + + /// + /// Converts 8x8 L8 pixel matrix to 8x8 Block of floats. + /// + /// Start of span of L8 pixels with size of 64 + /// 8x8 destination matrix of Luminance(Y) converted data + private static void ConvertScalar(ref L8 l8Start, ref Block8x8F yBlock) + { for (int i = 0; i < Block8x8F.Size; i++) { ref L8 c = ref Unsafe.Add(ref l8Start, i); diff --git a/src/ImageSharp/Formats/Jpeg/Components/Encoder/RgbForwardConverter{TPixel}.cs b/src/ImageSharp/Formats/Jpeg/Components/Encoder/RgbForwardConverter{TPixel}.cs index 789277d7d..204ab572f 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Encoder/RgbForwardConverter{TPixel}.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Encoder/RgbForwardConverter{TPixel}.cs @@ -2,8 +2,13 @@ // Licensed under the Apache License, Version 2.0. using System; +using System.Diagnostics; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; +#if SUPPORTS_RUNTIME_INTRINSICS +using System.Runtime.Intrinsics; +using System.Runtime.Intrinsics.X86; +#endif using SixLabors.ImageSharp.Advanced; using SixLabors.ImageSharp.PixelFormats; @@ -94,10 +99,56 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Encoder ref Block8x8F greenBlock = ref this.G; ref Block8x8F blueBlock = ref this.B; - CopyToBlock(this.rgbSpan, ref redBlock, ref greenBlock, ref blueBlock); + if (RgbToYCbCrConverterVectorized.IsSupported) + { + ConvertAvx(this.rgbSpan, ref redBlock, ref greenBlock, ref blueBlock); + } + else + { + ConvertScalar(this.rgbSpan, ref redBlock, ref greenBlock, ref blueBlock); + } + } + + /// + /// Converts 8x8 RGB24 pixel matrix to 8x8 Block of floats using Avx2 Intrinsics. + /// + /// Span of Rgb24 pixels with size of 64 + /// 8x8 destination matrix of Red converted data + /// 8x8 destination matrix of Blue converted data + /// 8x8 destination matrix of Green converted data + private static void ConvertAvx(Span rgbSpan, ref Block8x8F rBlock, ref Block8x8F gBlock, ref Block8x8F bBlock) + { + Debug.Assert(RgbToYCbCrConverterVectorized.IsSupported, "AVX2 is required to run this converter"); + +#if SUPPORTS_RUNTIME_INTRINSICS + ref Vector256 rgbByteSpan = ref Unsafe.As>(ref MemoryMarshal.GetReference(rgbSpan)); + ref Vector256 redRef = ref rBlock.V0; + ref Vector256 greenRef = ref gBlock.V0; + ref Vector256 blueRef = ref bBlock.V0; + var zero = Vector256.Create(0).AsByte(); + + var extractToLanesMask = Unsafe.As>(ref MemoryMarshal.GetReference(RgbToYCbCrConverterVectorized.MoveFirst24BytesToSeparateLanes)); + var extractRgbMask = Unsafe.As>(ref MemoryMarshal.GetReference(RgbToYCbCrConverterVectorized.ExtractRgb)); + Vector256 rgb, rg, bx; + + const int bytesPerRgbStride = 24; + for (int i = 0; i < 8; i++) + { + rgb = Avx2.PermuteVar8x32(Unsafe.AddByteOffset(ref rgbByteSpan, (IntPtr)(bytesPerRgbStride * i)).AsUInt32(), extractToLanesMask).AsByte(); + + rgb = Avx2.Shuffle(rgb, extractRgbMask); + + rg = Avx2.UnpackLow(rgb, zero); + bx = Avx2.UnpackHigh(rgb, zero); + + Unsafe.Add(ref redRef, i) = Avx.ConvertToVector256Single(Avx2.UnpackLow(rg, zero).AsInt32()); + Unsafe.Add(ref greenRef, i) = Avx.ConvertToVector256Single(Avx2.UnpackHigh(rg, zero).AsInt32()); + Unsafe.Add(ref blueRef, i) = Avx.ConvertToVector256Single(Avx2.UnpackLow(bx, zero).AsInt32()); + } +#endif } - private static void CopyToBlock(Span rgbSpan, ref Block8x8F redBlock, ref Block8x8F greenBlock, ref Block8x8F blueBlock) + private static void ConvertScalar(Span rgbSpan, ref Block8x8F redBlock, ref Block8x8F greenBlock, ref Block8x8F blueBlock) { ref Rgb24 rgbStart = ref MemoryMarshal.GetReference(rgbSpan); diff --git a/src/ImageSharp/Formats/Jpeg/Components/Encoder/RgbToYCbCrConverterVectorized.cs b/src/ImageSharp/Formats/Jpeg/Components/Encoder/RgbToYCbCrConverterVectorized.cs index 9566ee862..d7542d7a5 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Encoder/RgbToYCbCrConverterVectorized.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Encoder/RgbToYCbCrConverterVectorized.cs @@ -60,13 +60,13 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Encoder #if SUPPORTS_RUNTIME_INTRINSICS - private static ReadOnlySpan MoveFirst24BytesToSeparateLanes => new byte[] + internal static ReadOnlySpan MoveFirst24BytesToSeparateLanes => new byte[] { 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 5, 0, 0, 0, 7, 0, 0, 0 }; - private static ReadOnlySpan ExtractRgb => new byte[] + internal static ReadOnlySpan ExtractRgb => new byte[] { 0, 3, 6, 9, 1, 4, 7, 10, 2, 5, 8, 11, 0xFF, 0xFF, 0xFF, 0xFF, 0, 3, 6, 9, 1, 4, 7, 10, 2, 5, 8, 11, 0xFF, 0xFF, 0xFF, 0xFF diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpeg.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpeg.cs index 0e9bed1d9..d3ead46d4 100644 --- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpeg.cs +++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpeg.cs @@ -26,8 +26,11 @@ namespace SixLabors.ImageSharp.Benchmarks.Codecs.Jpeg // ImageSharp private Image bmpCore; + private Image bmpLuminance; + private JpegEncoder encoder400; private JpegEncoder encoder420; private JpegEncoder encoder444; + private JpegEncoder encoderRgb; private MemoryStream destinationStream; @@ -40,8 +43,11 @@ namespace SixLabors.ImageSharp.Benchmarks.Codecs.Jpeg this.bmpCore = Image.Load(this.bmpStream); this.bmpCore.Metadata.ExifProfile = null; + this.bmpLuminance = this.bmpCore.CloneAs(); + this.encoder400 = new JpegEncoder { Quality = this.Quality, ColorType = JpegColorType.Luminance }; this.encoder420 = new JpegEncoder { Quality = this.Quality, ColorType = JpegColorType.YCbCrRatio420 }; this.encoder444 = new JpegEncoder { Quality = this.Quality, ColorType = JpegColorType.YCbCrRatio444 }; + this.encoderRgb = new JpegEncoder { Quality = this.Quality, ColorType = JpegColorType.Rgb }; this.bmpStream.Position = 0; this.bmpDrawing = SDImage.FromStream(this.bmpStream); @@ -79,6 +85,14 @@ namespace SixLabors.ImageSharp.Benchmarks.Codecs.Jpeg this.destinationStream.Seek(0, SeekOrigin.Begin); } + [Benchmark(Description = "ImageSharp (greyscale) Jpeg 4:0:0")] + public void JpegCore400() + { + this.bmpLuminance.SaveAsJpeg(this.destinationStream, this.encoder400); + this.destinationStream.Seek(0, SeekOrigin.Begin); + } + + [Benchmark(Description = "ImageSharp Jpeg 4:2:0")] public void JpegCore420() { @@ -93,6 +107,13 @@ namespace SixLabors.ImageSharp.Benchmarks.Codecs.Jpeg this.destinationStream.Seek(0, SeekOrigin.Begin); } + [Benchmark(Description = "ImageSharp Jpeg rgb")] + public void JpegRgb() + { + this.bmpCore.SaveAsJpeg(this.destinationStream, this.encoderRgb); + this.destinationStream.Seek(0, SeekOrigin.Begin); + } + // https://docs.microsoft.com/en-us/dotnet/api/system.drawing.imaging.encoderparameter?redirectedfrom=MSDN&view=net-5.0 private static ImageCodecInfo GetEncoder(ImageFormat format) { @@ -111,24 +132,30 @@ namespace SixLabors.ImageSharp.Benchmarks.Codecs.Jpeg } /* -BenchmarkDotNet=v0.13.0, OS=Windows 10.0.19042 -Intel Core i7-6700K CPU 4.00GHz (Skylake), 1 CPU, 8 logical and 4 physical cores -.NET SDK=6.0.100-preview.3.21202.5 - [Host] : .NET Core 3.1.18 (CoreCLR 4.700.21.35901, CoreFX 4.700.21.36305), X64 RyuJIT - DefaultJob : .NET Core 3.1.18 (CoreCLR 4.700.21.35901, CoreFX 4.700.21.36305), X64 RyuJIT - - -| Method | Quality | Mean | Error | StdDev | Ratio | -|---------------------------- |-------- |---------:|---------:|---------:|------:| -| 'System.Drawing Jpeg 4:2:0' | 75 | 30.04 ms | 0.540 ms | 0.479 ms | 1.00 | -| 'ImageSharp Jpeg 4:2:0' | 75 | 19.32 ms | 0.290 ms | 0.257 ms | 0.64 | -| 'ImageSharp Jpeg 4:4:4' | 75 | 26.76 ms | 0.332 ms | 0.294 ms | 0.89 | -| | | | | | | -| 'System.Drawing Jpeg 4:2:0' | 90 | 32.82 ms | 0.184 ms | 0.163 ms | 1.00 | -| 'ImageSharp Jpeg 4:2:0' | 90 | 25.00 ms | 0.408 ms | 0.361 ms | 0.76 | -| 'ImageSharp Jpeg 4:4:4' | 90 | 31.83 ms | 0.636 ms | 0.595 ms | 0.97 | -| | | | | | | -| 'System.Drawing Jpeg 4:2:0' | 100 | 39.30 ms | 0.359 ms | 0.318 ms | 1.00 | -| 'ImageSharp Jpeg 4:2:0' | 100 | 34.49 ms | 0.265 ms | 0.235 ms | 0.88 | -| 'ImageSharp Jpeg 4:4:4' | 100 | 56.40 ms | 0.565 ms | 0.501 ms | 1.44 | +BenchmarkDotNet=v0.13.0, OS=linuxmint 20.3 +AMD Ryzen 7 5800X, 1 CPU, 16 logical and 8 physical cores +.NET SDK=6.0.200 + [Host] : .NET Core 3.1.22 (CoreCLR 4.700.21.56803, CoreFX 4.700.21.57101), X64 RyuJIT + DefaultJob : .NET Core 3.1.22 (CoreCLR 4.700.21.56803, CoreFX 4.700.21.57101), X64 RyuJIT + + +| Method | Quality | Mean | Error | StdDev | Ratio | RatioSD | +|------------------------------------ |-------- |----------:|----------:|----------:|------:|--------:| +| 'System.Drawing Jpeg 4:2:0' | 75 | 9.157 ms | 0.0138 ms | 0.0123 ms | 1.00 | 0.00 | +| 'ImageSharp (greyscale) Jpeg 4:0:0' | 75 | 12.142 ms | 0.1321 ms | 0.1236 ms | 1.33 | 0.01 | +| 'ImageSharp Jpeg 4:2:0' | 75 | 19.655 ms | 0.1057 ms | 0.0883 ms | 2.15 | 0.01 | +| 'ImageSharp Jpeg 4:4:4' | 75 | 19.157 ms | 0.2852 ms | 0.2668 ms | 2.09 | 0.03 | +| 'ImageSharp Jpeg rgb' | 75 | 26.404 ms | 0.3803 ms | 0.3557 ms | 2.89 | 0.04 | +| | | | | | | | +| 'System.Drawing Jpeg 4:2:0' | 90 | 10.828 ms | 0.0727 ms | 0.0680 ms | 1.00 | 0.00 | +| 'ImageSharp (greyscale) Jpeg 4:0:0' | 90 | 14.918 ms | 0.1089 ms | 0.1019 ms | 1.38 | 0.01 | +| 'ImageSharp Jpeg 4:2:0' | 90 | 23.718 ms | 0.0301 ms | 0.0267 ms | 2.19 | 0.02 | +| 'ImageSharp Jpeg 4:4:4' | 90 | 23.857 ms | 0.2387 ms | 0.2233 ms | 2.20 | 0.03 | +| 'ImageSharp Jpeg rgb' | 90 | 34.700 ms | 0.2207 ms | 0.2064 ms | 3.20 | 0.03 | +| | | | | | | | +| 'System.Drawing Jpeg 4:2:0' | 100 | 13.478 ms | 0.0054 ms | 0.0048 ms | 1.00 | 0.00 | +| 'ImageSharp (greyscale) Jpeg 4:0:0' | 100 | 19.446 ms | 0.0803 ms | 0.0751 ms | 1.44 | 0.01 | +| 'ImageSharp Jpeg 4:2:0' | 100 | 30.339 ms | 0.4578 ms | 0.4282 ms | 2.25 | 0.03 | +| 'ImageSharp Jpeg 4:4:4' | 100 | 39.056 ms | 0.1779 ms | 0.1664 ms | 2.90 | 0.01 | +| 'ImageSharp Jpeg rgb' | 100 | 51.828 ms | 0.3336 ms | 0.3121 ms | 3.85 | 0.02 | */ From 418ddd0a08305ac6275d40ad999596a58b2bf00d Mon Sep 17 00:00:00 2001 From: Dmitry Pentin Date: Sun, 6 Mar 2022 23:58:59 +0300 Subject: [PATCH 141/244] Replaced obsolete methods --- tests/ImageSharp.Benchmarks/Config.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/ImageSharp.Benchmarks/Config.cs b/tests/ImageSharp.Benchmarks/Config.cs index 299784821..60d0e7661 100644 --- a/tests/ImageSharp.Benchmarks/Config.cs +++ b/tests/ImageSharp.Benchmarks/Config.cs @@ -34,7 +34,7 @@ namespace SixLabors.ImageSharp.Benchmarks public MultiFramework() => this.AddJob( Job.Default.WithRuntime(ClrRuntime.Net472), Job.Default.WithRuntime(CoreRuntime.Core31), - Job.Default.WithRuntime(CoreRuntime.Core50).With(new Argument[] { new MsBuildArgument("/p:DebugType=portable") })); + Job.Default.WithRuntime(CoreRuntime.Core50).WithArguments(new Argument[] { new MsBuildArgument("/p:DebugType=portable") })); } public class ShortMultiFramework : Config @@ -42,7 +42,7 @@ namespace SixLabors.ImageSharp.Benchmarks public ShortMultiFramework() => this.AddJob( Job.Default.WithRuntime(ClrRuntime.Net472).WithLaunchCount(1).WithWarmupCount(3).WithIterationCount(3), Job.Default.WithRuntime(CoreRuntime.Core31).WithLaunchCount(1).WithWarmupCount(3).WithIterationCount(3), - Job.Default.WithRuntime(CoreRuntime.Core50).WithLaunchCount(1).WithWarmupCount(3).WithIterationCount(3).With(new Argument[] { new MsBuildArgument("/p:DebugType=portable") })); + Job.Default.WithRuntime(CoreRuntime.Core50).WithLaunchCount(1).WithWarmupCount(3).WithIterationCount(3).WithArguments(new Argument[] { new MsBuildArgument("/p:DebugType=portable") })); } public class ShortCore31 : Config From e2bc1af8f40d6219efb31e44836812cd042454e1 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Mon, 7 Mar 2022 13:00:41 +0100 Subject: [PATCH 142/244] Add support for decoding Tiff images with UnassociatedAlphaData and planar configuration --- .../Rgba16PlanarTiffColor{TPixel}.cs | 75 ++++++++++++++++ .../Rgba24PlanarTiffColor{TPixel}.cs | 85 ++++++++++++++++++ .../Rgba32PlanarTiffColor{TPixel}.cs | 74 ++++++++++++++++ .../RgbaPlanarTiffColor{TPixel}.cs | 87 +++++++++++++++++++ .../TiffColorDecoderFactory{TPixel}.cs | 16 ++++ .../TiffColorType.cs | 20 +++++ .../Formats/Tiff/TiffDecoderCore.cs | 15 ++-- .../Formats/Tiff/TiffDecoderOptionsParser.cs | 8 +- .../Formats/Tiff/TiffDecoderTests.cs | 35 +++++++- tests/ImageSharp.Tests/TestImages.cs | 19 ++-- .../RgbaUnassociatedAlphaPlanar16bit_lsb.tiff | 3 + .../RgbaUnassociatedAlphaPlanar16bit_msb.tiff | 3 + .../RgbaUnassociatedAlphaPlanar24bit_lsb.tiff | 3 + .../RgbaUnassociatedAlphaPlanar24bit_msb.tiff | 3 + .../RgbaUnassociatedAlphaPlanar32bit_lsb.tiff | 3 + .../RgbaUnassociatedAlphaPlanar32bit_msb.tiff | 3 + .../Tiff/RgbaUnassociatedAlphaPlanar8bit.tiff | 3 + 17 files changed, 437 insertions(+), 18 deletions(-) create mode 100644 src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16PlanarTiffColor{TPixel}.cs create mode 100644 src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24PlanarTiffColor{TPixel}.cs create mode 100644 src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba32PlanarTiffColor{TPixel}.cs create mode 100644 src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaPlanarTiffColor{TPixel}.cs create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar16bit_lsb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar16bit_msb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar24bit_lsb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar24bit_msb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar32bit_lsb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar32bit_msb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar8bit.tiff diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16PlanarTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16PlanarTiffColor{TPixel}.cs new file mode 100644 index 000000000..705010ce9 --- /dev/null +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16PlanarTiffColor{TPixel}.cs @@ -0,0 +1,75 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System; +using System.Buffers; +using SixLabors.ImageSharp.Formats.Tiff.Utils; +using SixLabors.ImageSharp.Memory; +using SixLabors.ImageSharp.PixelFormats; + +namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation +{ + /// + /// Implements the 'RGB' photometric interpretation with an alpha channel and with 'Planar' layout for each color channel with 16 bit. + /// + internal class Rgba16PlanarTiffColor : TiffBasePlanarColorDecoder + where TPixel : unmanaged, IPixel + { + private readonly bool isBigEndian; + + /// + /// Initializes a new instance of the class. + /// + /// if set to true decodes the pixel data as big endian, otherwise as little endian. + public Rgba16PlanarTiffColor(bool isBigEndian) => this.isBigEndian = isBigEndian; + + /// + public override void Decode(IMemoryOwner[] data, Buffer2D pixels, int left, int top, int width, int height) + { + // Note: due to an issue with netcore 2.1 and default values and unpredictable behavior with those, + // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 + Rgba64 rgba = TiffUtils.Rgba64Default; + var color = default(TPixel); + color.FromVector4(TiffUtils.Vector4Default); + + Span redData = data[0].GetSpan(); + Span greenData = data[1].GetSpan(); + Span blueData = data[2].GetSpan(); + Span alphaData = data[3].GetSpan(); + + int offset = 0; + for (int y = top; y < top + height; y++) + { + Span pixelRow = pixels.DangerousGetRowSpan(y).Slice(left, width); + if (this.isBigEndian) + { + for (int x = 0; x < pixelRow.Length; x++) + { + ulong r = TiffUtils.ConvertToUShortBigEndian(redData.Slice(offset, 2)); + ulong g = TiffUtils.ConvertToUShortBigEndian(greenData.Slice(offset, 2)); + ulong b = TiffUtils.ConvertToUShortBigEndian(blueData.Slice(offset, 2)); + ulong a = TiffUtils.ConvertToUShortBigEndian(alphaData.Slice(offset, 2)); + + offset += 2; + + pixelRow[x] = TiffUtils.ColorFromRgba64(rgba, r, g, b, a, color); + } + } + else + { + for (int x = 0; x < pixelRow.Length; x++) + { + ulong r = TiffUtils.ConvertToUShortLittleEndian(redData.Slice(offset, 2)); + ulong g = TiffUtils.ConvertToUShortLittleEndian(greenData.Slice(offset, 2)); + ulong b = TiffUtils.ConvertToUShortLittleEndian(blueData.Slice(offset, 2)); + ulong a = TiffUtils.ConvertToUShortBigEndian(alphaData.Slice(offset, 2)); + + offset += 2; + + pixelRow[x] = TiffUtils.ColorFromRgba64(rgba, r, g, b, a, color); + } + } + } + } + } +} diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24PlanarTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24PlanarTiffColor{TPixel}.cs new file mode 100644 index 000000000..654074b1b --- /dev/null +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24PlanarTiffColor{TPixel}.cs @@ -0,0 +1,85 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System; +using System.Buffers; +using SixLabors.ImageSharp.Formats.Tiff.Utils; +using SixLabors.ImageSharp.Memory; +using SixLabors.ImageSharp.PixelFormats; + +namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation +{ + /// + /// Implements the 'RGB' photometric interpretation with an alpha channel and with 'Planar' layout for each color channel with 24 bit. + /// + internal class Rgba24PlanarTiffColor : TiffBasePlanarColorDecoder + where TPixel : unmanaged, IPixel + { + private readonly bool isBigEndian; + + /// + /// Initializes a new instance of the class. + /// + /// if set to true decodes the pixel data as big endian, otherwise as little endian. + public Rgba24PlanarTiffColor(bool isBigEndian) => this.isBigEndian = isBigEndian; + + /// + public override void Decode(IMemoryOwner[] data, Buffer2D pixels, int left, int top, int width, int height) + { + // Note: due to an issue with netcore 2.1 and default values and unpredictable behavior with those, + // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 + var color = default(TPixel); + color.FromVector4(TiffUtils.Vector4Default); + byte[] buffer = new byte[4]; + int bufferStartIdx = this.isBigEndian ? 1 : 0; + + Span redData = data[0].GetSpan(); + Span greenData = data[1].GetSpan(); + Span blueData = data[2].GetSpan(); + Span alphaData = data[3].GetSpan(); + Span bufferSpan = buffer.AsSpan(bufferStartIdx); + + int offset = 0; + for (int y = top; y < top + height; y++) + { + Span pixelRow = pixels.DangerousGetRowSpan(y).Slice(left, width); + if (this.isBigEndian) + { + for (int x = 0; x < pixelRow.Length; x++) + { + redData.Slice(offset, 3).CopyTo(bufferSpan); + ulong r = TiffUtils.ConvertToUIntBigEndian(buffer); + greenData.Slice(offset, 3).CopyTo(bufferSpan); + ulong g = TiffUtils.ConvertToUIntBigEndian(buffer); + blueData.Slice(offset, 3).CopyTo(bufferSpan); + ulong b = TiffUtils.ConvertToUIntBigEndian(buffer); + alphaData.Slice(offset, 3).CopyTo(bufferSpan); + ulong a = TiffUtils.ConvertToUIntBigEndian(buffer); + + offset += 3; + + pixelRow[x] = TiffUtils.ColorScaleTo32Bit(r, g, b, a, color); + } + } + else + { + for (int x = 0; x < pixelRow.Length; x++) + { + redData.Slice(offset, 3).CopyTo(bufferSpan); + ulong r = TiffUtils.ConvertToUIntLittleEndian(buffer); + greenData.Slice(offset, 3).CopyTo(bufferSpan); + ulong g = TiffUtils.ConvertToUIntLittleEndian(buffer); + blueData.Slice(offset, 3).CopyTo(bufferSpan); + ulong b = TiffUtils.ConvertToUIntLittleEndian(buffer); + alphaData.Slice(offset, 3).CopyTo(bufferSpan); + ulong a = TiffUtils.ConvertToUIntLittleEndian(buffer); + + offset += 3; + + pixelRow[x] = TiffUtils.ColorScaleTo32Bit(r, g, b, a, color); + } + } + } + } + } +} diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba32PlanarTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba32PlanarTiffColor{TPixel}.cs new file mode 100644 index 000000000..e23111159 --- /dev/null +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba32PlanarTiffColor{TPixel}.cs @@ -0,0 +1,74 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System; +using System.Buffers; +using SixLabors.ImageSharp.Formats.Tiff.Utils; +using SixLabors.ImageSharp.Memory; +using SixLabors.ImageSharp.PixelFormats; + +namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation +{ + /// + /// Implements the 'RGB' photometric interpretation with an alpha channel and a 'Planar' layout for each color channel with 32 bit. + /// + internal class Rgba32PlanarTiffColor : TiffBasePlanarColorDecoder + where TPixel : unmanaged, IPixel + { + private readonly bool isBigEndian; + + /// + /// Initializes a new instance of the class. + /// + /// if set to true decodes the pixel data as big endian, otherwise as little endian. + public Rgba32PlanarTiffColor(bool isBigEndian) => this.isBigEndian = isBigEndian; + + /// + public override void Decode(IMemoryOwner[] data, Buffer2D pixels, int left, int top, int width, int height) + { + // Note: due to an issue with netcore 2.1 and default values and unpredictable behavior with those, + // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 + var color = default(TPixel); + color.FromVector4(TiffUtils.Vector4Default); + + Span redData = data[0].GetSpan(); + Span greenData = data[1].GetSpan(); + Span blueData = data[2].GetSpan(); + Span alphaData = data[3].GetSpan(); + + int offset = 0; + for (int y = top; y < top + height; y++) + { + Span pixelRow = pixels.DangerousGetRowSpan(y).Slice(left, width); + if (this.isBigEndian) + { + for (int x = 0; x < pixelRow.Length; x++) + { + ulong r = TiffUtils.ConvertToUIntBigEndian(redData.Slice(offset, 4)); + ulong g = TiffUtils.ConvertToUIntBigEndian(greenData.Slice(offset, 4)); + ulong b = TiffUtils.ConvertToUIntBigEndian(blueData.Slice(offset, 4)); + ulong a = TiffUtils.ConvertToUIntBigEndian(alphaData.Slice(offset, 4)); + + offset += 4; + + pixelRow[x] = TiffUtils.ColorScaleTo32Bit(r, g, b, a, color); + } + } + else + { + for (int x = 0; x < pixelRow.Length; x++) + { + ulong r = TiffUtils.ConvertToUIntLittleEndian(redData.Slice(offset, 4)); + ulong g = TiffUtils.ConvertToUIntLittleEndian(greenData.Slice(offset, 4)); + ulong b = TiffUtils.ConvertToUIntLittleEndian(blueData.Slice(offset, 4)); + ulong a = TiffUtils.ConvertToUIntLittleEndian(alphaData.Slice(offset, 4)); + + offset += 4; + + pixelRow[x] = TiffUtils.ColorScaleTo32Bit(r, g, b, a, color); + } + } + } + } + } +} diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaPlanarTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaPlanarTiffColor{TPixel}.cs new file mode 100644 index 000000000..f2ccf2ec8 --- /dev/null +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaPlanarTiffColor{TPixel}.cs @@ -0,0 +1,87 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System; +using System.Buffers; +using System.Numerics; +using SixLabors.ImageSharp.Formats.Tiff.Utils; +using SixLabors.ImageSharp.Memory; +using SixLabors.ImageSharp.PixelFormats; + +namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation +{ + /// + /// Implements the 'RGB' photometric interpretation with an alpha channel and with 'Planar' layout (for all bit depths). + /// + internal class RgbaPlanarTiffColor : TiffBasePlanarColorDecoder + where TPixel : unmanaged, IPixel + { + private readonly float rFactor; + + private readonly float gFactor; + + private readonly float bFactor; + + private readonly float aFactor; + + private readonly ushort bitsPerSampleR; + + private readonly ushort bitsPerSampleG; + + private readonly ushort bitsPerSampleB; + + private readonly ushort bitsPerSampleA; + + public RgbaPlanarTiffColor(TiffBitsPerSample bitsPerSample) + { + this.bitsPerSampleR = bitsPerSample.Channel0; + this.bitsPerSampleG = bitsPerSample.Channel1; + this.bitsPerSampleB = bitsPerSample.Channel2; + this.bitsPerSampleA = bitsPerSample.Channel3; + + this.rFactor = (1 << this.bitsPerSampleR) - 1.0f; + this.gFactor = (1 << this.bitsPerSampleG) - 1.0f; + this.bFactor = (1 << this.bitsPerSampleB) - 1.0f; + this.aFactor = (1 << this.bitsPerSampleA) - 1.0f; + } + + /// + /// Decodes pixel data using the current photometric interpretation. + /// + /// The buffers to read image data from. + /// The image buffer to write pixels to. + /// The x-coordinate of the left-hand side of the image block. + /// The y-coordinate of the top of the image block. + /// The width of the image block. + /// The height of the image block. + public override void Decode(IMemoryOwner[] data, Buffer2D pixels, int left, int top, int width, int height) + { + var color = default(TPixel); + + var rBitReader = new BitReader(data[0].GetSpan()); + var gBitReader = new BitReader(data[1].GetSpan()); + var bBitReader = new BitReader(data[2].GetSpan()); + var aBitReader = new BitReader(data[3].GetSpan()); + + for (int y = top; y < top + height; y++) + { + Span pixelRow = pixels.DangerousGetRowSpan(y).Slice(left, width); + for (int x = 0; x < pixelRow.Length; x++) + { + float r = rBitReader.ReadBits(this.bitsPerSampleR) / this.rFactor; + float g = gBitReader.ReadBits(this.bitsPerSampleG) / this.gFactor; + float b = bBitReader.ReadBits(this.bitsPerSampleB) / this.bFactor; + float a = aBitReader.ReadBits(this.bitsPerSampleA) / this.aFactor; + + color.FromVector4(new Vector4(r, g, b, a)); + pixelRow[x] = color; + } + + rBitReader.NextRow(); + gBitReader.NextRow(); + bBitReader.NextRow(); + aBitReader.NextRow(); + } + } + } +} diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/TiffColorDecoderFactory{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/TiffColorDecoderFactory{TPixel}.cs index 25ca53431..1c608e303 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/TiffColorDecoderFactory{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/TiffColorDecoderFactory{TPixel}.cs @@ -406,6 +406,10 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation DebugGuard.IsTrue(colorMap == null, "colorMap"); return new RgbPlanarTiffColor(bitsPerSample); + case TiffColorType.Rgba8888Planar: + DebugGuard.IsTrue(colorMap == null, "colorMap"); + return new RgbaPlanarTiffColor(bitsPerSample); + case TiffColorType.YCbCrPlanar: return new YCbCrPlanarTiffColor(referenceBlackAndWhite, ycbcrCoefficients, ycbcrSubSampling); @@ -413,14 +417,26 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation DebugGuard.IsTrue(colorMap == null, "colorMap"); return new Rgb16PlanarTiffColor(byteOrder == ByteOrder.BigEndian); + case TiffColorType.Rgba16161616Planar: + DebugGuard.IsTrue(colorMap == null, "colorMap"); + return new Rgba16PlanarTiffColor(byteOrder == ByteOrder.BigEndian); + case TiffColorType.Rgb242424Planar: DebugGuard.IsTrue(colorMap == null, "colorMap"); return new Rgb24PlanarTiffColor(byteOrder == ByteOrder.BigEndian); + case TiffColorType.Rgba24242424Planar: + DebugGuard.IsTrue(colorMap == null, "colorMap"); + return new Rgba24PlanarTiffColor(byteOrder == ByteOrder.BigEndian); + case TiffColorType.Rgb323232Planar: DebugGuard.IsTrue(colorMap == null, "colorMap"); return new Rgb32PlanarTiffColor(byteOrder == ByteOrder.BigEndian); + case TiffColorType.Rgba32323232Planar: + DebugGuard.IsTrue(colorMap == null, "colorMap"); + return new Rgba32PlanarTiffColor(byteOrder == ByteOrder.BigEndian); + default: throw TiffThrowHelper.InvalidColorType(colorType.ToString()); } diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/TiffColorType.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/TiffColorType.cs index a0a48c2b9..6b39224fb 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/TiffColorType.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/TiffColorType.cs @@ -233,21 +233,41 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation /// Rgb888Planar, + /// + /// RGBA color image with an alpha channel. Planar configuration of data. 8 Bit per color channel. + /// + Rgba8888Planar, + /// /// RGB Full Color. Planar configuration of data. 16 Bit per color channel. /// Rgb161616Planar, + /// + /// RGB Color with an alpha channel. Planar configuration of data. 16 Bit per color channel. + /// + Rgba16161616Planar, + /// /// RGB Full Color. Planar configuration of data. 24 Bit per color channel. /// Rgb242424Planar, + /// + /// RGB Color with an alpha channel. Planar configuration of data. 24 Bit per color channel. + /// + Rgba24242424Planar, + /// /// RGB Full Color. Planar configuration of data. 32 Bit per color channel. /// Rgb323232Planar, + /// + /// RGB Color with an alpha channel. Planar configuration of data. 32 Bit per color channel. + /// + Rgba32323232Planar, + /// /// The pixels are stored in YCbCr format. /// diff --git a/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs b/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs index aaaef0b8a..e5b810738 100644 --- a/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs +++ b/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs @@ -280,12 +280,10 @@ namespace SixLabors.ImageSharp.Formats.Tiff return memory; } - else - { - DebugGuard.IsTrue(array is ulong[], $"Expected {nameof(UInt64)} array."); - span = (ulong[])array; - return null; - } + + DebugGuard.IsTrue(array is ulong[], $"Expected {nameof(UInt64)} array."); + span = (ulong[])array; + return null; } /// @@ -319,8 +317,11 @@ namespace SixLabors.ImageSharp.Formats.Tiff case 2: bitsPerPixel = this.BitsPerSample.Channel2; break; + case 3: + bitsPerPixel = this.BitsPerSample.Channel2; + break; default: - TiffThrowHelper.ThrowNotSupported("More then 3 color channels are not supported"); + TiffThrowHelper.ThrowNotSupported("More then 4 color channels are not supported"); break; } } diff --git a/src/ImageSharp/Formats/Tiff/TiffDecoderOptionsParser.cs b/src/ImageSharp/Formats/Tiff/TiffDecoderOptionsParser.cs index 0f1ffc79f..23bc5f15f 100644 --- a/src/ImageSharp/Formats/Tiff/TiffDecoderOptionsParser.cs +++ b/src/ImageSharp/Formats/Tiff/TiffDecoderOptionsParser.cs @@ -339,16 +339,16 @@ namespace SixLabors.ImageSharp.Formats.Tiff switch (bitsPerChannel) { case 32: - options.ColorType = TiffColorType.Rgb323232Planar; + options.ColorType = options.BitsPerSample.Channels is 3 ? TiffColorType.Rgb323232Planar : TiffColorType.Rgba32323232Planar; break; case 24: - options.ColorType = TiffColorType.Rgb242424Planar; + options.ColorType = options.BitsPerSample.Channels is 3 ? TiffColorType.Rgb242424Planar : TiffColorType.Rgba24242424Planar; break; case 16: - options.ColorType = TiffColorType.Rgb161616Planar; + options.ColorType = options.BitsPerSample.Channels is 3 ? TiffColorType.Rgb161616Planar : TiffColorType.Rgba16161616Planar; break; default: - options.ColorType = TiffColorType.Rgb888Planar; + options.ColorType = options.BitsPerSample.Channels is 3 ? TiffColorType.Rgb888Planar : TiffColorType.Rgba8888Planar; break; } } diff --git a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs index de8ae8e72..18e39d44a 100644 --- a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs @@ -78,9 +78,42 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff [Theory] [WithFile(FlowerRgb888Planar6Strips, PixelTypes.Rgba32)] [WithFile(FlowerRgb888Planar15Strips, PixelTypes.Rgba32)] - public void TiffDecoder_Planar(TestImageProvider provider) + public void TiffDecoder_CanDecode_Planar(TestImageProvider provider) where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + [Theory] + [WithFile(Rgba8BitPlanarUnassociatedAlpha, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_Planar_32Bit(TestImageProvider provider) + where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + + [Theory] + [WithFile(Rgba16BitPlanarUnassociatedAlphaLittleEndian, PixelTypes.Rgba32)] + [WithFile(Rgba16BitPlanarUnassociatedAlphaBigEndian, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_Planar_64Bit(TestImageProvider provider) + where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + + [Theory] + [WithFile(Rgba24BitPlanarUnassociatedAlphaLittleEndian, PixelTypes.Rgba32)] + [WithFile(Rgba24BitPlanarUnassociatedAlphaBigEndian, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_Planar_96Bit(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + // Note: because the MagickReferenceDecoder fails to load the image, we only debug save them. + using Image image = provider.GetImage(); + image.DebugSave(provider); + } + + [Theory] + [WithFile(Rgba32BitPlanarUnassociatedAlphaLittleEndian, PixelTypes.Rgba32)] + [WithFile(Rgba32BitPlanarUnassociatedAlphaBigEndian, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_Planar_128Bit(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + // Note: because the MagickReferenceDecoder fails to load the image, we only debug save them. + using Image image = provider.GetImage(); + image.DebugSave(provider); + } + [Theory] [WithFile(Calliphora_PaletteUncompressed, PixelTypes.Rgba32)] [WithFile(PaletteDeflateMultistrip, PixelTypes.Rgba32)] diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index 476d54e83..9d37a0de4 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -865,18 +865,25 @@ namespace SixLabors.ImageSharp.Tests public const string Rgba5BitUnassociatedAlpha = "Tiff/RgbaUnassociatedAlpha5bit.tiff"; public const string Rgba6BitUnassociatedAlpha = "Tiff/RgbaUnassociatedAlpha6bit.tiff"; public const string Rgba8BitUnassociatedAlpha = "Tiff/RgbaUnassociatedAlpha8bit.tiff"; + public const string Rgba8BitPlanarUnassociatedAlpha = "Tiff/RgbaUnassociatedAlphaPlanar8bit.tiff"; public const string Rgba10BitUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlpha10bit_msb.tiff"; - public const string Rgba10BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha10bit_msb.tiff"; + public const string Rgba10BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha10bit_lsb.tiff"; public const string Rgba12BitUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlpha12bit_msb.tiff"; - public const string Rgba12BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha12bit_msb.tiff"; + public const string Rgba12BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha12bit_lsb.tiff"; public const string Rgba14BitUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlpha14bit_msb.tiff"; - public const string Rgba14BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha14bit_msb.tiff"; + public const string Rgba14BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha14bit_lsb.tiff"; public const string Rgba16BitUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlpha16bit_msb.tiff"; - public const string Rgba16BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha16bit_msb.tiff"; + public const string Rgba16BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha16bit_lsb.tiff"; + public const string Rgba16BitPlanarUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlphaPlanar16bit_msb.tiff"; + public const string Rgba16BitPlanarUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlphaPlanar16bit_lsb.tiff"; public const string Rgba24BitUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlpha24bit_msb.tiff"; - public const string Rgba24BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha24bit_msb.tiff"; + public const string Rgba24BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha24bit_lsb.tiff"; + public const string Rgba24BitPlanarUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlphaPlanar24bit_msb.tiff"; + public const string Rgba24BitPlanarUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlphaPlanar24bit_lsb.tiff"; public const string Rgba32BitUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlpha32bit_msb.tiff"; - public const string Rgba32BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha32bit_msb.tiff"; + public const string Rgba32BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha32bit_lsb.tiff"; + public const string Rgba32BitPlanarUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlphaPlanar32bit_msb.tiff"; + public const string Rgba32BitPlanarUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlphaPlanar32bit_lsb.tiff"; public const string Issues1716Rgb161616BitLittleEndian = "Tiff/Issues/Issue1716.tiff"; public const string Issues1891 = "Tiff/Issues/Issue1891.tiff"; diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar16bit_lsb.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar16bit_lsb.tiff new file mode 100644 index 000000000..a24d74c19 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar16bit_lsb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6bc4325ce7be8a16d23c559300c79c3228c2f5a4c266844ba49763a32d29f10e +size 470710 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar16bit_msb.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar16bit_msb.tiff new file mode 100644 index 000000000..b7393cb22 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar16bit_msb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08f8c284f7a9a6f362c09a418d85a94a1fe09bfc3f4cfe6859a82d6814718091 +size 470710 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar24bit_lsb.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar24bit_lsb.tiff new file mode 100644 index 000000000..fd4171158 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar24bit_lsb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ba4da7d63931f4462113e00bdee9e66e333ca42a47a33f62057c248bf4696ef +size 705910 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar24bit_msb.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar24bit_msb.tiff new file mode 100644 index 000000000..7aa6beeaa --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar24bit_msb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:862ec9153cc755aa3ece8965a9d001a630ff756dfb018a9474661730482964cb +size 705910 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar32bit_lsb.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar32bit_lsb.tiff new file mode 100644 index 000000000..fb5dd1dcc --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar32bit_lsb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc4f67dacd3262418769831aeabf99c9a88a9674fabf9a08c8b3d3e47ac6d07a +size 941110 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar32bit_msb.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar32bit_msb.tiff new file mode 100644 index 000000000..6c45e96fa --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar32bit_msb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a98a0176f5db7af5b22c74f4a518c2df1055b5ca7e732f63426b3df8090fc313 +size 941110 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar8bit.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar8bit.tiff new file mode 100644 index 000000000..f853cbc62 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPlanar8bit.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2185ef9a84701bcff104d4f2fe40171ed853e5d02a2049b209ee2a4c65105ea9 +size 235502 From c08545ef82a9560d32ff60e0a8b91f0e7d527f93 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Mon, 7 Mar 2022 13:16:30 +0100 Subject: [PATCH 143/244] Use stackalloc --- .../PhotometricInterpretation/Rgb242424TiffColor{TPixel}.cs | 4 ++-- .../Rgb24PlanarTiffColor{TPixel}.cs | 4 ++-- .../Rgba24242424TiffColor{TPixel}.cs | 4 ++-- .../Rgba24PlanarTiffColor{TPixel}.cs | 4 ++-- src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs | 6 +++--- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb242424TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb242424TiffColor{TPixel}.cs index 985ffeb18..4130ee1a2 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb242424TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb242424TiffColor{TPixel}.cs @@ -30,10 +30,10 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation var color = default(TPixel); color.FromVector4(TiffUtils.Vector4Default); int offset = 0; - byte[] buffer = new byte[4]; + Span buffer = stackalloc byte[4]; int bufferStartIdx = this.isBigEndian ? 1 : 0; - Span bufferSpan = buffer.AsSpan(bufferStartIdx); + Span bufferSpan = buffer.Slice(bufferStartIdx); for (int y = top; y < top + height; y++) { Span pixelRow = pixels.DangerousGetRowSpan(y).Slice(left, width); diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb24PlanarTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb24PlanarTiffColor{TPixel}.cs index ac4435db6..e37fff1e7 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb24PlanarTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb24PlanarTiffColor{TPixel}.cs @@ -30,13 +30,13 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 var color = default(TPixel); color.FromVector4(TiffUtils.Vector4Default); - byte[] buffer = new byte[4]; + Span buffer = stackalloc byte[4]; int bufferStartIdx = this.isBigEndian ? 1 : 0; Span redData = data[0].GetSpan(); Span greenData = data[1].GetSpan(); Span blueData = data[2].GetSpan(); - Span bufferSpan = buffer.AsSpan(bufferStartIdx); + Span bufferSpan = buffer.Slice(bufferStartIdx); int offset = 0; for (int y = top; y < top + height; y++) diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24242424TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24242424TiffColor{TPixel}.cs index 3d88d9fb5..30f1d0f75 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24242424TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24242424TiffColor{TPixel}.cs @@ -30,10 +30,10 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation var color = default(TPixel); color.FromVector4(TiffUtils.Vector4Default); int offset = 0; - byte[] buffer = new byte[4]; + Span buffer = stackalloc byte[4]; int bufferStartIdx = this.isBigEndian ? 1 : 0; - Span bufferSpan = buffer.AsSpan(bufferStartIdx); + Span bufferSpan = buffer.Slice(bufferStartIdx); for (int y = top; y < top + height; y++) { Span pixelRow = pixels.DangerousGetRowSpan(y).Slice(left, width); diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24PlanarTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24PlanarTiffColor{TPixel}.cs index 654074b1b..43b677b77 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24PlanarTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24PlanarTiffColor{TPixel}.cs @@ -30,14 +30,14 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 var color = default(TPixel); color.FromVector4(TiffUtils.Vector4Default); - byte[] buffer = new byte[4]; + Span buffer = stackalloc byte[4]; int bufferStartIdx = this.isBigEndian ? 1 : 0; Span redData = data[0].GetSpan(); Span greenData = data[1].GetSpan(); Span blueData = data[2].GetSpan(); Span alphaData = data[3].GetSpan(); - Span bufferSpan = buffer.AsSpan(bufferStartIdx); + Span bufferSpan = buffer.Slice(bufferStartIdx); int offset = 0; for (int y = top; y < top + height; y++) diff --git a/src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs b/src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs index 6ec905929..fef4bbe2e 100644 --- a/src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs +++ b/src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs @@ -18,11 +18,11 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Utils private const float Scale32Bit = 1.0f / 0xFFFFFFFF; - public static Vector4 Vector4Default { get; } = new Vector4(0.0f, 0.0f, 0.0f, 0.0f); + public static Vector4 Vector4Default { get; } = new(0.0f, 0.0f, 0.0f, 0.0f); - public static Rgba64 Rgba64Default { get; } = new Rgba64(0, 0, 0, 0); + public static Rgba64 Rgba64Default { get; } = new(0, 0, 0, 0); - public static L16 L16Default { get; } = new L16(0); + public static L16 L16Default { get; } = new(0); [MethodImpl(MethodImplOptions.AggressiveInlining)] public static ushort ConvertToUShortBigEndian(ReadOnlySpan buffer) => BinaryPrimitives.ReadUInt16BigEndian(buffer); From 198c1de6febaf4d5df66d3b35f2b6498dc4cf777 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Mon, 7 Mar 2022 17:33:19 +0100 Subject: [PATCH 144/244] Fix issue with 24 bits per channel --- .../Rgba24242424TiffColor{TPixel}.cs | 4 ++-- .../Rgba24PlanarTiffColor{TPixel}.cs | 4 ++-- src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs | 11 ++++++++++- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24242424TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24242424TiffColor{TPixel}.cs index 30f1d0f75..71e1f7abd 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24242424TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24242424TiffColor{TPixel}.cs @@ -58,7 +58,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation ulong a = TiffUtils.ConvertToUIntBigEndian(buffer); offset += 3; - pixelRow[x] = TiffUtils.ColorScaleTo32Bit(r, g, b, a, color); + pixelRow[x] = TiffUtils.ColorScaleTo24Bit(r, g, b, a, color); } } else @@ -81,7 +81,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation ulong a = TiffUtils.ConvertToUIntLittleEndian(buffer); offset += 3; - pixelRow[x] = TiffUtils.ColorScaleTo32Bit(r, g, b, a, color); + pixelRow[x] = TiffUtils.ColorScaleTo24Bit(r, g, b, a, color); } } } diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24PlanarTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24PlanarTiffColor{TPixel}.cs index 43b677b77..03b78c3f8 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24PlanarTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24PlanarTiffColor{TPixel}.cs @@ -58,7 +58,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation offset += 3; - pixelRow[x] = TiffUtils.ColorScaleTo32Bit(r, g, b, a, color); + pixelRow[x] = TiffUtils.ColorScaleTo24Bit(r, g, b, a, color); } } else @@ -76,7 +76,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation offset += 3; - pixelRow[x] = TiffUtils.ColorScaleTo32Bit(r, g, b, a, color); + pixelRow[x] = TiffUtils.ColorScaleTo24Bit(r, g, b, a, color); } } } diff --git a/src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs b/src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs index fef4bbe2e..b7d4b6e7c 100644 --- a/src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs +++ b/src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs @@ -72,6 +72,15 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Utils return color; } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static TPixel ColorScaleTo24Bit(ulong r, ulong g, ulong b, ulong a, TPixel color) + where TPixel : unmanaged, IPixel + { + var colorVector = new Vector4(r * Scale24Bit, g * Scale24Bit, b * Scale24Bit, a * Scale24Bit); + color.FromVector4(colorVector); + return color; + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] public static TPixel ColorScaleTo32Bit(ulong r, ulong g, ulong b, TPixel color) where TPixel : unmanaged, IPixel @@ -85,7 +94,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Utils public static TPixel ColorScaleTo32Bit(ulong r, ulong g, ulong b, ulong a, TPixel color) where TPixel : unmanaged, IPixel { - var colorVector = new Vector4(r * Scale32Bit, g * Scale32Bit, b * Scale32Bit, a); + var colorVector = new Vector4(r * Scale32Bit, g * Scale32Bit, b * Scale32Bit, a * Scale32Bit); color.FromVector4(colorVector); return color; } From 53db07a323badef653ba4eec6f3d45af1fdc07a9 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Mon, 7 Mar 2022 17:40:10 +0100 Subject: [PATCH 145/244] Use pattern matching for magicFrame.Depth --- .../TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs index f0834dc00..5d1b904c0 100644 --- a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs +++ b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs @@ -84,13 +84,13 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.ReferenceCodecs MemoryGroup framePixels = frame.PixelBuffer.FastMemoryGroup; using IUnsafePixelCollection pixels = magicFrame.GetPixelsUnsafe(); - if (magicFrame.Depth == 8 || magicFrame.Depth == 6 || magicFrame.Depth == 4 || magicFrame.Depth == 2 || magicFrame.Depth == 1 || magicFrame.Depth == 10 || magicFrame.Depth == 12) + if (magicFrame.Depth is 8 or 6 or 4 or 2 or 1 or 10 or 12) { byte[] data = pixels.ToByteArray(PixelMapping.RGBA); FromRgba32Bytes(configuration, data, framePixels); } - else if (magicFrame.Depth == 16 || magicFrame.Depth == 14) + else if (magicFrame.Depth is 16 or 14) { ushort[] data = pixels.ToShortArray(PixelMapping.RGBA); Span bytes = MemoryMarshal.Cast(data.AsSpan()); From bd703954dca8534ea5d6e126fcd2b9bfd4df8eb2 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Mon, 7 Mar 2022 17:51:22 +0100 Subject: [PATCH 146/244] Add 5 and 3 to valid magicFrame.Depth --- .../Formats/Tiff/TiffDecoderTests.cs | 28 +++---------------- .../ReferenceCodecs/MagickReferenceDecoder.cs | 2 +- 2 files changed, 5 insertions(+), 25 deletions(-) diff --git a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs index 18e39d44a..5e5e1b778 100644 --- a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs @@ -164,12 +164,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff [Theory] [WithFile(FLowerRgb3Bit, PixelTypes.Rgba32)] public void TiffDecoder_CanDecode_9Bit_WithUnassociatedAlpha(TestImageProvider provider) - where TPixel : unmanaged, IPixel - { - // Note: because the MagickReferenceDecoder fails to load the image, we only debug save them. - using Image image = provider.GetImage(); - image.DebugSave(provider); - } + where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); [Theory] [WithFile(Flower10BitGray, PixelTypes.Rgba32)] @@ -190,12 +185,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff [Theory] [WithFile(Rgba3BitUnassociatedAlpha, PixelTypes.Rgba32)] public void TiffDecoder_CanDecode_12Bit_WithUnassociatedAlpha(TestImageProvider provider) - where TPixel : unmanaged, IPixel - { - // Note: because the MagickReferenceDecoder fails to load the image, we only debug save them. - using Image image = provider.GetImage(); - image.DebugSave(provider); - } + where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); [Theory] [WithFile(Flower14BitGray, PixelTypes.Rgba32)] @@ -205,12 +195,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff [Theory] [WithFile(FLowerRgb5Bit, PixelTypes.Rgba32)] public void TiffDecoder_CanDecode_15Bit(TestImageProvider provider) - where TPixel : unmanaged, IPixel - { - // Note: because the MagickReferenceDecoder fails to load the image, we only debug save them. - using Image image = provider.GetImage(); - image.DebugSave(provider); - } + where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); [Theory] [WithFile(Flower16BitGrayLittleEndian, PixelTypes.Rgba32)] @@ -239,12 +224,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff [Theory] [WithFile(Rgba5BitUnassociatedAlpha, PixelTypes.Rgba32)] public void TiffDecoder_CanDecode_20Bit_WithUnassociatedAlpha(TestImageProvider provider) - where TPixel : unmanaged, IPixel - { - // Note: because the MagickReferenceDecoder fails to load the image, we only debug save them. - using Image image = provider.GetImage(); - image.DebugSave(provider); - } + where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); [Theory] [WithFile(FlowerRgb888Contiguous, PixelTypes.Rgba32)] diff --git a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs index 5d1b904c0..a61261293 100644 --- a/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs +++ b/tests/ImageSharp.Tests/TestUtilities/ReferenceCodecs/MagickReferenceDecoder.cs @@ -84,7 +84,7 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.ReferenceCodecs MemoryGroup framePixels = frame.PixelBuffer.FastMemoryGroup; using IUnsafePixelCollection pixels = magicFrame.GetPixelsUnsafe(); - if (magicFrame.Depth is 8 or 6 or 4 or 2 or 1 or 10 or 12) + if (magicFrame.Depth is 12 or 10 or 8 or 6 or 5 or 4 or 3 or 2 or 1) { byte[] data = pixels.ToByteArray(PixelMapping.RGBA); From d1a7569afac8bf2dbad95aa61c5c5792c9ae299b Mon Sep 17 00:00:00 2001 From: Ynse Hoornenborg Date: Mon, 7 Mar 2022 21:05:46 +0100 Subject: [PATCH 147/244] Rework after review --- .../Components/Encoder/LuminanceForwardConverter{TPixel}.cs | 4 ++-- .../Jpeg/Components/Encoder/RgbForwardConverter{TPixel}.cs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ImageSharp/Formats/Jpeg/Components/Encoder/LuminanceForwardConverter{TPixel}.cs b/src/ImageSharp/Formats/Jpeg/Components/Encoder/LuminanceForwardConverter{TPixel}.cs index d370ef208..e87f2fc57 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Encoder/LuminanceForwardConverter{TPixel}.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Encoder/LuminanceForwardConverter{TPixel}.cs @@ -103,9 +103,9 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Encoder ref Vector256 destRef = ref yBlock.V0; const int bytesPerL8Stride = 8; - for (int i = 0; i < 8; i++) + for (nint i = 0; i < 8; i++) { - Unsafe.Add(ref destRef, i) = Avx2.ConvertToVector256Single(Avx2.ConvertToVector256Int32(Unsafe.AddByteOffset(ref l8ByteSpan, (IntPtr)(bytesPerL8Stride * i)))); + Unsafe.Add(ref destRef, i) = Avx2.ConvertToVector256Single(Avx2.ConvertToVector256Int32(Unsafe.AddByteOffset(ref l8ByteSpan, bytesPerL8Stride * i))); } #endif } diff --git a/src/ImageSharp/Formats/Jpeg/Components/Encoder/RgbForwardConverter{TPixel}.cs b/src/ImageSharp/Formats/Jpeg/Components/Encoder/RgbForwardConverter{TPixel}.cs index 204ab572f..e2d12916c 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Encoder/RgbForwardConverter{TPixel}.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Encoder/RgbForwardConverter{TPixel}.cs @@ -132,9 +132,9 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Encoder Vector256 rgb, rg, bx; const int bytesPerRgbStride = 24; - for (int i = 0; i < 8; i++) + for (nint i = 0; i < 8; i++) { - rgb = Avx2.PermuteVar8x32(Unsafe.AddByteOffset(ref rgbByteSpan, (IntPtr)(bytesPerRgbStride * i)).AsUInt32(), extractToLanesMask).AsByte(); + rgb = Avx2.PermuteVar8x32(Unsafe.AddByteOffset(ref rgbByteSpan, bytesPerRgbStride * i).AsUInt32(), extractToLanesMask).AsByte(); rgb = Avx2.Shuffle(rgb, extractRgbMask); From 3ec64aec3fec748f08b2dcf3e590eb8bf0c2bf7d Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Tue, 8 Mar 2022 10:51:07 +1100 Subject: [PATCH 148/244] Update readme [skip ci] --- .github/ISSUE_TEMPLATE/config.yml | 2 +- README.md | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 62a8bf2b4..ec9258883 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,5 +1,5 @@ blank_issues_enabled: false contact_links: - name: Feature Request - url: https://github.com/SixLabors/ImageSharp/discussions?discussions_q=category%3AIdeas + url: https://github.com/SixLabors/ImageSharp/discussions/categories/ideas about: Share ideas for new features for this project. diff --git a/README.md b/README.md index 2492041db..5403884ee 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Built against [.NET Standard 2.0](https://docs.microsoft.com/en-us/dotnet/standa ## License - ImageSharp is licensed under the [Apache License, Version 2.0](https://opensource.org/licenses/Apache-2.0) -- An alternative Commercial Support License can be purchased **for projects and applications requiring support**. +- An alternative Six Labors License can be purchased **for projects and applications requiring developer support**. Please visit https://sixlabors.com/pricing for details. ## Support Six Labors @@ -43,7 +43,8 @@ Support the efforts of the development of the Six Labors projects. ## Questions -- Do you have questions? We are happy to help! Please [join our Discussions Forum](https://github.com/SixLabors/ImageSharp/discussions/category_choices), or ask them on [Stack Overflow](https://stackoverflow.com) using the `ImageSharp` tag. Please do not open issues for questions. +- Do you have questions? We are happy to help! Simply purchase [Six Labors License](https://sixlabors.com/pricing) for developer support. Please do not open issues for questions or misuse our [Discussions Forum](https://github.com/SixLabors/ImageSharp/discussions). +- For feature ideas please [join our Discussions Forum](https://github.com/SixLabors/ImageSharp/discussions/categories/ideas) and we'll be happy to discuss. - Please read our [Contribution Guide](https://github.com/SixLabors/ImageSharp/blob/main/.github/CONTRIBUTING.md) before opening issues or pull requests! ## Code of Conduct From 28427e789183fa0982c4efbac10ae0d71074cabe Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Tue, 8 Mar 2022 10:51:58 +1100 Subject: [PATCH 149/244] Fix typo [skip ci] --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5403884ee..6c669fb78 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ Support the efforts of the development of the Six Labors projects. ## Questions -- Do you have questions? We are happy to help! Simply purchase [Six Labors License](https://sixlabors.com/pricing) for developer support. Please do not open issues for questions or misuse our [Discussions Forum](https://github.com/SixLabors/ImageSharp/discussions). +- Do you have questions? We are happy to help! Simply purchase a [Six Labors License](https://sixlabors.com/pricing) for developer support. Please do not open issues for questions or misuse our [Discussions Forum](https://github.com/SixLabors/ImageSharp/discussions). - For feature ideas please [join our Discussions Forum](https://github.com/SixLabors/ImageSharp/discussions/categories/ideas) and we'll be happy to discuss. - Please read our [Contribution Guide](https://github.com/SixLabors/ImageSharp/blob/main/.github/CONTRIBUTING.md) before opening issues or pull requests! From aaac6d40736b98fdf8bc67513446bb9f9538f1bd Mon Sep 17 00:00:00 2001 From: Dmitry Pentin Date: Tue, 8 Mar 2022 11:21:18 +0300 Subject: [PATCH 150/244] Removed obsolete benchmark --- .../Codecs/Jpeg/EncodeJpegMultiple.cs | 34 ------------------- 1 file changed, 34 deletions(-) delete mode 100644 tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpegMultiple.cs diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpegMultiple.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpegMultiple.cs deleted file mode 100644 index 71276597a..000000000 --- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpegMultiple.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) Six Labors. -// Licensed under the Apache License, Version 2.0. - -using System.Collections.Generic; -using System.Drawing.Imaging; -using BenchmarkDotNet.Attributes; -using SixLabors.ImageSharp.Formats.Jpeg; - -namespace SixLabors.ImageSharp.Benchmarks.Codecs.Jpeg -{ - [Config(typeof(Config.ShortMultiFramework))] - public class EncodeJpegMultiple : MultiImageBenchmarkBase.WithImagesPreloaded - { - protected override IEnumerable InputImageSubfoldersOrFiles => new[] { "Bmp/", "Jpg/baseline" }; - - protected override IEnumerable SearchPatterns => new[] { "*.bmp", "*.jpg" }; - - [Benchmark(Description = "EncodeJpegMultiple - ImageSharp")] - public void EncodeJpegImageSharp() - => this.ForEachImageSharpImage((img, ms) => - { - img.Save(ms, new JpegEncoder()); - return null; - }); - - [Benchmark(Baseline = true, Description = "EncodeJpegMultiple - System.Drawing")] - public void EncodeJpegSystemDrawing() - => this.ForEachSystemDrawingImage((img, ms) => - { - img.Save(ms, ImageFormat.Jpeg); - return null; - }); - } -} From 053c1311551d5fa250cd7b2cf8ea76a4f22e3380 Mon Sep 17 00:00:00 2001 From: Dmitry Pentin Date: Tue, 8 Mar 2022 11:45:54 +0300 Subject: [PATCH 151/244] Added ImageSharp-only jpeg encoding benchmark --- .../Codecs/Jpeg/EncodeJpegFeatures.cs | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpegFeatures.cs diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpegFeatures.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpegFeatures.cs new file mode 100644 index 000000000..83fb556d5 --- /dev/null +++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpegFeatures.cs @@ -0,0 +1,89 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System.Collections.Generic; +using System.IO; +using BenchmarkDotNet.Attributes; +using SixLabors.ImageSharp.Formats.Jpeg; +using SixLabors.ImageSharp.PixelFormats; +using SixLabors.ImageSharp.Tests; + +namespace SixLabors.ImageSharp.Benchmarks.Codecs.Jpeg +{ + /// + /// Benchmark for all available encoding features of the Jpeg file type. + /// + /// + /// This benchmark does NOT compare ImageSharp to any other jpeg codecs. + /// + public class EncodeJpegFeatures + { + // Big enough, 4:4:4 chroma sampling + // No metadata + private const string TestImage = TestImages.Jpeg.Baseline.Calliphora; + + public static IEnumerable ColorSpaceValues => + new[] { JpegColorType.Luminance, JpegColorType.Rgb, JpegColorType.YCbCrRatio420, JpegColorType.YCbCrRatio444 }; + + [Params(75, 90, 100)] + public int Quality; + + [ParamsSource(nameof(ColorSpaceValues), Priority = -100)] + public JpegColorType TargetColorSpace; + + private Image bmpCore; + private JpegEncoder encoder; + + private MemoryStream destinationStream; + + [GlobalSetup] + public void Setup() + { + using FileStream imageBinaryStream = File.OpenRead(Path.Combine(TestEnvironment.InputImagesDirectoryFullPath, TestImage)); + this.bmpCore = Image.Load(imageBinaryStream); + this.encoder = new JpegEncoder { Quality = this.Quality, ColorType = this.TargetColorSpace }; + this.destinationStream = new MemoryStream(); + } + + [GlobalCleanup] + public void Cleanup() + { + this.bmpCore.Dispose(); + this.bmpCore = null; + + this.destinationStream.Dispose(); + this.destinationStream = null; + } + + [Benchmark] + public void Benchmark() + { + this.bmpCore.SaveAsJpeg(this.destinationStream, this.encoder); + this.destinationStream.Seek(0, SeekOrigin.Begin); + } + } +} + +/* +BenchmarkDotNet=v0.13.0, OS=Windows 10.0.19044 +Intel Core i7-6700K CPU 4.00GHz (Skylake), 1 CPU, 8 logical and 4 physical cores +.NET SDK=6.0.100-preview.3.21202.5 + [Host] : .NET Core 3.1.21 (CoreCLR 4.700.21.51404, CoreFX 4.700.21.51508), X64 RyuJIT + DefaultJob : .NET Core 3.1.21 (CoreCLR 4.700.21.51404, CoreFX 4.700.21.51508), X64 RyuJIT + + +| Method | TargetColorSpace | Quality | Mean | Error | StdDev | +|---------- |----------------- |-------- |----------:|----------:|----------:| +| Benchmark | Luminance | 75 | 7.055 ms | 0.1411 ms | 0.3297 ms | +| Benchmark | Rgb | 75 | 12.139 ms | 0.0645 ms | 0.0538 ms | +| Benchmark | YCbCrRatio420 | 75 | 6.463 ms | 0.0282 ms | 0.0235 ms | +| Benchmark | YCbCrRatio444 | 75 | 8.616 ms | 0.0422 ms | 0.0374 ms | +| Benchmark | Luminance | 90 | 7.011 ms | 0.0361 ms | 0.0301 ms | +| Benchmark | Rgb | 90 | 13.119 ms | 0.0947 ms | 0.0886 ms | +| Benchmark | YCbCrRatio420 | 90 | 6.786 ms | 0.0328 ms | 0.0274 ms | +| Benchmark | YCbCrRatio444 | 90 | 8.672 ms | 0.0772 ms | 0.0722 ms | +| Benchmark | Luminance | 100 | 9.554 ms | 0.1211 ms | 0.1012 ms | +| Benchmark | Rgb | 100 | 19.475 ms | 0.1080 ms | 0.0958 ms | +| Benchmark | YCbCrRatio420 | 100 | 10.146 ms | 0.0585 ms | 0.0519 ms | +| Benchmark | YCbCrRatio444 | 100 | 15.317 ms | 0.0709 ms | 0.0592 ms | +*/ From 5886612cfbab2f9bab9297a9dc2b4a04ce685ace Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Tue, 8 Mar 2022 19:20:51 +0100 Subject: [PATCH 152/244] Add support for horizontal predictor with alpha data --- .../Tiff/Compression/HorizontalPredictor.cs | 222 +++++++++++++++++- 1 file changed, 221 insertions(+), 1 deletion(-) diff --git a/src/ImageSharp/Formats/Tiff/Compression/HorizontalPredictor.cs b/src/ImageSharp/Formats/Tiff/Compression/HorizontalPredictor.cs index e2dbc6ca9..97bce2b2d 100644 --- a/src/ImageSharp/Formats/Tiff/Compression/HorizontalPredictor.cs +++ b/src/ImageSharp/Formats/Tiff/Compression/HorizontalPredictor.cs @@ -22,7 +22,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression /// Buffer with decompressed pixel data. /// The width of the image or strip. /// The color type of the pixel data. - /// if set to true decodes the pixel data as big endian, otherwise as little endian. + /// If set to true decodes the pixel data as big endian, otherwise as little endian. public static void Undo(Span pixelBytes, int width, TiffColorType colorType, bool isBigEndian) { switch (colorType) @@ -43,12 +43,21 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression case TiffColorType.Rgb888: UndoRgb24Bit(pixelBytes, width); break; + case TiffColorType.Rgba8888: + UndoRgba32Bit(pixelBytes, width); + break; case TiffColorType.Rgb161616: UndoRgb48Bit(pixelBytes, width, isBigEndian); break; + case TiffColorType.Rgba16161616: + UndoRgba64Bit(pixelBytes, width, isBigEndian); + break; case TiffColorType.Rgb323232: UndoRgb96Bit(pixelBytes, width, isBigEndian); break; + case TiffColorType.Rgba32323232: + UndoRgba128Bit(pixelBytes, width, isBigEndian); + break; } } @@ -243,6 +252,33 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression } } + private static void UndoRgba32Bit(Span pixelBytes, int width) + { + int rowBytesCount = width * 4; + int height = pixelBytes.Length / rowBytesCount; + for (int y = 0; y < height; y++) + { + Span rowBytes = pixelBytes.Slice(y * rowBytesCount, rowBytesCount); + Span rowRgb = MemoryMarshal.Cast(rowBytes).Slice(0, width); + ref Rgba32 rowRgbBase = ref MemoryMarshal.GetReference(rowRgb); + byte r = rowRgbBase.R; + byte g = rowRgbBase.G; + byte b = rowRgbBase.B; + byte a = rowRgbBase.A; + + for (int x = 1; x < rowRgb.Length; x++) + { + ref Rgba32 pixel = ref rowRgb[x]; + r += pixel.R; + g += pixel.G; + b += pixel.B; + a += pixel.A; + var rgb = new Rgba32(r, g, b, a); + pixel.FromRgba32(rgb); + } + } + } + private static void UndoRgb48Bit(Span pixelBytes, int width, bool isBigEndian) { int rowBytesCount = width * 6; @@ -319,6 +355,98 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression } } + private static void UndoRgba64Bit(Span pixelBytes, int width, bool isBigEndian) + { + int rowBytesCount = width * 8; + int height = pixelBytes.Length / rowBytesCount; + if (isBigEndian) + { + for (int y = 0; y < height; y++) + { + int offset = 0; + Span rowBytes = pixelBytes.Slice(y * rowBytesCount, rowBytesCount); + ushort r = TiffUtils.ConvertToUShortBigEndian(rowBytes.Slice(offset, 2)); + offset += 2; + ushort g = TiffUtils.ConvertToUShortBigEndian(rowBytes.Slice(offset, 2)); + offset += 2; + ushort b = TiffUtils.ConvertToUShortBigEndian(rowBytes.Slice(offset, 2)); + offset += 2; + ushort a = TiffUtils.ConvertToUShortBigEndian(rowBytes.Slice(offset, 2)); + offset += 2; + + for (int x = 1; x < width; x++) + { + Span rowSpan = rowBytes.Slice(offset, 2); + ushort deltaR = TiffUtils.ConvertToUShortBigEndian(rowSpan); + r += deltaR; + BinaryPrimitives.WriteUInt16BigEndian(rowSpan, r); + offset += 2; + + rowSpan = rowBytes.Slice(offset, 2); + ushort deltaG = TiffUtils.ConvertToUShortBigEndian(rowSpan); + g += deltaG; + BinaryPrimitives.WriteUInt16BigEndian(rowSpan, g); + offset += 2; + + rowSpan = rowBytes.Slice(offset, 2); + ushort deltaB = TiffUtils.ConvertToUShortBigEndian(rowSpan); + b += deltaB; + BinaryPrimitives.WriteUInt16BigEndian(rowSpan, b); + offset += 2; + + rowSpan = rowBytes.Slice(offset, 2); + ushort deltaA = TiffUtils.ConvertToUShortBigEndian(rowSpan); + a += deltaA; + BinaryPrimitives.WriteUInt16BigEndian(rowSpan, a); + offset += 2; + } + } + } + else + { + for (int y = 0; y < height; y++) + { + int offset = 0; + Span rowBytes = pixelBytes.Slice(y * rowBytesCount, rowBytesCount); + ushort r = TiffUtils.ConvertToUShortLittleEndian(rowBytes.Slice(offset, 2)); + offset += 2; + ushort g = TiffUtils.ConvertToUShortLittleEndian(rowBytes.Slice(offset, 2)); + offset += 2; + ushort b = TiffUtils.ConvertToUShortLittleEndian(rowBytes.Slice(offset, 2)); + offset += 2; + ushort a = TiffUtils.ConvertToUShortLittleEndian(rowBytes.Slice(offset, 2)); + offset += 2; + + for (int x = 1; x < width; x++) + { + Span rowSpan = rowBytes.Slice(offset, 2); + ushort deltaR = TiffUtils.ConvertToUShortLittleEndian(rowSpan); + r += deltaR; + BinaryPrimitives.WriteUInt16LittleEndian(rowSpan, r); + offset += 2; + + rowSpan = rowBytes.Slice(offset, 2); + ushort deltaG = TiffUtils.ConvertToUShortLittleEndian(rowSpan); + g += deltaG; + BinaryPrimitives.WriteUInt16LittleEndian(rowSpan, g); + offset += 2; + + rowSpan = rowBytes.Slice(offset, 2); + ushort deltaB = TiffUtils.ConvertToUShortLittleEndian(rowSpan); + b += deltaB; + BinaryPrimitives.WriteUInt16LittleEndian(rowSpan, b); + offset += 2; + + rowSpan = rowBytes.Slice(offset, 2); + ushort deltaA = TiffUtils.ConvertToUShortLittleEndian(rowSpan); + a += deltaA; + BinaryPrimitives.WriteUInt16LittleEndian(rowSpan, a); + offset += 2; + } + } + } + } + private static void UndoRgb96Bit(Span pixelBytes, int width, bool isBigEndian) { int rowBytesCount = width * 12; @@ -394,5 +522,97 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression } } } + + private static void UndoRgba128Bit(Span pixelBytes, int width, bool isBigEndian) + { + int rowBytesCount = width * 16; + int height = pixelBytes.Length / rowBytesCount; + if (isBigEndian) + { + for (int y = 0; y < height; y++) + { + int offset = 0; + Span rowBytes = pixelBytes.Slice(y * rowBytesCount, rowBytesCount); + uint r = TiffUtils.ConvertToUIntBigEndian(rowBytes.Slice(offset, 4)); + offset += 4; + uint g = TiffUtils.ConvertToUIntBigEndian(rowBytes.Slice(offset, 4)); + offset += 4; + uint b = TiffUtils.ConvertToUIntBigEndian(rowBytes.Slice(offset, 4)); + offset += 4; + uint a = TiffUtils.ConvertToUIntBigEndian(rowBytes.Slice(offset, 4)); + offset += 4; + + for (int x = 1; x < width; x++) + { + Span rowSpan = rowBytes.Slice(offset, 4); + uint deltaR = TiffUtils.ConvertToUIntBigEndian(rowSpan); + r += deltaR; + BinaryPrimitives.WriteUInt32BigEndian(rowSpan, r); + offset += 4; + + rowSpan = rowBytes.Slice(offset, 4); + uint deltaG = TiffUtils.ConvertToUIntBigEndian(rowSpan); + g += deltaG; + BinaryPrimitives.WriteUInt32BigEndian(rowSpan, g); + offset += 4; + + rowSpan = rowBytes.Slice(offset, 4); + uint deltaB = TiffUtils.ConvertToUIntBigEndian(rowSpan); + b += deltaB; + BinaryPrimitives.WriteUInt32BigEndian(rowSpan, b); + offset += 4; + + rowSpan = rowBytes.Slice(offset, 4); + uint deltaA = TiffUtils.ConvertToUIntBigEndian(rowSpan); + a += deltaA; + BinaryPrimitives.WriteUInt32BigEndian(rowSpan, a); + offset += 4; + } + } + } + else + { + for (int y = 0; y < height; y++) + { + int offset = 0; + Span rowBytes = pixelBytes.Slice(y * rowBytesCount, rowBytesCount); + uint r = TiffUtils.ConvertToUIntLittleEndian(rowBytes.Slice(offset, 4)); + offset += 4; + uint g = TiffUtils.ConvertToUIntLittleEndian(rowBytes.Slice(offset, 4)); + offset += 4; + uint b = TiffUtils.ConvertToUIntLittleEndian(rowBytes.Slice(offset, 4)); + offset += 4; + uint a = TiffUtils.ConvertToUIntLittleEndian(rowBytes.Slice(offset, 4)); + offset += 4; + + for (int x = 1; x < width; x++) + { + Span rowSpan = rowBytes.Slice(offset, 4); + uint deltaR = TiffUtils.ConvertToUIntLittleEndian(rowSpan); + r += deltaR; + BinaryPrimitives.WriteUInt32LittleEndian(rowSpan, r); + offset += 4; + + rowSpan = rowBytes.Slice(offset, 4); + uint deltaG = TiffUtils.ConvertToUIntLittleEndian(rowSpan); + g += deltaG; + BinaryPrimitives.WriteUInt32LittleEndian(rowSpan, g); + offset += 4; + + rowSpan = rowBytes.Slice(offset, 4); + uint deltaB = TiffUtils.ConvertToUIntLittleEndian(rowSpan); + b += deltaB; + BinaryPrimitives.WriteUInt32LittleEndian(rowSpan, b); + offset += 4; + + rowSpan = rowBytes.Slice(offset, 4); + uint deltaA = TiffUtils.ConvertToUIntLittleEndian(rowSpan); + a += deltaA; + BinaryPrimitives.WriteUInt32LittleEndian(rowSpan, a); + offset += 4; + } + } + } + } } } From 24bd518078e4b2d31fc535aa2d322648712388ad Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Tue, 8 Mar 2022 19:29:26 +0100 Subject: [PATCH 153/244] Add tests for predictor with alpha --- tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs | 5 +++++ tests/ImageSharp.Tests/TestImages.cs | 5 +++++ .../Input/Tiff/RgbaUnassociatedAlphaPredictor16bit_lsb.tiff | 3 +++ .../Input/Tiff/RgbaUnassociatedAlphaPredictor16bit_msb.tiff | 3 +++ .../Input/Tiff/RgbaUnassociatedAlphaPredictor32bit_lsb.tiff | 3 +++ .../Input/Tiff/RgbaUnassociatedAlphaPredictor32bit_msb.tiff | 3 +++ .../Input/Tiff/RgbaUnassociatedAlphaPredictor8bit.tiff | 3 +++ 7 files changed, 25 insertions(+) create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlphaPredictor16bit_lsb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlphaPredictor16bit_msb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlphaPredictor32bit_lsb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlphaPredictor32bit_msb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaUnassociatedAlphaPredictor8bit.tiff diff --git a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs index 5e5e1b778..bd300f799 100644 --- a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs @@ -287,6 +287,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff [Theory] [WithFile(Rgba8BitUnassociatedAlpha, PixelTypes.Rgba32)] + [WithFile(Rgba8BitUnassociatedAlphaWithPredictor, PixelTypes.Rgba32)] public void TiffDecoder_CanDecode_32Bit_WithUnassociatedAlpha(TestImageProvider provider) where TPixel : unmanaged, IPixel { @@ -425,12 +426,16 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff [Theory] [WithFile(Rgba16BitUnassociatedAlphaBigEndian, PixelTypes.Rgba32)] [WithFile(Rgba16BitUnassociatedAlphaLittleEndian, PixelTypes.Rgba32)] + [WithFile(Rgba16BitUnassociatedAlphaBigEndianWithPredictor, PixelTypes.Rgba32)] + [WithFile(Rgba16BitUnassociatedAlphaLittleEndianWithPredictor, PixelTypes.Rgba32)] public void TiffDecoder_CanDecode_128Bit_UnassociatedAlpha(TestImageProvider provider) where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); [Theory] [WithFile(Rgba32BitUnassociatedAlphaBigEndian, PixelTypes.Rgba32)] [WithFile(Rgba32BitUnassociatedAlphaLittleEndian, PixelTypes.Rgba32)] + [WithFile(Rgba32BitUnassociatedAlphaBigEndianWithPredictor, PixelTypes.Rgba32)] + [WithFile(Rgba32BitUnassociatedAlphaLittleEndianWithPredictor, PixelTypes.Rgba32)] public void TiffDecoder_CanDecode_128Bit_WithUnassociatedAlpha(TestImageProvider provider) where TPixel : unmanaged, IPixel { diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index 9d37a0de4..5ed0a12f7 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -865,6 +865,7 @@ namespace SixLabors.ImageSharp.Tests public const string Rgba5BitUnassociatedAlpha = "Tiff/RgbaUnassociatedAlpha5bit.tiff"; public const string Rgba6BitUnassociatedAlpha = "Tiff/RgbaUnassociatedAlpha6bit.tiff"; public const string Rgba8BitUnassociatedAlpha = "Tiff/RgbaUnassociatedAlpha8bit.tiff"; + public const string Rgba8BitUnassociatedAlphaWithPredictor = "Tiff/RgbaUnassociatedAlphaPredictor8bit.tiff"; public const string Rgba8BitPlanarUnassociatedAlpha = "Tiff/RgbaUnassociatedAlphaPlanar8bit.tiff"; public const string Rgba10BitUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlpha10bit_msb.tiff"; public const string Rgba10BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha10bit_lsb.tiff"; @@ -874,6 +875,8 @@ namespace SixLabors.ImageSharp.Tests public const string Rgba14BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha14bit_lsb.tiff"; public const string Rgba16BitUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlpha16bit_msb.tiff"; public const string Rgba16BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha16bit_lsb.tiff"; + public const string Rgba16BitUnassociatedAlphaBigEndianWithPredictor = "Tiff/RgbaUnassociatedAlphaPredictor16bit_msb.tiff"; + public const string Rgba16BitUnassociatedAlphaLittleEndianWithPredictor = "Tiff/RgbaUnassociatedAlphaPredictor16bit_lsb.tiff"; public const string Rgba16BitPlanarUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlphaPlanar16bit_msb.tiff"; public const string Rgba16BitPlanarUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlphaPlanar16bit_lsb.tiff"; public const string Rgba24BitUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlpha24bit_msb.tiff"; @@ -882,6 +885,8 @@ namespace SixLabors.ImageSharp.Tests public const string Rgba24BitPlanarUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlphaPlanar24bit_lsb.tiff"; public const string Rgba32BitUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlpha32bit_msb.tiff"; public const string Rgba32BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha32bit_lsb.tiff"; + public const string Rgba32BitUnassociatedAlphaBigEndianWithPredictor = "Tiff/RgbaUnassociatedAlphaPredictor32bit_msb.tiff"; + public const string Rgba32BitUnassociatedAlphaLittleEndianWithPredictor = "Tiff/RgbaUnassociatedAlphaPredictor32bit_lsb.tiff"; public const string Rgba32BitPlanarUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlphaPlanar32bit_msb.tiff"; public const string Rgba32BitPlanarUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlphaPlanar32bit_lsb.tiff"; diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPredictor16bit_lsb.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPredictor16bit_lsb.tiff new file mode 100644 index 000000000..9d985a33a --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPredictor16bit_lsb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:874ef7a59491ba68364312b7bc27b6620d15ce8b1d5b780f57c6e6d8b919ef1f +size 73922 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPredictor16bit_msb.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPredictor16bit_msb.tiff new file mode 100644 index 000000000..b195cc15a --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPredictor16bit_msb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d4faa8617d10ea5f79225c528c0a6d5c36f73d315e46150703df5ca5008ea1bd +size 73922 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPredictor32bit_lsb.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPredictor32bit_lsb.tiff new file mode 100644 index 000000000..492a8fae8 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPredictor32bit_lsb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6a17791068b9c3eb40db3157a9103892aaf4a5a74072c93006bfa702ba5545e5 +size 80428 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPredictor32bit_msb.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPredictor32bit_msb.tiff new file mode 100644 index 000000000..43075dc21 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPredictor32bit_msb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:63fef29d79f8d707c74b6e083de6bb2ad41dde1d9b1aea5bd7729a2f7399132e +size 80344 diff --git a/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPredictor8bit.tiff b/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPredictor8bit.tiff new file mode 100644 index 000000000..557b6216a --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaUnassociatedAlphaPredictor8bit.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9d91f0740d6df983b5e5fe904c22fe86c2a7ffd86673fb078092d80c96359fc1 +size 53666 From 666ae9eb02da6f83741c83f58febe0fa6298140f Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Wed, 9 Mar 2022 18:58:33 +1100 Subject: [PATCH 154/244] Ensure PixelOperations.To(TPixel) uses scaling. --- src/ImageSharp/ImageFrame{TPixel}.cs | 6 +- .../Profiles/Exif/Tags/ExifTag.String.cs | 2 +- .../RgbaVector.PixelOperations.cs | 4 +- .../PixelFormats/PixelOperations{TPixel}.cs | 24 ++++---- tests/ImageSharp.Tests.ruleset | 5 +- .../PixelOperations/PixelOperationsTests.cs | 61 +++++++++++-------- .../TestUtilities/TestPixel.cs | 18 +++--- 7 files changed, 65 insertions(+), 55 deletions(-) diff --git a/src/ImageSharp/ImageFrame{TPixel}.cs b/src/ImageSharp/ImageFrame{TPixel}.cs index fe037003e..716004f39 100644 --- a/src/ImageSharp/ImageFrame{TPixel}.cs +++ b/src/ImageSharp/ImageFrame{TPixel}.cs @@ -362,10 +362,8 @@ namespace SixLabors.ImageSharp return; } - this.PixelBuffer.FastMemoryGroup.TransformTo(destination, (s, d) => - { - PixelOperations.Instance.To(this.GetConfiguration(), s, d); - }); + this.PixelBuffer.FastMemoryGroup.TransformTo(destination, (s, d) + => PixelOperations.Instance.To(this.GetConfiguration(), s, d)); } /// diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.String.cs b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.String.cs index 3fc353211..286b31786 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.String.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Tags/ExifTag.String.cs @@ -94,7 +94,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif /// /// Gets the MDFileUnits exif tag. /// - public static ExifTag MDFileUnits => new ExifTag(ExifTagValue.MDFileUnits); + public static ExifTag MDFileUnits { get; } = new ExifTag(ExifTagValue.MDFileUnits); /// /// Gets the SEMInfo exif tag. diff --git a/src/ImageSharp/PixelFormats/PixelImplementations/PixelOperations/RgbaVector.PixelOperations.cs b/src/ImageSharp/PixelFormats/PixelImplementations/PixelOperations/RgbaVector.PixelOperations.cs index c66526bbe..e78a644af 100644 --- a/src/ImageSharp/PixelFormats/PixelImplementations/PixelOperations/RgbaVector.PixelOperations.cs +++ b/src/ImageSharp/PixelFormats/PixelImplementations/PixelOperations/RgbaVector.PixelOperations.cs @@ -21,7 +21,7 @@ namespace SixLabors.ImageSharp.PixelFormats internal class PixelOperations : PixelOperations { private static readonly Lazy LazyInfo = - new Lazy(() => PixelTypeInfo.Create(PixelAlphaRepresentation.Unassociated), true); + new(() => PixelTypeInfo.Create(PixelAlphaRepresentation.Unassociated), true); /// public override PixelTypeInfo GetPixelTypeInfo() => LazyInfo.Value; @@ -34,7 +34,7 @@ namespace SixLabors.ImageSharp.PixelFormats { Span destinationVectors = MemoryMarshal.Cast(destinationPixels); - PixelOperations.Instance.ToVector4(configuration, sourcePixels, destinationVectors); + PixelOperations.Instance.ToVector4(configuration, sourcePixels, destinationVectors, PixelConversionModifiers.Scale); } /// diff --git a/src/ImageSharp/PixelFormats/PixelOperations{TPixel}.cs b/src/ImageSharp/PixelFormats/PixelOperations{TPixel}.cs index f748a4b57..710eb9c08 100644 --- a/src/ImageSharp/PixelFormats/PixelOperations{TPixel}.cs +++ b/src/ImageSharp/PixelFormats/PixelOperations{TPixel}.cs @@ -19,7 +19,7 @@ namespace SixLabors.ImageSharp.PixelFormats public partial class PixelOperations where TPixel : unmanaged, IPixel { - private static readonly Lazy LazyInfo = new Lazy(() => PixelTypeInfo.Create(), true); + private static readonly Lazy LazyInfo = new(() => PixelTypeInfo.Create(), true); /// /// Gets the global instance for the pixel type @@ -116,29 +116,29 @@ namespace SixLabors.ImageSharp.PixelFormats Span destinationPixels) where TSourcePixel : unmanaged, IPixel { - const int SliceLength = 1024; - int numberOfSlices = sourcePixels.Length / SliceLength; + const int sliceLength = 1024; + int numberOfSlices = sourcePixels.Length / sliceLength; - using IMemoryOwner tempVectors = configuration.MemoryAllocator.Allocate(SliceLength); + using IMemoryOwner tempVectors = configuration.MemoryAllocator.Allocate(sliceLength); Span vectorSpan = tempVectors.GetSpan(); for (int i = 0; i < numberOfSlices; i++) { - int start = i * SliceLength; - ReadOnlySpan s = sourcePixels.Slice(start, SliceLength); - Span d = destinationPixels.Slice(start, SliceLength); - PixelOperations.Instance.ToVector4(configuration, s, vectorSpan); - this.FromVector4Destructive(configuration, vectorSpan, d); + int start = i * sliceLength; + ReadOnlySpan s = sourcePixels.Slice(start, sliceLength); + Span d = destinationPixels.Slice(start, sliceLength); + PixelOperations.Instance.ToVector4(configuration, s, vectorSpan, PixelConversionModifiers.Scale); + this.FromVector4Destructive(configuration, vectorSpan, d, PixelConversionModifiers.Scale); } - int endOfCompleteSlices = numberOfSlices * SliceLength; + int endOfCompleteSlices = numberOfSlices * sliceLength; int remainder = sourcePixels.Length - endOfCompleteSlices; if (remainder > 0) { ReadOnlySpan s = sourcePixels.Slice(endOfCompleteSlices); Span d = destinationPixels.Slice(endOfCompleteSlices); vectorSpan = vectorSpan.Slice(0, remainder); - PixelOperations.Instance.ToVector4(configuration, s, vectorSpan); - this.FromVector4Destructive(configuration, vectorSpan, d); + PixelOperations.Instance.ToVector4(configuration, s, vectorSpan, PixelConversionModifiers.Scale); + this.FromVector4Destructive(configuration, vectorSpan, d, PixelConversionModifiers.Scale); } } diff --git a/tests/ImageSharp.Tests.ruleset b/tests/ImageSharp.Tests.ruleset index 673f00517..50c275cd7 100644 --- a/tests/ImageSharp.Tests.ruleset +++ b/tests/ImageSharp.Tests.ruleset @@ -1,6 +1,9 @@  - + + + + diff --git a/tests/ImageSharp.Tests/PixelFormats/PixelOperations/PixelOperationsTests.cs b/tests/ImageSharp.Tests/PixelFormats/PixelOperations/PixelOperationsTests.cs index 2a89c1d39..3e1b22e85 100644 --- a/tests/ImageSharp.Tests/PixelFormats/PixelOperations/PixelOperationsTests.cs +++ b/tests/ImageSharp.Tests/PixelFormats/PixelOperations/PixelOperationsTests.cs @@ -320,30 +320,51 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats.PixelOperations (s, d) => this.Operations.ToVector4(this.Configuration, s, d.GetSpan())); } - public static readonly TheoryData Generic_To_Data = new TheoryData + public static readonly TheoryData Generic_To_Data = new() { + new TestPixel(), new TestPixel(), - new TestPixel(), + new TestPixel(), + new TestPixel(), + new TestPixel(), new TestPixel(), - new TestPixel(), - new TestPixel(), + new TestPixel(), + new TestPixel(), + new TestPixel(), + new TestPixel(), + new TestPixel(), + new TestPixel(), new TestPixel(), + new TestPixel(), + new TestPixel(), + new TestPixel(), + new TestPixel(), + new TestPixel(), + new TestPixel(), + new TestPixel(), + new TestPixel(), + new TestPixel(), new TestPixel(), - new TestPixel() + new TestPixel(), + new TestPixel(), + new TestPixel(), + new TestPixel(), + new TestPixel(), + new TestPixel(), }; [Theory] [MemberData(nameof(Generic_To_Data))] - public void Generic_To(TestPixel dummy) + public void Generic_To(TestPixel _) where TDestPixel : unmanaged, IPixel { - const int Count = 2134; - TPixel[] source = CreatePixelTestData(Count); - var expected = new TDestPixel[Count]; + const int count = 2134; + TPixel[] source = CreatePixelTestData(count); + var expected = new TDestPixel[count]; PixelConverterTests.ReferenceImplementations.To(this.Configuration, source, expected); - TestOperation(source, expected, (s, d) => this.Operations.To(this.Configuration, s, d.GetSpan())); + TestOperation(source, expected, (s, d) => this.Operations.To(this.Configuration, s, d.GetSpan()), false); } [Theory] @@ -1234,23 +1255,11 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats.PixelOperations } // TODO: We really need a PixelTypeInfo.BitsPerComponent property!! - private static bool IsComplexPixel() + private static bool IsComplexPixel() => default(TDest) switch { - switch (default(TDest)) - { - case HalfSingle _: - case HalfVector2 _: - case L16 _: - case La32 _: - case NormalizedShort2 _: - case Rg32 _: - case Short2 _: - return true; - - default: - return Unsafe.SizeOf() > sizeof(int); - } - } + HalfSingle or HalfVector2 or L16 or La32 or NormalizedShort2 or Rg32 or Short2 => true, + _ => Unsafe.SizeOf() > sizeof(int), + }; } } } diff --git a/tests/ImageSharp.Tests/TestUtilities/TestPixel.cs b/tests/ImageSharp.Tests/TestUtilities/TestPixel.cs index 7265e29c3..104c54cee 100644 --- a/tests/ImageSharp.Tests/TestUtilities/TestPixel.cs +++ b/tests/ImageSharp.Tests/TestUtilities/TestPixel.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. using System; +using System.Numerics; using SixLabors.ImageSharp.PixelFormats; using Xunit.Abstractions; @@ -16,6 +17,11 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities public TestPixel(float red, float green, float blue, float alpha) { + Guard.MustBeBetweenOrEqualTo(red, 0F, 1F, nameof(red)); + Guard.MustBeBetweenOrEqualTo(green, 0F, 1F, nameof(green)); + Guard.MustBeBetweenOrEqualTo(blue, 0F, 1F, nameof(blue)); + Guard.MustBeBetweenOrEqualTo(alpha, 0F, 1F, nameof(alpha)); + this.Red = red; this.Green = green; this.Blue = blue; @@ -33,14 +39,11 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities public TPixel AsPixel() { var pix = default(TPixel); - pix.FromVector4(new System.Numerics.Vector4(this.Red, this.Green, this.Blue, this.Alpha)); + pix.FromScaledVector4(new Vector4(this.Red, this.Green, this.Blue, this.Alpha)); return pix; } - internal Span AsSpan() - { - return new Span(new[] { this.AsPixel() }); - } + internal Span AsSpan() => new(new[] { this.AsPixel() }); public void Deserialize(IXunitSerializationInfo info) { @@ -58,9 +61,6 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities info.AddValue("alpha", this.Alpha); } - public override string ToString() - { - return $"{typeof(TPixel).Name}{this.AsPixel().ToString()}"; - } + public override string ToString() => $"{typeof(TPixel).Name}{this.AsPixel()}"; } } From d1cfa8d12934eb2cbcb0fd5e69739e59dd6d7231 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Wed, 9 Mar 2022 19:07:18 +1100 Subject: [PATCH 155/244] Add explicit test --- .../PixelFormats/RgbaVectorTests.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/ImageSharp.Tests/PixelFormats/RgbaVectorTests.cs b/tests/ImageSharp.Tests/PixelFormats/RgbaVectorTests.cs index 438d5f2ed..bfd901b95 100644 --- a/tests/ImageSharp.Tests/PixelFormats/RgbaVectorTests.cs +++ b/tests/ImageSharp.Tests/PixelFormats/RgbaVectorTests.cs @@ -189,5 +189,21 @@ namespace SixLabors.ImageSharp.Tests.PixelFormats // assert Assert.Equal(expected, rgba.ToScaledVector4()); } + + [Fact] + public void Issue2048() + { + // https://github.com/SixLabors/ImageSharp/issues/2048 + RgbaVector green = Color.Green.ToPixel(); + using Image source = new(Configuration.Default, 1, 1, green); + using Image clone = source.CloneAs(); + + Rgba32 srcColor = default; + Rgba32 cloneColor = default; + source[0, 0].ToRgba32(ref srcColor); + clone[0, 0].ToRgba32(ref cloneColor); + + Assert.Equal(srcColor, cloneColor); + } } } From 869c025a67272d06b6e9dabf4c6376c116bed897 Mon Sep 17 00:00:00 2001 From: Dmitry Pentin Date: Wed, 9 Mar 2022 11:10:04 +0300 Subject: [PATCH 156/244] Added cross-codec jpeg encoding benchmark --- .../Codecs/Jpeg/EncodeJpeg.cs | 161 ------------------ .../Codecs/Jpeg/EncodeJpegComparison.cs | 112 ++++++++++++ 2 files changed, 112 insertions(+), 161 deletions(-) delete mode 100644 tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpeg.cs create mode 100644 tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpegComparison.cs diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpeg.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpeg.cs deleted file mode 100644 index d3ead46d4..000000000 --- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpeg.cs +++ /dev/null @@ -1,161 +0,0 @@ -// Copyright (c) Six Labors. -// Licensed under the Apache License, Version 2.0. - -using System.Drawing.Imaging; -using System.IO; -using BenchmarkDotNet.Attributes; -using SixLabors.ImageSharp.Formats.Jpeg; -using SixLabors.ImageSharp.PixelFormats; -using SixLabors.ImageSharp.Tests; -using SDImage = System.Drawing.Image; - -namespace SixLabors.ImageSharp.Benchmarks.Codecs.Jpeg -{ - public class EncodeJpeg - { - [Params(75, 90, 100)] - public int Quality; - - private const string TestImage = TestImages.Jpeg.BenchmarkSuite.Jpeg420Exif_MidSizeYCbCr; - - // System.Drawing - private SDImage bmpDrawing; - private Stream bmpStream; - private ImageCodecInfo jpegCodec; - private EncoderParameters encoderParameters; - - // ImageSharp - private Image bmpCore; - private Image bmpLuminance; - private JpegEncoder encoder400; - private JpegEncoder encoder420; - private JpegEncoder encoder444; - private JpegEncoder encoderRgb; - - private MemoryStream destinationStream; - - [GlobalSetup] - public void ReadImages() - { - if (this.bmpStream == null) - { - this.bmpStream = File.OpenRead(Path.Combine(TestEnvironment.InputImagesDirectoryFullPath, TestImage)); - - this.bmpCore = Image.Load(this.bmpStream); - this.bmpCore.Metadata.ExifProfile = null; - this.bmpLuminance = this.bmpCore.CloneAs(); - this.encoder400 = new JpegEncoder { Quality = this.Quality, ColorType = JpegColorType.Luminance }; - this.encoder420 = new JpegEncoder { Quality = this.Quality, ColorType = JpegColorType.YCbCrRatio420 }; - this.encoder444 = new JpegEncoder { Quality = this.Quality, ColorType = JpegColorType.YCbCrRatio444 }; - this.encoderRgb = new JpegEncoder { Quality = this.Quality, ColorType = JpegColorType.Rgb }; - - this.bmpStream.Position = 0; - this.bmpDrawing = SDImage.FromStream(this.bmpStream); - this.jpegCodec = GetEncoder(ImageFormat.Jpeg); - this.encoderParameters = new EncoderParameters(1); - - // Quality cast to long is necessary -#pragma warning disable IDE0004 // Remove Unnecessary Cast - this.encoderParameters.Param[0] = new EncoderParameter(Encoder.Quality, (long)this.Quality); -#pragma warning restore IDE0004 // Remove Unnecessary Cast - - this.destinationStream = new MemoryStream(); - } - } - - [GlobalCleanup] - public void Cleanup() - { - this.bmpStream.Dispose(); - this.bmpStream = null; - - this.destinationStream.Dispose(); - this.destinationStream = null; - - this.bmpCore.Dispose(); - this.bmpDrawing.Dispose(); - - this.encoderParameters.Dispose(); - } - - [Benchmark(Baseline = true, Description = "System.Drawing Jpeg 4:2:0")] - public void JpegSystemDrawing() - { - this.bmpDrawing.Save(this.destinationStream, this.jpegCodec, this.encoderParameters); - this.destinationStream.Seek(0, SeekOrigin.Begin); - } - - [Benchmark(Description = "ImageSharp (greyscale) Jpeg 4:0:0")] - public void JpegCore400() - { - this.bmpLuminance.SaveAsJpeg(this.destinationStream, this.encoder400); - this.destinationStream.Seek(0, SeekOrigin.Begin); - } - - - [Benchmark(Description = "ImageSharp Jpeg 4:2:0")] - public void JpegCore420() - { - this.bmpCore.SaveAsJpeg(this.destinationStream, this.encoder420); - this.destinationStream.Seek(0, SeekOrigin.Begin); - } - - [Benchmark(Description = "ImageSharp Jpeg 4:4:4")] - public void JpegCore444() - { - this.bmpCore.SaveAsJpeg(this.destinationStream, this.encoder444); - this.destinationStream.Seek(0, SeekOrigin.Begin); - } - - [Benchmark(Description = "ImageSharp Jpeg rgb")] - public void JpegRgb() - { - this.bmpCore.SaveAsJpeg(this.destinationStream, this.encoderRgb); - this.destinationStream.Seek(0, SeekOrigin.Begin); - } - - // https://docs.microsoft.com/en-us/dotnet/api/system.drawing.imaging.encoderparameter?redirectedfrom=MSDN&view=net-5.0 - private static ImageCodecInfo GetEncoder(ImageFormat format) - { - ImageCodecInfo[] codecs = ImageCodecInfo.GetImageDecoders(); - foreach (ImageCodecInfo codec in codecs) - { - if (codec.FormatID == format.Guid) - { - return codec; - } - } - - return null; - } - } -} - -/* -BenchmarkDotNet=v0.13.0, OS=linuxmint 20.3 -AMD Ryzen 7 5800X, 1 CPU, 16 logical and 8 physical cores -.NET SDK=6.0.200 - [Host] : .NET Core 3.1.22 (CoreCLR 4.700.21.56803, CoreFX 4.700.21.57101), X64 RyuJIT - DefaultJob : .NET Core 3.1.22 (CoreCLR 4.700.21.56803, CoreFX 4.700.21.57101), X64 RyuJIT - - -| Method | Quality | Mean | Error | StdDev | Ratio | RatioSD | -|------------------------------------ |-------- |----------:|----------:|----------:|------:|--------:| -| 'System.Drawing Jpeg 4:2:0' | 75 | 9.157 ms | 0.0138 ms | 0.0123 ms | 1.00 | 0.00 | -| 'ImageSharp (greyscale) Jpeg 4:0:0' | 75 | 12.142 ms | 0.1321 ms | 0.1236 ms | 1.33 | 0.01 | -| 'ImageSharp Jpeg 4:2:0' | 75 | 19.655 ms | 0.1057 ms | 0.0883 ms | 2.15 | 0.01 | -| 'ImageSharp Jpeg 4:4:4' | 75 | 19.157 ms | 0.2852 ms | 0.2668 ms | 2.09 | 0.03 | -| 'ImageSharp Jpeg rgb' | 75 | 26.404 ms | 0.3803 ms | 0.3557 ms | 2.89 | 0.04 | -| | | | | | | | -| 'System.Drawing Jpeg 4:2:0' | 90 | 10.828 ms | 0.0727 ms | 0.0680 ms | 1.00 | 0.00 | -| 'ImageSharp (greyscale) Jpeg 4:0:0' | 90 | 14.918 ms | 0.1089 ms | 0.1019 ms | 1.38 | 0.01 | -| 'ImageSharp Jpeg 4:2:0' | 90 | 23.718 ms | 0.0301 ms | 0.0267 ms | 2.19 | 0.02 | -| 'ImageSharp Jpeg 4:4:4' | 90 | 23.857 ms | 0.2387 ms | 0.2233 ms | 2.20 | 0.03 | -| 'ImageSharp Jpeg rgb' | 90 | 34.700 ms | 0.2207 ms | 0.2064 ms | 3.20 | 0.03 | -| | | | | | | | -| 'System.Drawing Jpeg 4:2:0' | 100 | 13.478 ms | 0.0054 ms | 0.0048 ms | 1.00 | 0.00 | -| 'ImageSharp (greyscale) Jpeg 4:0:0' | 100 | 19.446 ms | 0.0803 ms | 0.0751 ms | 1.44 | 0.01 | -| 'ImageSharp Jpeg 4:2:0' | 100 | 30.339 ms | 0.4578 ms | 0.4282 ms | 2.25 | 0.03 | -| 'ImageSharp Jpeg 4:4:4' | 100 | 39.056 ms | 0.1779 ms | 0.1664 ms | 2.90 | 0.01 | -| 'ImageSharp Jpeg rgb' | 100 | 51.828 ms | 0.3336 ms | 0.3121 ms | 3.85 | 0.02 | -*/ diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpegComparison.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpegComparison.cs new file mode 100644 index 000000000..2c4686edd --- /dev/null +++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/EncodeJpegComparison.cs @@ -0,0 +1,112 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System.Drawing.Imaging; +using System.IO; +using BenchmarkDotNet.Attributes; +using SixLabors.ImageSharp.Formats.Jpeg; +using SixLabors.ImageSharp.PixelFormats; +using SixLabors.ImageSharp.Tests; +using SkiaSharp; +using SDImage = System.Drawing.Image; + +namespace SixLabors.ImageSharp.Benchmarks.Codecs.Jpeg +{ + /// + /// Benchmark for performance comparison between other codecs. + /// + /// + /// This benchmarks tests baseline 4:2:0 chroma sampling path. + /// + public class EncodeJpegComparison + { + // Big enough, 4:4:4 chroma sampling + private const string TestImage = TestImages.Jpeg.Baseline.Calliphora; + + // Change/add parameters for extra benchmarks + [Params(75, 90, 100)] + public int Quality; + + private MemoryStream destinationStream; + + // ImageSharp + private Image imageImageSharp; + private JpegEncoder encoderImageSharp; + + // SkiaSharp + private SKBitmap imageSkiaSharp; + + [GlobalSetup(Target = nameof(BenchmarkImageSharp))] + public void SetupImageSharp() + { + using FileStream imageBinaryStream = File.OpenRead(Path.Combine(TestEnvironment.InputImagesDirectoryFullPath, TestImage)); + + this.imageImageSharp = Image.Load(imageBinaryStream); + this.encoderImageSharp = new JpegEncoder { Quality = this.Quality, ColorType = JpegColorType.YCbCrRatio420 }; + + this.destinationStream = new MemoryStream(); + } + + [GlobalCleanup(Target = nameof(BenchmarkImageSharp))] + public void CleanupImageSharp() + { + this.imageImageSharp.Dispose(); + this.imageImageSharp = null; + + this.destinationStream.Dispose(); + this.destinationStream = null; + } + + [Benchmark(Description = "ImageSharp")] + public void BenchmarkImageSharp() + { + this.imageImageSharp.SaveAsJpeg(this.destinationStream, this.encoderImageSharp); + this.destinationStream.Seek(0, SeekOrigin.Begin); + } + + [GlobalSetup(Target = nameof(BenchmarkSkiaSharp))] + public void SetupSkiaSharp() + { + using FileStream imageBinaryStream = File.OpenRead(Path.Combine(TestEnvironment.InputImagesDirectoryFullPath, TestImage)); + + this.imageSkiaSharp = SKBitmap.Decode(imageBinaryStream); + + this.destinationStream = new MemoryStream(); + } + + [GlobalCleanup(Target = nameof(BenchmarkSkiaSharp))] + public void CleanupSkiaSharp() + { + this.imageSkiaSharp.Dispose(); + this.imageSkiaSharp = null; + + this.destinationStream.Dispose(); + this.destinationStream = null; + } + + [Benchmark(Description = "SkiaSharp")] + public void BenchmarkSkiaSharp() + { + this.imageSkiaSharp.Encode(SKEncodedImageFormat.Jpeg, this.Quality).SaveTo(this.destinationStream); + this.destinationStream.Seek(0, SeekOrigin.Begin); + } + } +} + +/* +BenchmarkDotNet=v0.13.0, OS=Windows 10.0.19044 +Intel Core i7-6700K CPU 4.00GHz (Skylake), 1 CPU, 8 logical and 4 physical cores +.NET SDK=6.0.100-preview.3.21202.5 + [Host] : .NET Core 3.1.21 (CoreCLR 4.700.21.51404, CoreFX 4.700.21.51508), X64 RyuJIT + DefaultJob : .NET Core 3.1.21 (CoreCLR 4.700.21.51404, CoreFX 4.700.21.51508), X64 RyuJIT + + +| Method | Quality | Mean | Error | StdDev | +|----------- |-------- |----------:|----------:|----------:| +| ImageSharp | 75 | 6.820 ms | 0.0374 ms | 0.0312 ms | +| SkiaSharp | 75 | 16.417 ms | 0.3238 ms | 0.4747 ms | +| ImageSharp | 90 | 7.849 ms | 0.1565 ms | 0.3126 ms | +| SkiaSharp | 90 | 16.893 ms | 0.2200 ms | 0.2058 ms | +| ImageSharp | 100 | 11.016 ms | 0.2087 ms | 0.1850 ms | +| SkiaSharp | 100 | 20.410 ms | 0.2583 ms | 0.2290 ms | +*/ From e6ab9833745e3e75a2ea92e97178ae7272d229b1 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Thu, 10 Mar 2022 01:35:11 +1100 Subject: [PATCH 157/244] Ensure pad color is never overwritten --- .../Transforms/Resize/ResizeProcessor{TPixel}.cs | 3 +++ .../Processors/Transforms/Resize/ResizeWorker.cs | 16 ++++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs index c0bf9291e..e0ccb487f 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs @@ -61,6 +61,9 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms Rectangle destinationRectangle = this.destinationRectangle; bool compand = this.options.Compand; bool premultiplyAlpha = this.options.PremultiplyAlpha; + + this.options.PadColor = Color.GreenYellow; + bool shouldFill = (this.options.Mode == ResizeMode.BoxPad || this.options.Mode == ResizeMode.Pad) && this.options.PadColor != default; TPixel fillColor = this.options.PadColor.ToPixel(); diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs index 90cbf8bda..5f3c60989 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs @@ -80,19 +80,19 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms int numberOfWindowBands = ResizeHelper.CalculateResizeWorkerHeightInWindowBands( this.windowBandHeight, - destWidth, + targetWorkingRect.Width, workingBufferLimitHintInBytes); this.workerHeight = Math.Min(this.sourceRectangle.Height, numberOfWindowBands * this.windowBandHeight); this.transposedFirstPassBuffer = configuration.MemoryAllocator.Allocate2D( this.workerHeight, - destWidth, + targetWorkingRect.Width, preferContiguosImageBuffers: true, options: AllocationOptions.Clean); this.tempRowBuffer = configuration.MemoryAllocator.Allocate(this.sourceRectangle.Width); - this.tempColumnBuffer = configuration.MemoryAllocator.Allocate(destWidth); + this.tempColumnBuffer = configuration.MemoryAllocator.Allocate(targetWorkingRect.Width); this.currentWindow = new RowInterval(0, this.workerHeight); } @@ -118,6 +118,9 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms // When creating transposedFirstPassBuffer, we made sure it's contiguous: Span transposedFirstPassBufferSpan = this.transposedFirstPassBuffer.DangerousGetSingleSpan(); + int left = this.targetWorkingRect.Left; + int right = this.targetWorkingRect.Right; + int width = this.targetWorkingRect.Width; for (int y = rowInterval.Min; y < rowInterval.Max; y++) { // Ensure offsets are normalized for cropping and padding. @@ -131,17 +134,18 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms ref Vector4 tempRowBase = ref MemoryMarshal.GetReference(tempColSpan); int top = kernel.StartIndex - this.currentWindow.Min; + ref Vector4 fpBase = ref transposedFirstPassBufferSpan[top]; - for (int x = 0; x < this.destWidth; x++) + for (int x = left; x < right; x++) { ref Vector4 firstPassColumnBase = ref Unsafe.Add(ref fpBase, x * this.workerHeight); // Destination color components - Unsafe.Add(ref tempRowBase, x) = kernel.ConvolveCore(ref firstPassColumnBase); + Unsafe.Add(ref tempRowBase, x - left) = kernel.ConvolveCore(ref firstPassColumnBase); } - Span targetRowSpan = destination.DangerousGetRowSpan(y); + Span targetRowSpan = destination.DangerousGetRowSpan(y).Slice(left, width); PixelOperations.Instance.FromVector4Destructive(this.configuration, tempColSpan, targetRowSpan, this.conversionModifiers); } From baa8c7b8e76a627352d50a23e1b1a41682c7fb23 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Thu, 10 Mar 2022 02:06:47 +1100 Subject: [PATCH 158/244] Fix pad memory access error --- .../Processing/Extensions/Transforms/PadExtensions.cs | 6 +++++- .../Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs | 5 +---- .../Processing/Processors/Transforms/Resize/ResizeWorker.cs | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/ImageSharp/Processing/Extensions/Transforms/PadExtensions.cs b/src/ImageSharp/Processing/Extensions/Transforms/PadExtensions.cs index ff374a9ac..5e9e42032 100644 --- a/src/ImageSharp/Processing/Extensions/Transforms/PadExtensions.cs +++ b/src/ImageSharp/Processing/Extensions/Transforms/PadExtensions.cs @@ -1,6 +1,8 @@ // Copyright (c) Six Labors. // Licensed under the Apache License, Version 2.0. +using System; + namespace SixLabors.ImageSharp.Processing { /// @@ -29,9 +31,11 @@ namespace SixLabors.ImageSharp.Processing /// The to allow chaining of operations. public static IImageProcessingContext Pad(this IImageProcessingContext source, int width, int height, Color color) { + Size size = source.GetCurrentSize(); var options = new ResizeOptions { - Size = new Size(width, height), + // Prevent downsizing. + Size = new Size(Math.Max(width, size.Width), Math.Max(height, size.Height)), Mode = ResizeMode.BoxPad, Sampler = KnownResamplers.NearestNeighbor, PadColor = color diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs index e0ccb487f..af8adc2d5 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs @@ -61,12 +61,9 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms Rectangle destinationRectangle = this.destinationRectangle; bool compand = this.options.Compand; bool premultiplyAlpha = this.options.PremultiplyAlpha; - - this.options.PadColor = Color.GreenYellow; - + TPixel fillColor = this.options.PadColor.ToPixel(); bool shouldFill = (this.options.Mode == ResizeMode.BoxPad || this.options.Mode == ResizeMode.Pad) && this.options.PadColor != default; - TPixel fillColor = this.options.PadColor.ToPixel(); // Handle resize dimensions identical to the original if (source.Width == destination.Width diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs index 5f3c60989..a4a504317 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs @@ -80,14 +80,14 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms int numberOfWindowBands = ResizeHelper.CalculateResizeWorkerHeightInWindowBands( this.windowBandHeight, - targetWorkingRect.Width, + destWidth, workingBufferLimitHintInBytes); this.workerHeight = Math.Min(this.sourceRectangle.Height, numberOfWindowBands * this.windowBandHeight); this.transposedFirstPassBuffer = configuration.MemoryAllocator.Allocate2D( this.workerHeight, - targetWorkingRect.Width, + destWidth, preferContiguosImageBuffers: true, options: AllocationOptions.Clean); From 06bdf138bd53cb59f9266621eb42be5c20d39e83 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Thu, 10 Mar 2022 02:29:22 +1100 Subject: [PATCH 159/244] Optimize memory usage for resize pad operations --- .../Transforms/Resize/ResizeKernelMap.cs | 2 +- .../Resize/ResizeProcessor{TPixel}.cs | 13 +++++-------- .../Transforms/Resize/ResizeWorker.cs | 18 ++++++++---------- 3 files changed, 14 insertions(+), 19 deletions(-) diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeKernelMap.cs b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeKernelMap.cs index c9dda5f6b..f4bda8bf4 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeKernelMap.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeKernelMap.cs @@ -101,7 +101,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms /// Returns a for an index value between 0 and DestinationSize - 1. /// [MethodImpl(InliningOptions.ShortMethod)] - internal ref ResizeKernel GetKernel(int destIdx) => ref this.kernels[destIdx]; + internal ref ResizeKernel GetKernel(nint destIdx) => ref this.kernels[destIdx]; /// /// Computes the weights to apply at each pixel when resizing. diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs index af8adc2d5..b34675896 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeProcessor{TPixel}.cs @@ -209,21 +209,18 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms // To reintroduce parallel processing, we would launch multiple workers // for different row intervals of the image. - using (var worker = new ResizeWorker( + using var worker = new ResizeWorker( configuration, sourceRegion, conversionModifiers, horizontalKernelMap, verticalKernelMap, - destination.Width, interest, - destinationRectangle.Location)) - { - worker.Initialize(); + destinationRectangle.Location); + worker.Initialize(); - var workingInterval = new RowInterval(interest.Top, interest.Bottom); - worker.FillDestinationPixels(workingInterval, destination.PixelBuffer); - } + var workingInterval = new RowInterval(interest.Top, interest.Bottom); + worker.FillDestinationPixels(workingInterval, destination.PixelBuffer); } private readonly struct NNRowOperation : IRowOperation diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs index a4a504317..2a582ed8a 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs @@ -39,8 +39,6 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms private readonly ResizeKernelMap verticalKernelMap; - private readonly int destWidth; - private readonly Rectangle targetWorkingRect; private readonly Point targetOrigin; @@ -57,7 +55,6 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms PixelConversionModifiers conversionModifiers, ResizeKernelMap horizontalKernelMap, ResizeKernelMap verticalKernelMap, - int destWidth, Rectangle targetWorkingRect, Point targetOrigin) { @@ -67,7 +64,6 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms this.conversionModifiers = conversionModifiers; this.horizontalKernelMap = horizontalKernelMap; this.verticalKernelMap = verticalKernelMap; - this.destWidth = destWidth; this.targetWorkingRect = targetWorkingRect; this.targetOrigin = targetOrigin; @@ -80,14 +76,14 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms int numberOfWindowBands = ResizeHelper.CalculateResizeWorkerHeightInWindowBands( this.windowBandHeight, - destWidth, + targetWorkingRect.Width, workingBufferLimitHintInBytes); this.workerHeight = Math.Min(this.sourceRectangle.Height, numberOfWindowBands * this.windowBandHeight); this.transposedFirstPassBuffer = configuration.MemoryAllocator.Allocate2D( this.workerHeight, - destWidth, + targetWorkingRect.Width, preferContiguosImageBuffers: true, options: AllocationOptions.Clean); @@ -137,9 +133,9 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms ref Vector4 fpBase = ref transposedFirstPassBufferSpan[top]; - for (int x = left; x < right; x++) + for (nint x = left; x < right; x++) { - ref Vector4 firstPassColumnBase = ref Unsafe.Add(ref fpBase, x * this.workerHeight); + ref Vector4 firstPassColumnBase = ref Unsafe.Add(ref fpBase, (x - left) * this.workerHeight); // Destination color components Unsafe.Add(ref tempRowBase, x - left) = kernel.ConvolveCore(ref firstPassColumnBase); @@ -174,6 +170,8 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms Span tempRowSpan = this.tempRowBuffer.GetSpan(); Span transposedFirstPassBufferSpan = this.transposedFirstPassBuffer.DangerousGetSingleSpan(); + int left = this.targetWorkingRect.Left; + int right = this.targetWorkingRect.Right; for (int y = calculationInterval.Min; y < calculationInterval.Max; y++) { Span sourceRow = this.source.DangerousGetRowSpan(y); @@ -188,13 +186,13 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms // Span firstPassSpan = transposedFirstPassBufferSpan.Slice(y - this.currentWindow.Min); ref Vector4 firstPassBaseRef = ref transposedFirstPassBufferSpan[y - this.currentWindow.Min]; - for (int x = this.targetWorkingRect.Left; x < this.targetWorkingRect.Right; x++) + for (nint x = left; x < right; x++) { ResizeKernel kernel = this.horizontalKernelMap.GetKernel(x - this.targetOrigin.X); // optimization for: // firstPassSpan[x * this.workerHeight] = kernel.Convolve(tempRowSpan); - Unsafe.Add(ref firstPassBaseRef, x * this.workerHeight) = kernel.Convolve(tempRowSpan); + Unsafe.Add(ref firstPassBaseRef, (x - left) * this.workerHeight) = kernel.Convolve(tempRowSpan); } } } From 0197de6f6c289c068d0b614a5254fe655ac34aee Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Thu, 10 Mar 2022 02:38:50 +1100 Subject: [PATCH 160/244] Update tests --- .../Processing/Processors/Transforms/ResizeTests.cs | 6 ++++-- .../ResizeTests/ResizeWithBoxPadMode_CalliphoraPartial.png | 4 ++-- .../ResizeTests/ResizeWithPadMode_CalliphoraPartial.png | 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeTests.cs index 6e275b824..b1ff3df08 100644 --- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeTests.cs +++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeTests.cs @@ -472,7 +472,8 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms var options = new ResizeOptions { Size = new Size(image.Width + 200, image.Height + 200), - Mode = ResizeMode.BoxPad + Mode = ResizeMode.BoxPad, + PadColor = Color.HotPink }; image.Mutate(x => x.Resize(options)); @@ -580,7 +581,8 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms var options = new ResizeOptions { Size = new Size(image.Width + 200, image.Height), - Mode = ResizeMode.Pad + Mode = ResizeMode.Pad, + PadColor = Color.Lavender }; image.Mutate(x => x.Resize(options)); diff --git a/tests/Images/External/ReferenceOutput/ResizeTests/ResizeWithBoxPadMode_CalliphoraPartial.png b/tests/Images/External/ReferenceOutput/ResizeTests/ResizeWithBoxPadMode_CalliphoraPartial.png index 35d633c86..804c5dcf9 100644 --- a/tests/Images/External/ReferenceOutput/ResizeTests/ResizeWithBoxPadMode_CalliphoraPartial.png +++ b/tests/Images/External/ReferenceOutput/ResizeTests/ResizeWithBoxPadMode_CalliphoraPartial.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1642520a9d4491f55af5a83280423929529e3d528637538d148b9dc2ecdd6d2d -size 365839 +oid sha256:77086032bab11b91c68bc1686179063edbadc9d453574e4f087b2bbd677b4c8e +size 402367 diff --git a/tests/Images/External/ReferenceOutput/ResizeTests/ResizeWithPadMode_CalliphoraPartial.png b/tests/Images/External/ReferenceOutput/ResizeTests/ResizeWithPadMode_CalliphoraPartial.png index 690c2ad46..bfa048f82 100644 --- a/tests/Images/External/ReferenceOutput/ResizeTests/ResizeWithPadMode_CalliphoraPartial.png +++ b/tests/Images/External/ReferenceOutput/ResizeTests/ResizeWithPadMode_CalliphoraPartial.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:060826324dcd4baa1df1b075707a9bd9527cf87c1d156e3beb3d8abb499bdcd5 -size 361829 +oid sha256:5c0653aa2b726574fbea4cc308c269ff5e534d38bb48c0e77470c11042a395fd +size 400267 From 555a0d7b67c952e2884b33b685a3f6f21745e618 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Thu, 10 Mar 2022 15:25:08 +0100 Subject: [PATCH 161/244] Fix app1 parsing --- .../Formats/Jpeg/JpegDecoderCore.cs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs index 023928f37..ef4e3ffac 100644 --- a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs +++ b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs @@ -677,7 +677,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg } /// - /// Processes the App1 marker retrieving any stored metadata + /// Processes the App1 marker retrieving any stored metadata. /// /// The input stream. /// The remaining bytes in the segment block. @@ -687,7 +687,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg const int XmpMarkerLength = 29; if (remaining < ExifMarkerLength || this.IgnoreMetadata) { - // Skip the application header length + // Skip the application header length. stream.Skip(remaining); return; } @@ -697,12 +697,12 @@ namespace SixLabors.ImageSharp.Formats.Jpeg JpegThrowHelper.ThrowInvalidImageContentException("Bad App1 Marker length."); } - // XMP marker is the longest, so read at least that many bytes into temp. + // XMP marker is the longer then the EXIF marker, so first try read the EXIF marker bytes. stream.Read(this.temp, 0, ExifMarkerLength); + remaining -= ExifMarkerLength; if (ProfileResolver.IsProfile(this.temp, ProfileResolver.ExifMarker)) { - remaining -= ExifMarkerLength; this.hasExif = true; byte[] profile = new byte[remaining]; stream.Read(profile, 0, remaining); @@ -713,7 +713,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg } else { - // If the EXIF information exceeds 64K, it will be split over multiple APP1 markers + // If the EXIF information exceeds 64K, it will be split over multiple APP1 markers. this.ExtendProfile(ref this.exifData, profile); } @@ -722,9 +722,10 @@ namespace SixLabors.ImageSharp.Formats.Jpeg if (ProfileResolver.IsProfile(this.temp, ProfileResolver.XmpMarker.Slice(0, ExifMarkerLength))) { - stream.Read(this.temp, 0, XmpMarkerLength - ExifMarkerLength); - remaining -= XmpMarkerLength; - if (ProfileResolver.IsProfile(this.temp, ProfileResolver.XmpMarker.Slice(ExifMarkerLength))) + int remainingXmpMarkerBytes = XmpMarkerLength - ExifMarkerLength; + stream.Read(this.temp, ExifMarkerLength, remainingXmpMarkerBytes); + remaining -= remainingXmpMarkerBytes; + if (ProfileResolver.IsProfile(this.temp, ProfileResolver.XmpMarker)) { this.hasXmp = true; byte[] profile = new byte[remaining]; @@ -736,7 +737,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg } else { - // If the XMP information exceeds 64K, it will be split over multiple APP1 markers + // If the XMP information exceeds 64K, it will be split over multiple APP1 markers. this.ExtendProfile(ref this.xmpData, profile); } From 29aa049b714d7c7fe0df90736b0c3e80d4d8c25a Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Thu, 10 Mar 2022 15:31:28 +0100 Subject: [PATCH 162/244] Add test for #2057 --- .../Formats/Jpg/JpegDecoderTests.Metadata.cs | 1 - .../Formats/Jpg/JpegDecoderTests.cs | 17 +++++++++++++++-- tests/ImageSharp.Tests/TestImages.cs | 1 + .../Input/Jpg/issues/Issue2057-App1Parsing.jpg | 3 +++ 4 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 tests/Images/Input/Jpg/issues/Issue2057-App1Parsing.jpg diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs index 840cc9f68..ffd58e5b7 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs @@ -4,7 +4,6 @@ using System; using System.IO; using System.Runtime.CompilerServices; -using System.Text; using SixLabors.ImageSharp.Formats; using SixLabors.ImageSharp.Formats.Jpeg; using SixLabors.ImageSharp.Metadata; diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs index 7a2446959..4409f91a0 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs @@ -21,7 +21,7 @@ using Xunit.Abstractions; namespace SixLabors.ImageSharp.Tests.Formats.Jpg { // TODO: Scatter test cases into multiple test classes - [Trait("Format", "Jpg")] + [Trait("Format", "Jpg")] public partial class JpegDecoderTests { public const PixelTypes CommonNonDefaultPixelTypes = PixelTypes.Rgba32 | PixelTypes.Argb32 | PixelTypes.Bgr24 | PixelTypes.RgbaVector; @@ -65,7 +65,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg private ITestOutputHelper Output { get; } - private static JpegDecoder JpegDecoder => new JpegDecoder(); + private static JpegDecoder JpegDecoder => new(); [Fact] public void ParseStream_BasicPropertiesAreCorrect() @@ -213,6 +213,19 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg } } + // https://github.com/SixLabors/ImageSharp/issues/2057 + [Theory] + [WithFile(TestImages.Jpeg.Issues.Issue2057App1Parsing, PixelTypes.Rgba32)] + public void Issue2057_DecodeWorks(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + using (Image image = provider.GetImage(JpegDecoder)) + { + image.DebugSave(provider); + image.CompareToOriginal(provider); + } + } + // DEBUG ONLY! // The PDF.js output should be saved by "tests\ImageSharp.Tests\Formats\Jpg\pdfjs\jpeg-converter.htm" // into "\tests\Images\ActualOutput\JpegDecoderTests\" diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index 5ed0a12f7..2886b5106 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -262,6 +262,7 @@ namespace SixLabors.ImageSharp.Tests public const string MalformedUnsupportedComponentCount = "Jpg/issues/issue-1900-malformed-unsupported-255-components.jpg"; public const string MultipleApp01932 = "Jpg/issues/issue-1932-app0-resolution.jpg"; public const string InvalidIptcTag = "Jpg/issues/Issue1942InvalidIptcTag.jpg"; + public const string Issue2057App1Parsing = "Jpg/issues/Issue2057-App1Parsing.jpg"; public static class Fuzz { diff --git a/tests/Images/Input/Jpg/issues/Issue2057-App1Parsing.jpg b/tests/Images/Input/Jpg/issues/Issue2057-App1Parsing.jpg new file mode 100644 index 000000000..d1ffe4ac9 --- /dev/null +++ b/tests/Images/Input/Jpg/issues/Issue2057-App1Parsing.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7048dee15946bf981e5b0d2481ffcb8a64684fddca07172275b13a05f01b6b63 +size 1631109 From 1d2d717a50909135ef44e0427dbb30f81fc8424c Mon Sep 17 00:00:00 2001 From: Ynse Hoornenborg Date: Fri, 11 Mar 2022 12:24:01 +0100 Subject: [PATCH 163/244] Fix and test --- .../Metadata/Profiles/Exif/Values/ExifValue.cs | 2 +- .../Formats/Jpg/JpegDecoderTests.Metadata.cs | 13 +++++++++++++ tests/ImageSharp.Tests/TestImages.cs | 1 + .../Input/Jpg/issues/issue-2056-exif-null-array.jpg | 3 +++ 4 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 tests/Images/Input/Jpg/issues/issue-2056-exif-null-array.jpg diff --git a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValue.cs b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValue.cs index 314333919..82bd6ad2e 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValue.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/Values/ExifValue.cs @@ -29,7 +29,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif { // All array types are value types so Clone() is sufficient here. var array = (Array)other.GetValue(); - this.TrySetValue(array.Clone()); + this.TrySetValue(array?.Clone()); } } diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs index 840cc9f68..cd55c98ea 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs @@ -302,6 +302,19 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg Assert.Null(ex); } + [Theory] + [WithFile(TestImages.Jpeg.Issues.ExifNullArrayTag, PixelTypes.Rgba32)] + public void Clone_WithNullRationalArrayTag_DoesNotThrowException(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + Exception ex = Record.Exception(() => + { + using Image image = provider.GetImage(JpegDecoder); + var clone = image.Metadata.ExifProfile.DeepClone(); + }); + Assert.Null(ex); + } + [Fact] public void EncodedStringTags_WriteAndRead() { diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index aa4314b8e..39fede914 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -262,6 +262,7 @@ namespace SixLabors.ImageSharp.Tests public const string MalformedUnsupportedComponentCount = "Jpg/issues/issue-1900-malformed-unsupported-255-components.jpg"; public const string MultipleApp01932 = "Jpg/issues/issue-1932-app0-resolution.jpg"; public const string InvalidIptcTag = "Jpg/issues/Issue1942InvalidIptcTag.jpg"; + public const string ExifNullArrayTag = "Jpg/issues/issue-2056-exif-null-array.jpg"; public static class Fuzz { diff --git a/tests/Images/Input/Jpg/issues/issue-2056-exif-null-array.jpg b/tests/Images/Input/Jpg/issues/issue-2056-exif-null-array.jpg new file mode 100644 index 000000000..9b5bc8303 --- /dev/null +++ b/tests/Images/Input/Jpg/issues/issue-2056-exif-null-array.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4c52500be37a8ea1ee1caeb78c79e44b02e10912df4f6db65313c6745573c8ee +size 250451 From 406240eec7e6b499dcee716ebb1b5bf7f21bd9e5 Mon Sep 17 00:00:00 2001 From: Ynse Hoornenborg Date: Sat, 12 Mar 2022 13:58:34 +0100 Subject: [PATCH 164/244] Unrelated fix for compiler warnings --- .../Formats/Jpg/JpegDecoderTests.cs | 2 +- .../Memory/Buffer2DTests.SwapOrCopyContent.cs | 22 +++++++++---------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs index 7a2446959..ccb3e3fb9 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs @@ -21,7 +21,7 @@ using Xunit.Abstractions; namespace SixLabors.ImageSharp.Tests.Formats.Jpg { // TODO: Scatter test cases into multiple test classes - [Trait("Format", "Jpg")] + [Trait("Format", "Jpg")] public partial class JpegDecoderTests { public const PixelTypes CommonNonDefaultPixelTypes = PixelTypes.Rgba32 | PixelTypes.Argb32 | PixelTypes.Bgr24 | PixelTypes.RgbaVector; diff --git a/tests/ImageSharp.Tests/Memory/Buffer2DTests.SwapOrCopyContent.cs b/tests/ImageSharp.Tests/Memory/Buffer2DTests.SwapOrCopyContent.cs index f58136f73..5b6938df1 100644 --- a/tests/ImageSharp.Tests/Memory/Buffer2DTests.SwapOrCopyContent.cs +++ b/tests/ImageSharp.Tests/Memory/Buffer2DTests.SwapOrCopyContent.cs @@ -13,13 +13,13 @@ namespace SixLabors.ImageSharp.Tests.Memory { public class SwapOrCopyContent { - private readonly TestMemoryAllocator MemoryAllocator = new TestMemoryAllocator(); + private readonly TestMemoryAllocator memoryAllocator = new TestMemoryAllocator(); [Fact] public void SwapOrCopyContent_WhenBothAllocated() { - using (Buffer2D a = this.MemoryAllocator.Allocate2D(10, 5, AllocationOptions.Clean)) - using (Buffer2D b = this.MemoryAllocator.Allocate2D(3, 7, AllocationOptions.Clean)) + using (Buffer2D a = this.memoryAllocator.Allocate2D(10, 5, AllocationOptions.Clean)) + using (Buffer2D b = this.memoryAllocator.Allocate2D(3, 7, AllocationOptions.Clean)) { a[1, 3] = 666; b[1, 3] = 444; @@ -46,7 +46,7 @@ namespace SixLabors.ImageSharp.Tests.Memory using var destData = MemoryGroup.Wrap(new int[100]); using var dest = new Buffer2D(destData, 10, 10); - using (Buffer2D source = this.MemoryAllocator.Allocate2D(10, 10, AllocationOptions.Clean)) + using (Buffer2D source = this.memoryAllocator.Allocate2D(10, 10, AllocationOptions.Clean)) { source[0, 0] = 1; dest[0, 0] = 2; @@ -68,9 +68,9 @@ namespace SixLabors.ImageSharp.Tests.Memory [Fact] public void WhenBothAreMemoryOwners_ShouldSwap() { - this.MemoryAllocator.BufferCapacityInBytes = sizeof(int) * 50; - using Buffer2D a = this.MemoryAllocator.Allocate2D(48, 2); - using Buffer2D b = this.MemoryAllocator.Allocate2D(50, 2); + this.memoryAllocator.BufferCapacityInBytes = sizeof(int) * 50; + using Buffer2D a = this.memoryAllocator.Allocate2D(48, 2); + using Buffer2D b = this.memoryAllocator.Allocate2D(50, 2); Memory a0 = a.FastMemoryGroup[0]; Memory a1 = a.FastMemoryGroup[1]; @@ -90,8 +90,8 @@ namespace SixLabors.ImageSharp.Tests.Memory [Fact] public void WhenBothAreMemoryOwners_ShouldReplaceViews() { - using Buffer2D a = this.MemoryAllocator.Allocate2D(100, 1); - using Buffer2D b = this.MemoryAllocator.Allocate2D(100, 2); + using Buffer2D a = this.memoryAllocator.Allocate2D(100, 1); + using Buffer2D b = this.memoryAllocator.Allocate2D(100, 2); a.FastMemoryGroup[0].Span[42] = 1; b.FastMemoryGroup[0].Span[33] = 2; @@ -121,7 +121,7 @@ namespace SixLabors.ImageSharp.Tests.Memory using var destOwner = new TestMemoryManager(data); using var dest = new Buffer2D(MemoryGroup.Wrap(destOwner.Memory), 21, 1); - using Buffer2D source = this.MemoryAllocator.Allocate2D(21, 1); + using Buffer2D source = this.memoryAllocator.Allocate2D(21, 1); source.FastMemoryGroup[0].Span[10] = color; @@ -145,7 +145,7 @@ namespace SixLabors.ImageSharp.Tests.Memory using var destOwner = new TestMemoryManager(data); using var dest = new Buffer2D(MemoryGroup.Wrap(destOwner.Memory), 21, 1); - using Buffer2D source = this.MemoryAllocator.Allocate2D(22, 1); + using Buffer2D source = this.memoryAllocator.Allocate2D(22, 1); source.FastMemoryGroup[0].Span[10] = color; From 199a9e24311282cf6978b1f5ec6c326fea05fc6f Mon Sep 17 00:00:00 2001 From: Ynse Hoornenborg Date: Sun, 13 Mar 2022 10:05:16 +0100 Subject: [PATCH 165/244] Implement border wrapping modes --- .../Convolution/BorderWrappingMode.cs | 21 ++ .../Convolution/KernelSamplingMap.cs | 126 +++++-- .../Convolution/KernelSamplingMapTest.cs | 324 ++++++++++++++++++ 3 files changed, 433 insertions(+), 38 deletions(-) create mode 100644 src/ImageSharp/Processing/Processors/Convolution/BorderWrappingMode.cs create mode 100644 tests/ImageSharp.Tests/Processing/Convolution/KernelSamplingMapTest.cs diff --git a/src/ImageSharp/Processing/Processors/Convolution/BorderWrappingMode.cs b/src/ImageSharp/Processing/Processors/Convolution/BorderWrappingMode.cs new file mode 100644 index 000000000..0dd5e5943 --- /dev/null +++ b/src/ImageSharp/Processing/Processors/Convolution/BorderWrappingMode.cs @@ -0,0 +1,21 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +namespace SixLabors.ImageSharp.Processing.Processors.Convolution +{ + /// + /// Wrapping mode for the border pixels in convolution processing. + /// + public enum BorderWrappingMode : byte + { + /// Repeat the border pixel value: aaaaaa|abcdefgh|hhhhhhh + Repeat = 0, + + /// Take values from the opposite edge: cdefgh|abcdefgh|abcdefg + Wrap = 1, + + /// Mirror the last few border values: fedcb|abcdefgh|gfedcb + /// Please note this mode doe not repeat the very border pixel, as this gives better image quality. + Mirror = 2 + } +} diff --git a/src/ImageSharp/Processing/Processors/Convolution/KernelSamplingMap.cs b/src/ImageSharp/Processing/Processors/Convolution/KernelSamplingMap.cs index 904b599f7..5c0a25bef 100644 --- a/src/ImageSharp/Processing/Processors/Convolution/KernelSamplingMap.cs +++ b/src/ImageSharp/Processing/Processors/Convolution/KernelSamplingMap.cs @@ -31,7 +31,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution /// The convolution kernel. /// The source bounds. public void BuildSamplingOffsetMap(DenseMatrix kernel, Rectangle bounds) - => this.BuildSamplingOffsetMap(kernel.Rows, kernel.Columns, bounds); + => this.BuildSamplingOffsetMap(kernel.Rows, kernel.Columns, bounds, BorderWrappingMode.Repeat, BorderWrappingMode.Repeat); /// /// Builds a map of the sampling offsets for the kernel clamped by the given bounds. @@ -40,6 +40,17 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution /// The width (number of columns) of the convolution kernel to use. /// The source bounds. public void BuildSamplingOffsetMap(int kernelHeight, int kernelWidth, Rectangle bounds) + => this.BuildSamplingOffsetMap(kernelHeight, kernelWidth, bounds, BorderWrappingMode.Repeat, BorderWrappingMode.Repeat); + + /// + /// Builds a map of the sampling offsets for the kernel clamped by the given bounds. + /// + /// The height (number of rows) of the convolution kernel to use. + /// The width (number of columns) of the convolution kernel to use. + /// The source bounds. + /// The wrapping mode on the horizontal borders. + /// The wrapping mode on the vertical borders. + public void BuildSamplingOffsetMap(int kernelHeight, int kernelWidth, Rectangle bounds, BorderWrappingMode xBorderMode, BorderWrappingMode yBorderMode) { this.yOffsets = this.allocator.Allocate(bounds.Height * kernelHeight); this.xOffsets = this.allocator.Allocate(bounds.Width * kernelWidth); @@ -49,43 +60,8 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution int minX = bounds.X; int maxX = bounds.Right - 1; - int radiusY = kernelHeight >> 1; - int radiusX = kernelWidth >> 1; - - // Calculate the y and x sampling offsets clamped to the given rectangle. - // While this isn't a hotpath we still dip into unsafe to avoid the span bounds - // checks as the can potentially be looping over large arrays. - Span ySpan = this.yOffsets.GetSpan(); - ref int ySpanBase = ref MemoryMarshal.GetReference(ySpan); - for (int row = 0; row < bounds.Height; row++) - { - int rowBase = row * kernelHeight; - for (int y = 0; y < kernelHeight; y++) - { - Unsafe.Add(ref ySpanBase, rowBase + y) = row + y + minY - radiusY; - } - } - - if (kernelHeight > 1) - { - Numerics.Clamp(ySpan, minY, maxY); - } - - Span xSpan = this.xOffsets.GetSpan(); - ref int xSpanBase = ref MemoryMarshal.GetReference(xSpan); - for (int column = 0; column < bounds.Width; column++) - { - int columnBase = column * kernelWidth; - for (int x = 0; x < kernelWidth; x++) - { - Unsafe.Add(ref xSpanBase, columnBase + x) = column + x + minX - radiusX; - } - } - - if (kernelWidth > 1) - { - Numerics.Clamp(xSpan, minX, maxX); - } + this.BuildOffsets(this.yOffsets, bounds.Height, kernelHeight, minY, maxY, yBorderMode); + this.BuildOffsets(this.xOffsets, bounds.Width, kernelWidth, minX, maxX, xBorderMode); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -105,5 +81,79 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution this.isDisposed = true; } } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private void BuildOffsets(IMemoryOwner offsets, int boundsSize, int kernelSize, int min, int max, BorderWrappingMode borderMode) + { + int radius = kernelSize >> 1; + Span span = offsets.GetSpan(); + ref int spanBase = ref MemoryMarshal.GetReference(span); + for (int chunk = 0; chunk < boundsSize; chunk++) + { + int chunkBase = chunk * kernelSize; + for (int i = 0; i < kernelSize; i++) + { + Unsafe.Add(ref spanBase, chunkBase + i) = chunk + i + min - radius; + } + } + + this.CorrectBorder(span, kernelSize, min, max, borderMode); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private void CorrectBorder(Span span, int kernelSize, int min, int max, BorderWrappingMode borderMode) + { + var affectedSize = (kernelSize >> 1) * kernelSize; + if (affectedSize > 0) + { + switch (borderMode) + { + case BorderWrappingMode.Repeat: + Numerics.Clamp(span.Slice(0, affectedSize), min, max); + Numerics.Clamp(span.Slice(span.Length - affectedSize), min, max); + break; + case BorderWrappingMode.Mirror: + for (int i = 0; i < affectedSize; i++) + { + var value = span[i]; + if (value < min) + { + span[i] = min - value + min; + } + } + + for (int i = span.Length - affectedSize; i < span.Length; i++) + { + var value = span[i]; + if (value > max) + { + span[i] = max - value + max; + } + } + + break; + case BorderWrappingMode.Wrap: + for (int i = 0; i < affectedSize; i++) + { + var value = span[i]; + if (value < min) + { + span[i] = max - min + value + 1; + } + } + + for (int i = span.Length - affectedSize; i < span.Length; i++) + { + var value = span[i]; + if (value > max) + { + span[i] = min + value - max - 1; + } + } + + break; + } + } + } } } diff --git a/tests/ImageSharp.Tests/Processing/Convolution/KernelSamplingMapTest.cs b/tests/ImageSharp.Tests/Processing/Convolution/KernelSamplingMapTest.cs new file mode 100644 index 000000000..68af58b59 --- /dev/null +++ b/tests/ImageSharp.Tests/Processing/Convolution/KernelSamplingMapTest.cs @@ -0,0 +1,324 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using SixLabors.ImageSharp.Processing.Processors.Convolution; +using Xunit; + +namespace SixLabors.ImageSharp.Tests.Processing.Convolution +{ + [Trait("Category", "Processors")] + public class KernelSamplingMapTest + { + [Fact] + public void KernalSamplingMap_Kernel5Image7x7RepeatBorder() + { + var kernelSize = new Size(5, 5); + var bounds = new Rectangle(0, 0, 7, 7); + var mode = BorderWrappingMode.Repeat; + int[] expected = + { + 0, 0, 0, 1, 2, + 0, 0, 1, 2, 3, + 0, 1, 2, 3, 4, + 1, 2, 3, 4, 5, + 2, 3, 4, 5, 6, + 3, 4, 5, 6, 6, + 4, 5, 6, 6, 6, + }; + this.AssertOffsets(kernelSize, bounds, mode, mode, expected, expected); + } + + [Fact] + public void KernalSamplingMap_Kernel5Image7x7MirrorBorder() + { + var kernelSize = new Size(5, 5); + var bounds = new Rectangle(0, 0, 7, 7); + var mode = BorderWrappingMode.Mirror; + int[] expected = + { + 2, 1, 0, 1, 2, + 1, 0, 1, 2, 3, + 0, 1, 2, 3, 4, + 1, 2, 3, 4, 5, + 2, 3, 4, 5, 6, + 3, 4, 5, 6, 5, + 4, 5, 6, 5, 4, + }; + this.AssertOffsets(kernelSize, bounds, mode, mode, expected, expected); + } + + [Fact] + public void KernalSamplingMap_Kernel5Image7x7WrapBorder() + { + var kernelSize = new Size(5, 5); + var bounds = new Rectangle(0, 0, 7, 7); + var mode = BorderWrappingMode.Wrap; + int[] expected = + { + 5, 6, 0, 1, 2, + 6, 0, 1, 2, 3, + 0, 1, 2, 3, 4, + 1, 2, 3, 4, 5, + 2, 3, 4, 5, 6, + 3, 4, 5, 6, 0, + 4, 5, 6, 0, 1, + }; + this.AssertOffsets(kernelSize, bounds, mode, mode, expected, expected); + } + + [Fact] + public void KernalSamplingMap_Kernel5Image9x9MirrorBorder() + { + var kernelSize = new Size(5, 5); + var bounds = new Rectangle(1, 1, 9, 9); + var mode = BorderWrappingMode.Mirror; + int[] expected = + { + 3, 2, 1, 2, 3, + 2, 1, 2, 3, 4, + 1, 2, 3, 4, 5, + 2, 3, 4, 5, 6, + 3, 4, 5, 6, 7, + 4, 5, 6, 7, 8, + 5, 6, 7, 8, 9, + 6, 7, 8, 9, 8, + 7, 8, 9, 8, 7, + }; + this.AssertOffsets(kernelSize, bounds, mode, mode, expected, expected); + } + + [Fact] + public void KernalSamplingMap_Kernel5Image9x9WrapBorder() + { + var kernelSize = new Size(5, 5); + var bounds = new Rectangle(1, 1, 9, 9); + var mode = BorderWrappingMode.Wrap; + int[] expected = + { + 8, 9, 1, 2, 3, + 9, 1, 2, 3, 4, + 1, 2, 3, 4, 5, + 2, 3, 4, 5, 6, + 3, 4, 5, 6, 7, + 4, 5, 6, 7, 8, + 5, 6, 7, 8, 9, + 6, 7, 8, 9, 1, + 7, 8, 9, 1, 2, + }; + this.AssertOffsets(kernelSize, bounds, mode, mode, expected, expected); + } + + [Fact] + public void KernalSamplingMap_Kernel5Image7x7RepeatBorderTile() + { + var kernelSize = new Size(5, 5); + var bounds = new Rectangle(2, 2, 7, 7); + var mode = BorderWrappingMode.Repeat; + int[] expected = + { + 2, 2, 2, 3, 4, + 2, 2, 3, 4, 5, + 2, 3, 4, 5, 6, + 3, 4, 5, 6, 7, + 4, 5, 6, 7, 8, + 5, 6, 7, 8, 8, + 6, 7, 8, 8, 8, + }; + this.AssertOffsets(kernelSize, bounds, mode, mode, expected, expected); + } + + [Fact] + public void KernalSamplingMap_Kernel5Image7x7MirrorBorderTile() + { + var kernelSize = new Size(5, 5); + var bounds = new Rectangle(2, 2, 7, 7); + var mode = BorderWrappingMode.Mirror; + int[] expected = + { + 4, 3, 2, 3, 4, + 3, 2, 3, 4, 5, + 2, 3, 4, 5, 6, + 3, 4, 5, 6, 7, + 4, 5, 6, 7, 8, + 5, 6, 7, 8, 7, + 6, 7, 8, 7, 6, + }; + this.AssertOffsets(kernelSize, bounds, mode, mode, expected, expected); + } + + [Fact] + public void KernalSamplingMap_Kernel5Image7x7WrapBorderTile() + { + var kernelSize = new Size(5, 5); + var bounds = new Rectangle(2, 2, 7, 7); + var mode = BorderWrappingMode.Wrap; + int[] expected = + { + 7, 8, 2, 3, 4, + 8, 2, 3, 4, 5, + 2, 3, 4, 5, 6, + 3, 4, 5, 6, 7, + 4, 5, 6, 7, 8, + 5, 6, 7, 8, 2, + 6, 7, 8, 2, 3, + }; + this.AssertOffsets(kernelSize, bounds, mode, mode, expected, expected); + } + + [Fact] + public void KernalSamplingMap_Kernel3Image7x7RepeatBorder() + { + var kernelSize = new Size(3, 3); + var bounds = new Rectangle(0, 0, 7, 7); + var mode = BorderWrappingMode.Repeat; + int[] expected = + { + 0, 0, 1, + 0, 1, 2, + 1, 2, 3, + 2, 3, 4, + 3, 4, 5, + 4, 5, 6, + 5, 6, 6, + }; + this.AssertOffsets(kernelSize, bounds, mode, mode, expected, expected); + } + + [Fact] + public void KernalSamplingMap_Kernel3Image7x7MirrorBorder() + { + var kernelSize = new Size(3, 3); + var bounds = new Rectangle(0, 0, 7, 7); + var mode = BorderWrappingMode.Mirror; + int[] expected = + { + 1, 0, 1, + 0, 1, 2, + 1, 2, 3, + 2, 3, 4, + 3, 4, 5, + 4, 5, 6, + 5, 6, 5, + }; + this.AssertOffsets(kernelSize, bounds, mode, mode, expected, expected); + } + + [Fact] + public void KernalSamplingMap_Kernel3Image7x7WrapBorder() + { + var kernelSize = new Size(3, 3); + var bounds = new Rectangle(0, 0, 7, 7); + var mode = BorderWrappingMode.Wrap; + int[] expected = + { + 6, 0, 1, + 0, 1, 2, + 1, 2, 3, + 2, 3, 4, + 3, 4, 5, + 4, 5, 6, + 5, 6, 0, + }; + this.AssertOffsets(kernelSize, bounds, mode, mode, expected, expected); + } + + [Fact] + public void KernalSamplingMap_Kernel3Image7x7RepeatBorderTile() + { + var kernelSize = new Size(3, 3); + var bounds = new Rectangle(2, 2, 7, 7); + var mode = BorderWrappingMode.Repeat; + int[] expected = + { + 2, 2, 3, + 2, 3, 4, + 3, 4, 5, + 4, 5, 6, + 5, 6, 7, + 6, 7, 8, + 7, 8, 8, + }; + this.AssertOffsets(kernelSize, bounds, mode, mode, expected, expected); + } + + [Fact] + public void KernalSamplingMap_Kernel3Image7MirrorBorderTile() + { + var kernelSize = new Size(3, 3); + var bounds = new Rectangle(2, 2, 7, 7); + var mode = BorderWrappingMode.Mirror; + int[] expected = + { + 3, 2, 3, + 2, 3, 4, + 3, 4, 5, + 4, 5, 6, + 5, 6, 7, + 6, 7, 8, + 7, 8, 7, + }; + this.AssertOffsets(kernelSize, bounds, mode, mode, expected, expected); + } + + [Fact] + public void KernalSamplingMap_Kernel3Image7x7WrapBorderTile() + { + var kernelSize = new Size(3, 3); + var bounds = new Rectangle(2, 2, 7, 7); + var mode = BorderWrappingMode.Wrap; + int[] expected = + { + 8, 2, 3, + 2, 3, 4, + 3, 4, 5, + 4, 5, 6, + 5, 6, 7, + 6, 7, 8, + 7, 8, 2, + }; + this.AssertOffsets(kernelSize, bounds, mode, mode, expected, expected); + } + + [Fact] + public void KernalSamplingMap_Kernel3Image7x5WrapBorderTile() + { + var kernelSize = new Size(3, 3); + var bounds = new Rectangle(2, 2, 7, 5); + var mode = BorderWrappingMode.Wrap; + int[] xExpected = + { + 8, 2, 3, + 2, 3, 4, + 3, 4, 5, + 4, 5, 6, + 5, 6, 7, + 6, 7, 8, + 7, 8, 2, + }; + int[] yExpected = + { + 6, 2, 3, + 2, 3, 4, + 3, 4, 5, + 4, 5, 6, + 5, 6, 2, + }; + this.AssertOffsets(kernelSize, bounds, mode, mode, xExpected, yExpected); + } + + private void AssertOffsets(Size kernelSize, Rectangle bounds, BorderWrappingMode xBorderMode, BorderWrappingMode yBorderMode, int[] xExpected, int[] yExpected) + { + // Arrange + var map = new KernelSamplingMap(Configuration.Default.MemoryAllocator); + + // Act + map.BuildSamplingOffsetMap(kernelSize.Height, kernelSize.Width, bounds, xBorderMode, yBorderMode); + + // Assert + var xOffsets = map.GetColumnOffsetSpan().ToArray(); + Assert.Equal(xExpected, xOffsets); + var yOffsets = map.GetRowOffsetSpan().ToArray(); + Assert.Equal(yExpected, yOffsets); + } + } +} From f336b80160f2579df6f263c74f68d7bb34179915 Mon Sep 17 00:00:00 2001 From: Ynse Hoornenborg Date: Sun, 13 Mar 2022 11:37:09 +0100 Subject: [PATCH 166/244] Cache some variables --- .../Processors/Convolution/BorderWrappingMode.cs | 2 +- .../Processors/Convolution/KernelSamplingMap.cs | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/ImageSharp/Processing/Processors/Convolution/BorderWrappingMode.cs b/src/ImageSharp/Processing/Processors/Convolution/BorderWrappingMode.cs index 0dd5e5943..1fd1020cc 100644 --- a/src/ImageSharp/Processing/Processors/Convolution/BorderWrappingMode.cs +++ b/src/ImageSharp/Processing/Processors/Convolution/BorderWrappingMode.cs @@ -15,7 +15,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution Wrap = 1, /// Mirror the last few border values: fedcb|abcdefgh|gfedcb - /// Please note this mode doe not repeat the very border pixel, as this gives better image quality. + /// Please note this mode does not repeat the very border pixel, as this gives better image quality. Mirror = 2 } } diff --git a/src/ImageSharp/Processing/Processors/Convolution/KernelSamplingMap.cs b/src/ImageSharp/Processing/Processors/Convolution/KernelSamplingMap.cs index 5c0a25bef..fde8bae3c 100644 --- a/src/ImageSharp/Processing/Processors/Convolution/KernelSamplingMap.cs +++ b/src/ImageSharp/Processing/Processors/Convolution/KernelSamplingMap.cs @@ -104,6 +104,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution private void CorrectBorder(Span span, int kernelSize, int min, int max, BorderWrappingMode borderMode) { var affectedSize = (kernelSize >> 1) * kernelSize; + ref int spanBase = ref MemoryMarshal.GetReference(span); if (affectedSize > 0) { switch (borderMode) @@ -113,32 +114,35 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution Numerics.Clamp(span.Slice(span.Length - affectedSize), min, max); break; case BorderWrappingMode.Mirror: + var min2 = min + min; for (int i = 0; i < affectedSize; i++) { var value = span[i]; if (value < min) { - span[i] = min - value + min; + span[i] = min2 - value; } } + var max2 = max + max; for (int i = span.Length - affectedSize; i < span.Length; i++) { var value = span[i]; if (value > max) { - span[i] = max - value + max; + span[i] = max2 - value; } } break; case BorderWrappingMode.Wrap: + var diff = max - min + 1; for (int i = 0; i < affectedSize; i++) { var value = span[i]; if (value < min) { - span[i] = max - min + value + 1; + span[i] = diff + value; } } @@ -147,7 +151,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution var value = span[i]; if (value > max) { - span[i] = min + value - max - 1; + span[i] = value - diff; } } From 5d894d4f2c6f8a8094b5dd381edfc8efc92ca0c9 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sun, 13 Mar 2022 17:23:25 +0100 Subject: [PATCH 167/244] Add support for decoding Tiff images with associated alpha data --- .../Formats/Tiff/Constants/TiffCompression.cs | 42 +++++++++++----- .../Rgb161616TiffColor{TPixel}.cs | 2 +- .../Rgb16PlanarTiffColor{TPixel}.cs | 4 +- .../Rgba16161616TiffColor{TPixel}.cs | 24 +++++++++- .../Rgba16PlanarTiffColor{TPixel}.cs | 22 +++++++-- .../Rgba24242424TiffColor{TPixel}.cs | 20 ++++++-- .../Rgba24PlanarTiffColor{TPixel}.cs | 18 +++++-- .../Rgba32323232TiffColor{TPixel}.cs | 19 ++++++-- .../Rgba32PlanarTiffColor{TPixel}.cs | 18 +++++-- .../Rgba8888TiffColor{TPixel}.cs | 24 +++++++++- .../RgbaPlanarTiffColor{TPixel}.cs | 18 ++++++- .../RgbaTiffColor{TPixel}.cs | 20 ++++++-- .../TiffColorDecoderFactory{TPixel}.cs | 34 ++++++------- src/ImageSharp/Formats/Tiff/README.md | 13 +---- .../Formats/Tiff/TiffDecoderCore.cs | 6 ++- .../Formats/Tiff/TiffDecoderOptionsParser.cs | 6 +-- .../Formats/Tiff/Utils/TiffUtils.cs | 48 ++++++++++++++++++- .../Formats/Tiff/TiffDecoderTests.cs | 46 ++++++++++++++++++ tests/ImageSharp.Tests/TestImages.cs | 13 +++++ tests/Images/Input/Tiff/RgbaAlpha8bit.tiff | 3 ++ .../Tiff/RgbaAssociatedAlpha10bit_lsb.tiff | 3 ++ .../Tiff/RgbaAssociatedAlpha10bit_msb.tiff | 3 ++ .../Tiff/RgbaAssociatedAlpha12bit_lsb.tiff | 3 ++ .../Tiff/RgbaAssociatedAlpha12bit_msb.tiff | 3 ++ .../Tiff/RgbaAssociatedAlpha14bit_lsb.tiff | 3 ++ .../Tiff/RgbaAssociatedAlpha14bit_msb.tiff | 3 ++ .../Tiff/RgbaAssociatedAlpha16bit_lsb.tiff | 3 ++ .../Tiff/RgbaAssociatedAlpha16bit_msb.tiff | 3 ++ .../Input/Tiff/RgbaAssociatedAlpha3bit.tiff | 3 ++ .../Input/Tiff/RgbaAssociatedAlpha4bit.tiff | 3 ++ .../Input/Tiff/RgbaAssociatedAlpha5bit.tiff | 3 ++ .../Input/Tiff/RgbaAssociatedAlpha6bit.tiff | 3 ++ 32 files changed, 362 insertions(+), 74 deletions(-) create mode 100644 tests/Images/Input/Tiff/RgbaAlpha8bit.tiff create mode 100644 tests/Images/Input/Tiff/RgbaAssociatedAlpha10bit_lsb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaAssociatedAlpha10bit_msb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaAssociatedAlpha12bit_lsb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaAssociatedAlpha12bit_msb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaAssociatedAlpha14bit_lsb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaAssociatedAlpha14bit_msb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaAssociatedAlpha16bit_lsb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaAssociatedAlpha16bit_msb.tiff create mode 100644 tests/Images/Input/Tiff/RgbaAssociatedAlpha3bit.tiff create mode 100644 tests/Images/Input/Tiff/RgbaAssociatedAlpha4bit.tiff create mode 100644 tests/Images/Input/Tiff/RgbaAssociatedAlpha5bit.tiff create mode 100644 tests/Images/Input/Tiff/RgbaAssociatedAlpha6bit.tiff diff --git a/src/ImageSharp/Formats/Tiff/Constants/TiffCompression.cs b/src/ImageSharp/Formats/Tiff/Constants/TiffCompression.cs index 0baf4c89c..765f2c237 100644 --- a/src/ImageSharp/Formats/Tiff/Constants/TiffCompression.cs +++ b/src/ImageSharp/Formats/Tiff/Constants/TiffCompression.cs @@ -23,11 +23,6 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Constants /// Ccitt1D = 2, - /// - /// PackBits compression - /// - PackBits = 32773, - /// /// T4-encoding: CCITT T.4 bi-level encoding (see Section 11 of the TIFF 6.0 specification). /// @@ -65,27 +60,48 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Constants Deflate = 8, /// - /// Deflate compression - old. + /// ITU-T Rec. T.82 coding, applying ITU-T Rec. T.85 (JBIG) (see RFC2301). /// - /// Note: The TIFF encoder does not support this compression and will default to use no compression instead, + /// Note: The TIFF encoder does not yet support this compression and will default to use no compression instead, /// if this is chosen. /// - OldDeflate = 32946, + ItuTRecT82 = 9, /// - /// ITU-T Rec. T.82 coding, applying ITU-T Rec. T.85 (JBIG) (see RFC2301). + /// ITU-T Rec. T.43 representation, using ITU-T Rec. T.82 (JBIG) (see RFC2301). /// /// Note: The TIFF encoder does not yet support this compression and will default to use no compression instead, /// if this is chosen. /// - ItuTRecT82 = 9, + ItuTRecT43 = 10, /// - /// ITU-T Rec. T.43 representation, using ITU-T Rec. T.82 (JBIG) (see RFC2301). + /// NeXT 2-bit Grey Scale compression algorithm. /// - /// Note: The TIFF encoder does not yet support this compression and will default to use no compression instead, + /// Note: The TIFF encoder does not support this compression and will default to use no compression instead, + /// if this is chosen. + /// + NeXT = 32766, + + /// + /// PackBits compression. + /// + PackBits = 32773, + + /// + /// ThunderScan 4-bit compression. + /// + /// Note: The TIFF encoder does not support this compression and will default to use no compression instead, /// if this is chosen. /// - ItuTRecT43 = 10 + ThunderScan = 32809, + + /// + /// Deflate compression - old. + /// + /// Note: The TIFF encoder does not support this compression and will default to use no compression instead, + /// if this is chosen. + /// + OldDeflate = 32946, } } diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb161616TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb161616TiffColor{TPixel}.cs index a4d725bcf..bc7cd317c 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb161616TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb161616TiffColor{TPixel}.cs @@ -55,7 +55,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation ulong b = TiffUtils.ConvertToUShortBigEndian(data.Slice(offset, 2)); offset += 2; - pixelRow[x] = TiffUtils.ColorFromRgba64(rgba, r, g, b, color); + pixelRow[x] = TiffUtils.ColorFromRgb64(rgba, r, g, b, color); } } else diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb16PlanarTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb16PlanarTiffColor{TPixel}.cs index 1c61b0991..a415395a5 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb16PlanarTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb16PlanarTiffColor{TPixel}.cs @@ -50,7 +50,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation offset += 2; - pixelRow[x] = TiffUtils.ColorFromRgba64(rgba, r, g, b, color); + pixelRow[x] = TiffUtils.ColorFromRgb64(rgba, r, g, b, color); } } else @@ -63,7 +63,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation offset += 2; - pixelRow[x] = TiffUtils.ColorFromRgba64(rgba, r, g, b, color); + pixelRow[x] = TiffUtils.ColorFromRgb64(rgba, r, g, b, color); } } } diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16161616TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16161616TiffColor{TPixel}.cs index 7fd8d9879..d0a80bf0d 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16161616TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16161616TiffColor{TPixel}.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. using System; +using System.Numerics; using SixLabors.ImageSharp.Formats.Tiff.Utils; using SixLabors.ImageSharp.Memory; using SixLabors.ImageSharp.PixelFormats; @@ -18,15 +19,23 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation private readonly Configuration configuration; + private readonly MemoryAllocator memoryAllocator; + + private readonly TiffExtraSampleType? extraSamplesType; + /// /// Initializes a new instance of the class. /// /// The configuration. + /// The memory allocator. /// if set to true decodes the pixel data as big endian, otherwise as little endian. - public Rgba16161616TiffColor(Configuration configuration, bool isBigEndian) + /// The type of the extra samples. + public Rgba16161616TiffColor(Configuration configuration, MemoryAllocator memoryAllocator, TiffExtraSampleType? extraSamplesType, bool isBigEndian) { this.configuration = configuration; this.isBigEndian = isBigEndian; + this.memoryAllocator = memoryAllocator; + this.extraSamplesType = extraSamplesType; } /// @@ -38,8 +47,11 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation var color = default(TPixel); color.FromVector4(TiffUtils.Vector4Default); + bool hasAssociatedAlpha = this.extraSamplesType.HasValue && this.extraSamplesType == TiffExtraSampleType.AssociatedAlphaData; int offset = 0; + System.Buffers.IMemoryOwner vectors = hasAssociatedAlpha ? this.memoryAllocator.Allocate(width) : null; + Span vectorsSpan = hasAssociatedAlpha ? vectors.GetSpan() : Span.Empty; for (int y = top; y < top + height; y++) { Span pixelRow = pixels.DangerousGetRowSpan(y).Slice(left, width); @@ -57,7 +69,9 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation ulong a = TiffUtils.ConvertToUShortBigEndian(data.Slice(offset, 2)); offset += 2; - pixelRow[x] = TiffUtils.ColorFromRgba64(rgba, r, g, b, a, color); + pixelRow[x] = hasAssociatedAlpha ? + TiffUtils.ColorFromRgba64Premultiplied(rgba, r, g, b, a, color) : + TiffUtils.ColorFromRgba64(rgba, r, g, b, a, color); } } else @@ -69,6 +83,12 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation pixelRow, pixelRow.Length); + if (hasAssociatedAlpha) + { + PixelOperations.Instance.ToVector4(this.configuration, pixelRow, vectorsSpan); + TiffUtils.UnPremultiplyRow(vectorsSpan, pixelRow, color); + } + offset += byteCount; } } diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16PlanarTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16PlanarTiffColor{TPixel}.cs index 705010ce9..a9d38a4be 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16PlanarTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16PlanarTiffColor{TPixel}.cs @@ -17,11 +17,18 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation { private readonly bool isBigEndian; + private readonly TiffExtraSampleType? extraSamplesType; + /// /// Initializes a new instance of the class. /// - /// if set to true decodes the pixel data as big endian, otherwise as little endian. - public Rgba16PlanarTiffColor(bool isBigEndian) => this.isBigEndian = isBigEndian; + /// The extra samples type. + /// If set to true decodes the pixel data as big endian, otherwise as little endian. + public Rgba16PlanarTiffColor(TiffExtraSampleType? extraSamplesType, bool isBigEndian) + { + this.extraSamplesType = extraSamplesType; + this.isBigEndian = isBigEndian; + } /// public override void Decode(IMemoryOwner[] data, Buffer2D pixels, int left, int top, int width, int height) @@ -37,6 +44,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation Span blueData = data[2].GetSpan(); Span alphaData = data[3].GetSpan(); + bool hasAssociatedAlpha = this.extraSamplesType.HasValue && this.extraSamplesType == TiffExtraSampleType.AssociatedAlphaData; int offset = 0; for (int y = top; y < top + height; y++) { @@ -52,7 +60,9 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation offset += 2; - pixelRow[x] = TiffUtils.ColorFromRgba64(rgba, r, g, b, a, color); + pixelRow[x] = hasAssociatedAlpha ? + TiffUtils.ColorFromRgba64Premultiplied(rgba, r, g, b, a, color) : + TiffUtils.ColorFromRgba64(rgba, r, g, b, a, color); } } else @@ -62,11 +72,13 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation ulong r = TiffUtils.ConvertToUShortLittleEndian(redData.Slice(offset, 2)); ulong g = TiffUtils.ConvertToUShortLittleEndian(greenData.Slice(offset, 2)); ulong b = TiffUtils.ConvertToUShortLittleEndian(blueData.Slice(offset, 2)); - ulong a = TiffUtils.ConvertToUShortBigEndian(alphaData.Slice(offset, 2)); + ulong a = TiffUtils.ConvertToUShortLittleEndian(alphaData.Slice(offset, 2)); offset += 2; - pixelRow[x] = TiffUtils.ColorFromRgba64(rgba, r, g, b, a, color); + pixelRow[x] = hasAssociatedAlpha ? + TiffUtils.ColorFromRgba64Premultiplied(rgba, r, g, b, a, color) : + TiffUtils.ColorFromRgba64(rgba, r, g, b, a, color); } } } diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24242424TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24242424TiffColor{TPixel}.cs index 71e1f7abd..7f754d7f5 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24242424TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24242424TiffColor{TPixel}.cs @@ -16,11 +16,18 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation { private readonly bool isBigEndian; + private readonly TiffExtraSampleType? extraSamplesType; + /// /// Initializes a new instance of the class. /// + /// The type of the extra samples. /// if set to true decodes the pixel data as big endian, otherwise as little endian. - public Rgba24242424TiffColor(bool isBigEndian) => this.isBigEndian = isBigEndian; + public Rgba24242424TiffColor(TiffExtraSampleType? extraSamplesType, bool isBigEndian) + { + this.extraSamplesType = extraSamplesType; + this.isBigEndian = isBigEndian; + } /// public override void Decode(ReadOnlySpan data, Buffer2D pixels, int left, int top, int width, int height) @@ -29,7 +36,10 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 var color = default(TPixel); color.FromVector4(TiffUtils.Vector4Default); + + bool hasAssociatedAlpha = this.extraSamplesType.HasValue && this.extraSamplesType == TiffExtraSampleType.AssociatedAlphaData; int offset = 0; + Span buffer = stackalloc byte[4]; int bufferStartIdx = this.isBigEndian ? 1 : 0; @@ -58,7 +68,9 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation ulong a = TiffUtils.ConvertToUIntBigEndian(buffer); offset += 3; - pixelRow[x] = TiffUtils.ColorScaleTo24Bit(r, g, b, a, color); + pixelRow[x] = hasAssociatedAlpha ? + TiffUtils.ColorScaleTo24BitPremultiplied(r, g, b, a, color) : + TiffUtils.ColorScaleTo24Bit(r, g, b, a, color); } } else @@ -81,7 +93,9 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation ulong a = TiffUtils.ConvertToUIntLittleEndian(buffer); offset += 3; - pixelRow[x] = TiffUtils.ColorScaleTo24Bit(r, g, b, a, color); + pixelRow[x] = hasAssociatedAlpha ? + TiffUtils.ColorScaleTo24BitPremultiplied(r, g, b, a, color) : + TiffUtils.ColorScaleTo24Bit(r, g, b, a, color); } } } diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24PlanarTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24PlanarTiffColor{TPixel}.cs index 03b78c3f8..a3cdd2432 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24PlanarTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24PlanarTiffColor{TPixel}.cs @@ -17,11 +17,18 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation { private readonly bool isBigEndian; + private readonly TiffExtraSampleType? extraSamplesType; + /// /// Initializes a new instance of the class. /// + /// The extra samples type. /// if set to true decodes the pixel data as big endian, otherwise as little endian. - public Rgba24PlanarTiffColor(bool isBigEndian) => this.isBigEndian = isBigEndian; + public Rgba24PlanarTiffColor(TiffExtraSampleType? extraSamplesType, bool isBigEndian) + { + this.extraSamplesType = extraSamplesType; + this.isBigEndian = isBigEndian; + } /// public override void Decode(IMemoryOwner[] data, Buffer2D pixels, int left, int top, int width, int height) @@ -39,6 +46,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation Span alphaData = data[3].GetSpan(); Span bufferSpan = buffer.Slice(bufferStartIdx); + bool hasAssociatedAlpha = this.extraSamplesType.HasValue && this.extraSamplesType == TiffExtraSampleType.AssociatedAlphaData; int offset = 0; for (int y = top; y < top + height; y++) { @@ -58,7 +66,9 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation offset += 3; - pixelRow[x] = TiffUtils.ColorScaleTo24Bit(r, g, b, a, color); + pixelRow[x] = hasAssociatedAlpha ? + TiffUtils.ColorScaleTo24BitPremultiplied(r, g, b, a, color) : + TiffUtils.ColorScaleTo24Bit(r, g, b, a, color); } } else @@ -76,7 +86,9 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation offset += 3; - pixelRow[x] = TiffUtils.ColorScaleTo24Bit(r, g, b, a, color); + pixelRow[x] = hasAssociatedAlpha ? + TiffUtils.ColorScaleTo24BitPremultiplied(r, g, b, a, color) : + TiffUtils.ColorScaleTo24Bit(r, g, b, a, color); } } } diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba32323232TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba32323232TiffColor{TPixel}.cs index fbd18ca3e..96ff32308 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba32323232TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba32323232TiffColor{TPixel}.cs @@ -16,11 +16,18 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation { private readonly bool isBigEndian; + private readonly TiffExtraSampleType? extraSamplesType; + /// /// Initializes a new instance of the class. /// + /// The type of the extra samples. /// if set to true decodes the pixel data as big endian, otherwise as little endian. - public Rgba32323232TiffColor(bool isBigEndian) => this.isBigEndian = isBigEndian; + public Rgba32323232TiffColor(TiffExtraSampleType? extraSamplesType, bool isBigEndian) + { + this.extraSamplesType = extraSamplesType; + this.isBigEndian = isBigEndian; + } /// public override void Decode(ReadOnlySpan data, Buffer2D pixels, int left, int top, int width, int height) @@ -29,6 +36,8 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 var color = default(TPixel); color.FromVector4(TiffUtils.Vector4Default); + + bool hasAssociatedAlpha = this.extraSamplesType.HasValue && this.extraSamplesType == TiffExtraSampleType.AssociatedAlphaData; int offset = 0; for (int y = top; y < top + height; y++) @@ -51,7 +60,9 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation ulong a = TiffUtils.ConvertToUIntBigEndian(data.Slice(offset, 4)); offset += 4; - pixelRow[x] = TiffUtils.ColorScaleTo32Bit(r, g, b, a, color); + pixelRow[x] = hasAssociatedAlpha ? + TiffUtils.ColorScaleTo32BitPremultiplied(r, g, b, a, color) : + TiffUtils.ColorScaleTo32Bit(r, g, b, a, color); } } else @@ -70,7 +81,9 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation ulong a = TiffUtils.ConvertToUIntLittleEndian(data.Slice(offset, 4)); offset += 4; - pixelRow[x] = TiffUtils.ColorScaleTo32Bit(r, g, b, a, color); + pixelRow[x] = hasAssociatedAlpha ? + TiffUtils.ColorScaleTo32BitPremultiplied(r, g, b, a, color) : + TiffUtils.ColorScaleTo32Bit(r, g, b, a, color); } } } diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba32PlanarTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba32PlanarTiffColor{TPixel}.cs index e23111159..3f7567fc7 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba32PlanarTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba32PlanarTiffColor{TPixel}.cs @@ -17,11 +17,18 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation { private readonly bool isBigEndian; + private readonly TiffExtraSampleType? extraSamplesType; + /// /// Initializes a new instance of the class. /// + /// The extra samples type. /// if set to true decodes the pixel data as big endian, otherwise as little endian. - public Rgba32PlanarTiffColor(bool isBigEndian) => this.isBigEndian = isBigEndian; + public Rgba32PlanarTiffColor(TiffExtraSampleType? extraSamplesType, bool isBigEndian) + { + this.extraSamplesType = extraSamplesType; + this.isBigEndian = isBigEndian; + } /// public override void Decode(IMemoryOwner[] data, Buffer2D pixels, int left, int top, int width, int height) @@ -36,6 +43,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation Span blueData = data[2].GetSpan(); Span alphaData = data[3].GetSpan(); + bool hasAssociatedAlpha = this.extraSamplesType.HasValue && this.extraSamplesType == TiffExtraSampleType.AssociatedAlphaData; int offset = 0; for (int y = top; y < top + height; y++) { @@ -51,7 +59,9 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation offset += 4; - pixelRow[x] = TiffUtils.ColorScaleTo32Bit(r, g, b, a, color); + pixelRow[x] = hasAssociatedAlpha ? + TiffUtils.ColorScaleTo32BitPremultiplied(r, g, b, a, color) : + TiffUtils.ColorScaleTo32Bit(r, g, b, a, color); } } else @@ -65,7 +75,9 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation offset += 4; - pixelRow[x] = TiffUtils.ColorScaleTo32Bit(r, g, b, a, color); + pixelRow[x] = hasAssociatedAlpha ? + TiffUtils.ColorScaleTo32BitPremultiplied(r, g, b, a, color) : + TiffUtils.ColorScaleTo32Bit(r, g, b, a, color); } } } diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba8888TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba8888TiffColor{TPixel}.cs index 491a42fb7..e43222090 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba8888TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba8888TiffColor{TPixel}.cs @@ -2,6 +2,8 @@ // Licensed under the Apache License, Version 2.0. using System; +using System.Numerics; +using SixLabors.ImageSharp.Formats.Tiff.Utils; using SixLabors.ImageSharp.Memory; using SixLabors.ImageSharp.PixelFormats; @@ -15,13 +17,27 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation { private readonly Configuration configuration; - public Rgba8888TiffColor(Configuration configuration) => this.configuration = configuration; + private readonly MemoryAllocator memoryAllocator; + + private readonly TiffExtraSampleType? extraSamplesType; + + public Rgba8888TiffColor(Configuration configuration, MemoryAllocator memoryAllocator, TiffExtraSampleType? extraSamplesType) + { + this.configuration = configuration; + this.memoryAllocator = memoryAllocator; + this.extraSamplesType = extraSamplesType; + } /// public override void Decode(ReadOnlySpan data, Buffer2D pixels, int left, int top, int width, int height) { int offset = 0; + bool hasAssociatedAlpha = this.extraSamplesType.HasValue && this.extraSamplesType == TiffExtraSampleType.AssociatedAlphaData; + var color = default(TPixel); + color.FromVector4(TiffUtils.Vector4Default); + System.Buffers.IMemoryOwner vectors = hasAssociatedAlpha ? this.memoryAllocator.Allocate(width) : null; + Span vectorsSpan = hasAssociatedAlpha ? vectors.GetSpan() : Span.Empty; for (int y = top; y < top + height; y++) { Span pixelRow = pixels.DangerousGetRowSpan(y).Slice(left, width); @@ -32,6 +48,12 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation pixelRow, pixelRow.Length); + if (hasAssociatedAlpha) + { + PixelOperations.Instance.ToVector4(this.configuration, pixelRow, vectorsSpan); + TiffUtils.UnPremultiplyRow(vectorsSpan, pixelRow, color); + } + offset += byteCount; } } diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaPlanarTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaPlanarTiffColor{TPixel}.cs index f2ccf2ec8..ecf957eab 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaPlanarTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaPlanarTiffColor{TPixel}.cs @@ -32,7 +32,9 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation private readonly ushort bitsPerSampleA; - public RgbaPlanarTiffColor(TiffBitsPerSample bitsPerSample) + private readonly TiffExtraSampleType? extraSampleType; + + public RgbaPlanarTiffColor(TiffExtraSampleType? extraSampleType, TiffBitsPerSample bitsPerSample) { this.bitsPerSampleR = bitsPerSample.Channel0; this.bitsPerSampleG = bitsPerSample.Channel1; @@ -43,6 +45,8 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation this.gFactor = (1 << this.bitsPerSampleG) - 1.0f; this.bFactor = (1 << this.bitsPerSampleB) - 1.0f; this.aFactor = (1 << this.bitsPerSampleA) - 1.0f; + + this.extraSampleType = extraSampleType; } /// @@ -57,6 +61,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation public override void Decode(IMemoryOwner[] data, Buffer2D pixels, int left, int top, int width, int height) { var color = default(TPixel); + bool hasAssociatedAlpha = this.extraSampleType.HasValue && this.extraSampleType == TiffExtraSampleType.AssociatedAlphaData; var rBitReader = new BitReader(data[0].GetSpan()); var gBitReader = new BitReader(data[1].GetSpan()); @@ -73,7 +78,16 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation float b = bBitReader.ReadBits(this.bitsPerSampleB) / this.bFactor; float a = aBitReader.ReadBits(this.bitsPerSampleA) / this.aFactor; - color.FromVector4(new Vector4(r, g, b, a)); + var vec = new Vector4(r, g, b, a); + if (hasAssociatedAlpha) + { + color = TiffUtils.UnPremultiply(vec, color); + } + else + { + color.FromVector4(vec); + } + pixelRow[x] = color; } diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaTiffColor{TPixel}.cs index 8bec7da89..c00557b10 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaTiffColor{TPixel}.cs @@ -31,7 +31,9 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation private readonly ushort bitsPerSampleA; - public RgbaTiffColor(TiffBitsPerSample bitsPerSample) + private readonly TiffExtraSampleType? extraSamplesType; + + public RgbaTiffColor(TiffExtraSampleType? extraSampleType, TiffBitsPerSample bitsPerSample) { this.bitsPerSampleR = bitsPerSample.Channel0; this.bitsPerSampleG = bitsPerSample.Channel1; @@ -42,6 +44,8 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation this.gFactor = (1 << this.bitsPerSampleG) - 1.0f; this.bFactor = (1 << this.bitsPerSampleB) - 1.0f; this.aFactor = (1 << this.bitsPerSampleA) - 1.0f; + + this.extraSamplesType = extraSampleType; } /// @@ -51,6 +55,8 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation var bitReader = new BitReader(data); + bool hasAssociatedAlpha = this.extraSamplesType.HasValue && this.extraSamplesType == TiffExtraSampleType.AssociatedAlphaData; + for (int y = top; y < top + height; y++) { Span pixelRow = pixels.DangerousGetRowSpan(y).Slice(left, width); @@ -61,8 +67,16 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation float b = bitReader.ReadBits(this.bitsPerSampleB) / this.bFactor; float a = bitReader.ReadBits(this.bitsPerSampleB) / this.aFactor; - color.FromVector4(new Vector4(r, g, b, a)); - pixelRow[x] = color; + var vec = new Vector4(r, g, b, a); + if (hasAssociatedAlpha) + { + pixelRow[x] = TiffUtils.UnPremultiply(vec, color); + } + else + { + color.FromVector4(vec); + pixelRow[x] = color; + } } bitReader.NextRow(); diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/TiffColorDecoderFactory{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/TiffColorDecoderFactory{TPixel}.cs index 1c608e303..c95d03946 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/TiffColorDecoderFactory{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/TiffColorDecoderFactory{TPixel}.cs @@ -14,6 +14,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation MemoryAllocator memoryAllocator, TiffColorType colorType, TiffBitsPerSample bitsPerSample, + TiffExtraSampleType? extraSampleType, ushort[] colorMap, Rational[] referenceBlackAndWhite, Rational[] ycbcrCoefficients, @@ -125,7 +126,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation && bitsPerSample.Channel0 == 2, "bitsPerSample"); DebugGuard.IsTrue(colorMap == null, "colorMap"); - return new RgbaTiffColor(bitsPerSample); + return new RgbaTiffColor(extraSampleType, bitsPerSample); case TiffColorType.Rgb333: DebugGuard.IsTrue( @@ -146,7 +147,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation && bitsPerSample.Channel0 == 3, "bitsPerSample"); DebugGuard.IsTrue(colorMap == null, "colorMap"); - return new RgbaTiffColor(bitsPerSample); + return new RgbaTiffColor(extraSampleType, bitsPerSample); case TiffColorType.Rgb444: DebugGuard.IsTrue( @@ -167,7 +168,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation && bitsPerSample.Channel0 == 4, "bitsPerSample"); DebugGuard.IsTrue(colorMap == null, "colorMap"); - return new RgbaTiffColor(bitsPerSample); + return new RgbaTiffColor(extraSampleType, bitsPerSample); case TiffColorType.Rgb555: DebugGuard.IsTrue( @@ -188,7 +189,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation && bitsPerSample.Channel0 == 5, "bitsPerSample"); DebugGuard.IsTrue(colorMap == null, "colorMap"); - return new RgbaTiffColor(bitsPerSample); + return new RgbaTiffColor(extraSampleType, bitsPerSample); case TiffColorType.Rgb666: DebugGuard.IsTrue( @@ -209,7 +210,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation && bitsPerSample.Channel0 == 6, "bitsPerSample"); DebugGuard.IsTrue(colorMap == null, "colorMap"); - return new RgbaTiffColor(bitsPerSample); + return new RgbaTiffColor(extraSampleType, bitsPerSample); case TiffColorType.Rgb888: DebugGuard.IsTrue( @@ -230,7 +231,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation && bitsPerSample.Channel0 == 8, "bitsPerSample"); DebugGuard.IsTrue(colorMap == null, "colorMap"); - return new Rgba8888TiffColor(configuration); + return new Rgba8888TiffColor(configuration, memoryAllocator, extraSampleType); case TiffColorType.Rgb101010: DebugGuard.IsTrue( @@ -251,7 +252,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation && bitsPerSample.Channel0 == 10, "bitsPerSample"); DebugGuard.IsTrue(colorMap == null, "colorMap"); - return new RgbaTiffColor(bitsPerSample); + return new RgbaTiffColor(extraSampleType, bitsPerSample); case TiffColorType.Rgb121212: DebugGuard.IsTrue( @@ -272,7 +273,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation && bitsPerSample.Channel0 == 12, "bitsPerSample"); DebugGuard.IsTrue(colorMap == null, "colorMap"); - return new RgbaTiffColor(bitsPerSample); + return new RgbaTiffColor(extraSampleType, bitsPerSample); case TiffColorType.Rgb141414: DebugGuard.IsTrue( @@ -293,7 +294,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation && bitsPerSample.Channel0 == 14, "bitsPerSample"); DebugGuard.IsTrue(colorMap == null, "colorMap"); - return new RgbaTiffColor(bitsPerSample); + return new RgbaTiffColor(extraSampleType, bitsPerSample); case TiffColorType.Rgb161616: DebugGuard.IsTrue( @@ -314,7 +315,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation && bitsPerSample.Channel0 == 16, "bitsPerSample"); DebugGuard.IsTrue(colorMap == null, "colorMap"); - return new Rgba16161616TiffColor(configuration, isBigEndian: byteOrder == ByteOrder.BigEndian); + return new Rgba16161616TiffColor(configuration, memoryAllocator, extraSampleType, isBigEndian: byteOrder == ByteOrder.BigEndian); case TiffColorType.Rgb242424: DebugGuard.IsTrue( @@ -335,7 +336,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation && bitsPerSample.Channel0 == 24, "bitsPerSample"); DebugGuard.IsTrue(colorMap == null, "colorMap"); - return new Rgba24242424TiffColor(isBigEndian: byteOrder == ByteOrder.BigEndian); + return new Rgba24242424TiffColor(extraSampleType, isBigEndian: byteOrder == ByteOrder.BigEndian); case TiffColorType.Rgb323232: DebugGuard.IsTrue( @@ -356,7 +357,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation && bitsPerSample.Channel0 == 32, "bitsPerSample"); DebugGuard.IsTrue(colorMap == null, "colorMap"); - return new Rgba32323232TiffColor(isBigEndian: byteOrder == ByteOrder.BigEndian); + return new Rgba32323232TiffColor(extraSampleType, isBigEndian: byteOrder == ByteOrder.BigEndian); case TiffColorType.RgbFloat323232: DebugGuard.IsTrue( @@ -394,6 +395,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation public static TiffBasePlanarColorDecoder CreatePlanar( TiffColorType colorType, TiffBitsPerSample bitsPerSample, + TiffExtraSampleType? extraSampleType, ushort[] colorMap, Rational[] referenceBlackAndWhite, Rational[] ycbcrCoefficients, @@ -408,7 +410,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation case TiffColorType.Rgba8888Planar: DebugGuard.IsTrue(colorMap == null, "colorMap"); - return new RgbaPlanarTiffColor(bitsPerSample); + return new RgbaPlanarTiffColor(extraSampleType, bitsPerSample); case TiffColorType.YCbCrPlanar: return new YCbCrPlanarTiffColor(referenceBlackAndWhite, ycbcrCoefficients, ycbcrSubSampling); @@ -419,7 +421,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation case TiffColorType.Rgba16161616Planar: DebugGuard.IsTrue(colorMap == null, "colorMap"); - return new Rgba16PlanarTiffColor(byteOrder == ByteOrder.BigEndian); + return new Rgba16PlanarTiffColor(extraSampleType, byteOrder == ByteOrder.BigEndian); case TiffColorType.Rgb242424Planar: DebugGuard.IsTrue(colorMap == null, "colorMap"); @@ -427,7 +429,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation case TiffColorType.Rgba24242424Planar: DebugGuard.IsTrue(colorMap == null, "colorMap"); - return new Rgba24PlanarTiffColor(byteOrder == ByteOrder.BigEndian); + return new Rgba24PlanarTiffColor(extraSampleType, byteOrder == ByteOrder.BigEndian); case TiffColorType.Rgb323232Planar: DebugGuard.IsTrue(colorMap == null, "colorMap"); @@ -435,7 +437,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation case TiffColorType.Rgba32323232Planar: DebugGuard.IsTrue(colorMap == null, "colorMap"); - return new Rgba32PlanarTiffColor(byteOrder == ByteOrder.BigEndian); + return new Rgba32PlanarTiffColor(extraSampleType, byteOrder == ByteOrder.BigEndian); default: throw TiffThrowHelper.InvalidColorType(colorType.ToString()); diff --git a/src/ImageSharp/Formats/Tiff/README.md b/src/ImageSharp/Formats/Tiff/README.md index aa960b373..8cb327a7b 100644 --- a/src/ImageSharp/Formats/Tiff/README.md +++ b/src/ImageSharp/Formats/Tiff/README.md @@ -28,15 +28,6 @@ - The Decoder currently only supports decoding multiframe images, which have the same dimensions. - Some compression formats are not yet supported. See the list below. -### Deviations from the TIFF spec (to be fixed) - -- Decoder - - A Baseline TIFF reader must skip over extra components (e.g. RGB with 4 samples per pixels) - - NB: Need to handle this for both planar and chunky data - - If the SampleFormat field is present and not 1 - fail gracefully if you cannot handle this - - Compression=None should treat 16/32-BitsPerSample for all samples as SHORT/LONG (for byte order and padding rows) - - Check Planar format data - is this encoded as strips in order RGBRGBRGB or RRRGGGBBB? - ### Compression Formats | |Encoder|Decoder|Comments | @@ -87,7 +78,7 @@ |Model | Y | Y | | |StripOffsets | Y | Y | | |Orientation | | - | Ignore. Many readers ignore this tag. | -|SamplesPerPixel | Y | - | Currently ignored, as can be inferred from count of BitsPerSample | +|SamplesPerPixel | Y | - | Currently ignored, as can be inferred from count of BitsPerSample. | |RowsPerStrip | Y | Y | | |StripByteCounts | Y | Y | | |MinSampleValue | | | | @@ -105,7 +96,7 @@ |Artist | Y | Y | | |HostComputer | Y | Y | | |ColorMap | Y | Y | | -|ExtraSamples | | (Y) | Only UnassociatedAlphaData is supported so far | +|ExtraSamples | | Y | Unspecified alpha data is not supported. | |Copyright | Y | Y | | ### Extension TIFF Tags diff --git a/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs b/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs index e5b810738..1198c519a 100644 --- a/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs +++ b/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs @@ -118,9 +118,9 @@ namespace SixLabors.ImageSharp.Formats.Tiff public TiffFillOrder FillOrder { get; set; } /// - /// Gets or sets the extra samples, which can contain the alpha channel data. + /// Gets or sets the extra samples type. /// - public TiffExtraSampleType? ExtraSamples { get; set; } + public TiffExtraSampleType? ExtraSamplesType { get; set; } /// /// Gets or sets the JPEG tables when jpeg compression is used. @@ -375,6 +375,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff TiffBasePlanarColorDecoder colorDecoder = TiffColorDecoderFactory.CreatePlanar( this.ColorType, this.BitsPerSample, + this.ExtraSamplesType, this.ColorMap, this.ReferenceBlackAndWhite, this.YcbcrCoefficients, @@ -456,6 +457,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff this.memoryAllocator, this.ColorType, this.BitsPerSample, + this.ExtraSamplesType, this.ColorMap, this.ReferenceBlackAndWhite, this.YcbcrCoefficients, diff --git a/src/ImageSharp/Formats/Tiff/TiffDecoderOptionsParser.cs b/src/ImageSharp/Formats/Tiff/TiffDecoderOptionsParser.cs index 23bc5f15f..6baf71466 100644 --- a/src/ImageSharp/Formats/Tiff/TiffDecoderOptionsParser.cs +++ b/src/ImageSharp/Formats/Tiff/TiffDecoderOptionsParser.cs @@ -39,10 +39,10 @@ namespace SixLabors.ImageSharp.Formats.Tiff } var extraSamplesType = (TiffExtraSampleType)extraSamples[0]; - options.ExtraSamples = extraSamplesType; - if (extraSamplesType is not TiffExtraSampleType.UnassociatedAlphaData) + options.ExtraSamplesType = extraSamplesType; + if (extraSamplesType is not (TiffExtraSampleType.UnassociatedAlphaData or TiffExtraSampleType.AssociatedAlphaData)) { - TiffThrowHelper.ThrowNotSupported("Decoding Tiff images with ExtraSamples is only supported with UnassociatedAlphaData."); + TiffThrowHelper.ThrowNotSupported("Decoding Tiff images with ExtraSamples is not supported with UnspecifiedData."); } } diff --git a/src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs b/src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs index b7d4b6e7c..13b63dedc 100644 --- a/src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs +++ b/src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs @@ -46,7 +46,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Utils } [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static TPixel ColorFromRgba64(Rgba64 rgba, ulong r, ulong g, ulong b, TPixel color) + public static TPixel ColorFromRgb64(Rgba64 rgba, ulong r, ulong g, ulong b, TPixel color) where TPixel : unmanaged, IPixel { rgba.PackedValue = r | (g << 16) | (b << 32) | (0xfffful << 48); @@ -63,6 +63,15 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Utils return color; } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static TPixel ColorFromRgba64Premultiplied(Rgba64 rgba, ulong r, ulong g, ulong b, ulong a, TPixel color) + where TPixel : unmanaged, IPixel + { + rgba.PackedValue = r | (g << 16) | (b << 32) | (a << 48); + var vec = rgba.ToVector4(); + return UnPremultiply(vec, color); + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] public static TPixel ColorScaleTo24Bit(ulong r, ulong g, ulong b, TPixel color) where TPixel : unmanaged, IPixel @@ -81,6 +90,14 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Utils return color; } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static TPixel ColorScaleTo24BitPremultiplied(ulong r, ulong g, ulong b, ulong a, TPixel color) + where TPixel : unmanaged, IPixel + { + var colorVector = new Vector4(r * Scale24Bit, g * Scale24Bit, b * Scale24Bit, a * Scale24Bit); + return UnPremultiply(colorVector, color); + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] public static TPixel ColorScaleTo32Bit(ulong r, ulong g, ulong b, TPixel color) where TPixel : unmanaged, IPixel @@ -99,6 +116,14 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Utils return color; } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static TPixel ColorScaleTo32BitPremultiplied(ulong r, ulong g, ulong b, ulong a, TPixel color) + where TPixel : unmanaged, IPixel + { + var colorVector = new Vector4(r * Scale32Bit, g * Scale32Bit, b * Scale32Bit, a * Scale32Bit); + return UnPremultiply(colorVector, color); + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] public static TPixel ColorFromL16(L16 l16, ushort intensity, TPixel color) where TPixel : unmanaged, IPixel @@ -126,6 +151,27 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Utils return color; } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static void UnPremultiplyRow(Span vectors, Span pixelRow, TPixel color) + where TPixel : unmanaged, IPixel + { + for (int x = 0; x < vectors.Length; x++) + { + Vector4 vec = vectors[x]; + pixelRow[x] = UnPremultiply(vec, color); + } + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static TPixel UnPremultiply(Vector4 vec, TPixel color) + where TPixel : unmanaged, IPixel + { + float invW = 1.0f / vec.W; + color.FromVector4(new Vector4(vec.X * invW, vec.Y * invW, vec.Z * invW, vec.W)); + + return color; + } + /// /// Finds the padding needed to round 'valueToRoundUp' to the next integer multiple of subSampling value. /// diff --git a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs index bd300f799..2f06c997a 100644 --- a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs @@ -187,6 +187,13 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff public void TiffDecoder_CanDecode_12Bit_WithUnassociatedAlpha(TestImageProvider provider) where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + [Theory] + [WithFile(Rgba3BitAssociatedAlpha, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_12Bit_WithAssociatedAlpha(TestImageProvider provider) + + // Note: Using tolerant comparer here, because there is a small difference to the reference decoder probably due to floating point rounding issues. + where TPixel : unmanaged, IPixel => TestTiffDecoder(provider, useExactComparer: false); + [Theory] [WithFile(Flower14BitGray, PixelTypes.Rgba32)] public void TiffDecoder_CanDecode_14Bit_Gray(TestImageProvider provider) @@ -226,6 +233,13 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff public void TiffDecoder_CanDecode_20Bit_WithUnassociatedAlpha(TestImageProvider provider) where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + [Theory] + [WithFile(Rgba5BitAssociatedAlpha, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_20Bit_WithAssociatedAlpha(TestImageProvider provider) + + // Note: Using tolerant comparer here, because there is a small difference to the reference decoder probably due to floating point rounding issues. + where TPixel : unmanaged, IPixel => TestTiffDecoder(provider, useExactComparer: false); + [Theory] [WithFile(FlowerRgb888Contiguous, PixelTypes.Rgba32)] public void TiffDecoder_CanDecode_24Bit(TestImageProvider provider) @@ -236,6 +250,13 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff public void TiffDecoder_CanDecode_24Bit_WithUnassociatedAlpha(TestImageProvider provider) where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + [Theory] + [WithFile(Rgba6BitAssociatedAlpha, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_24Bit_WithAssociatedAlpha(TestImageProvider provider) + + // Note: Using tolerant comparer here, because there is a small difference to the reference decoder probably due to floating point rounding issues. + where TPixel : unmanaged, IPixel => TestTiffDecoder(provider, useExactComparer: false); + [Theory] [WithFile(Flower24BitGray, PixelTypes.Rgba32)] [WithFile(Flower24BitGrayLittleEndian, PixelTypes.Rgba32)] @@ -296,6 +317,13 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff image.DebugSave(provider); } + [Theory] + [WithFile(Rgba8BitAssociatedAlpha, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_32Bit_WithAssociatedAlpha(TestImageProvider provider) + + // Note: Using tolerant comparer here, because there is a small difference to the reference decoder probably due to floating point rounding issues. + where TPixel : unmanaged, IPixel => TestTiffDecoder(provider, useExactComparer: false); + [Theory] [WithFile(Flower32BitGrayPredictorBigEndian, PixelTypes.Rgba32)] [WithFile(Flower32BitGrayPredictorLittleEndian, PixelTypes.Rgba32)] @@ -318,6 +346,12 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff public void TiffDecoder_CanDecode_40Bit_WithUnassociatedAlpha(TestImageProvider provider) where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + [Theory] + [WithFile(Rgba10BitAssociatedAlphaBigEndian, PixelTypes.Rgba32)] + [WithFile(Rgba10BitAssociatedAlphaLittleEndian, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_40Bit_WithAssociatedAlpha(TestImageProvider provider) + where TPixel : unmanaged, IPixel => TestTiffDecoder(provider, useExactComparer: false); + [Theory] [WithFile(FlowerRgb141414Contiguous, PixelTypes.Rgba32)] [WithFile(FlowerRgb141414Planar, PixelTypes.Rgba32)] @@ -339,6 +373,12 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff public void TiffDecoder_CanDecode_48Bit_WithUnassociatedAlpha(TestImageProvider provider) where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + [Theory] + [WithFile(Rgba12BitAssociatedAlphaBigEndian, PixelTypes.Rgba32)] + [WithFile(Rgba12BitAssociatedAlphaLittleEndian, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_48Bit_WithAssociatedAlpha(TestImageProvider provider) + where TPixel : unmanaged, IPixel => TestTiffDecoder(provider, useExactComparer: false, compareTolerance: 0.0002f); + [Theory] [WithFile(FlowerRgb161616PredictorBigEndian, PixelTypes.Rgba32)] [WithFile(FlowerRgb161616PredictorLittleEndian, PixelTypes.Rgba32)] @@ -351,6 +391,12 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff public void TiffDecoder_CanDecode_56Bit_WithUnassociatedAlpha(TestImageProvider provider) where TPixel : unmanaged, IPixel => TestTiffDecoder(provider); + [Theory] + [WithFile(Rgba14BitAssociatedAlphaBigEndian, PixelTypes.Rgba32)] + [WithFile(Rgba14BitAssociatedAlphaLittleEndian, PixelTypes.Rgba32)] + public void TiffDecoder_CanDecode_56Bit_WithAssociatedAlpha(TestImageProvider provider) + where TPixel : unmanaged, IPixel => TestTiffDecoder(provider, useExactComparer: false, compareTolerance: 0.0002f); + [Theory] [WithFile(FlowerRgb242424Contiguous, PixelTypes.Rgba32)] [WithFile(FlowerRgb242424ContiguousLittleEndian, PixelTypes.Rgba32)] diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index 5ed0a12f7..0172f7c2c 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -861,20 +861,33 @@ namespace SixLabors.ImageSharp.Tests // Images with alpha channel. public const string Rgba2BitUnassociatedAlpha = "Tiff/RgbaUnassociatedAlpha2bit.tiff"; public const string Rgba3BitUnassociatedAlpha = "Tiff/RgbaUnassociatedAlpha3bit.tiff"; + public const string Rgba3BitAssociatedAlpha = "Tiff/RgbaAssociatedAlpha3bit.tiff"; public const string Rgba4BitUnassociatedAlpha = "Tiff/RgbaUnassociatedAlpha4bit.tiff"; + public const string Rgba4BitAassociatedAlpha = "Tiff/RgbaAssociatedAlpha4bit.tiff"; public const string Rgba5BitUnassociatedAlpha = "Tiff/RgbaUnassociatedAlpha5bit.tiff"; + public const string Rgba5BitAssociatedAlpha = "Tiff/RgbaAssociatedAlpha5bit.tiff"; public const string Rgba6BitUnassociatedAlpha = "Tiff/RgbaUnassociatedAlpha6bit.tiff"; + public const string Rgba6BitAssociatedAlpha = "Tiff/RgbaAssociatedAlpha6bit.tiff"; public const string Rgba8BitUnassociatedAlpha = "Tiff/RgbaUnassociatedAlpha8bit.tiff"; + public const string Rgba8BitAssociatedAlpha = "Tiff/RgbaAlpha8bit.tiff"; public const string Rgba8BitUnassociatedAlphaWithPredictor = "Tiff/RgbaUnassociatedAlphaPredictor8bit.tiff"; public const string Rgba8BitPlanarUnassociatedAlpha = "Tiff/RgbaUnassociatedAlphaPlanar8bit.tiff"; public const string Rgba10BitUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlpha10bit_msb.tiff"; public const string Rgba10BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha10bit_lsb.tiff"; + public const string Rgba10BitAssociatedAlphaBigEndian = "Tiff/RgbaAssociatedAlpha10bit_msb.tiff"; + public const string Rgba10BitAssociatedAlphaLittleEndian = "Tiff/RgbaAssociatedAlpha10bit_lsb.tiff"; public const string Rgba12BitUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlpha12bit_msb.tiff"; public const string Rgba12BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha12bit_lsb.tiff"; + public const string Rgba12BitAssociatedAlphaBigEndian = "Tiff/RgbaAssociatedAlpha12bit_msb.tiff"; + public const string Rgba12BitAssociatedAlphaLittleEndian = "Tiff/RgbaAssociatedAlpha12bit_lsb.tiff"; public const string Rgba14BitUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlpha14bit_msb.tiff"; public const string Rgba14BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha14bit_lsb.tiff"; + public const string Rgba14BitAssociatedAlphaBigEndian = "Tiff/RgbaAssociatedAlpha14bit_msb.tiff"; + public const string Rgba14BitAssociatedAlphaLittleEndian = "Tiff/RgbaAssociatedAlpha14bit_lsb.tiff"; public const string Rgba16BitUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlpha16bit_msb.tiff"; public const string Rgba16BitUnassociatedAlphaLittleEndian = "Tiff/RgbaUnassociatedAlpha16bit_lsb.tiff"; + public const string Rgba16BitAssociatedAlphaBigEndian = "Tiff/RgbaAssociatedAlpha16bit_msb.tiff"; + public const string Rgba16BitAssociatedAlphaLittleEndian = "Tiff/RgbaAssociatedAlpha16bit_lsb.tiff"; public const string Rgba16BitUnassociatedAlphaBigEndianWithPredictor = "Tiff/RgbaUnassociatedAlphaPredictor16bit_msb.tiff"; public const string Rgba16BitUnassociatedAlphaLittleEndianWithPredictor = "Tiff/RgbaUnassociatedAlphaPredictor16bit_lsb.tiff"; public const string Rgba16BitPlanarUnassociatedAlphaBigEndian = "Tiff/RgbaUnassociatedAlphaPlanar16bit_msb.tiff"; diff --git a/tests/Images/Input/Tiff/RgbaAlpha8bit.tiff b/tests/Images/Input/Tiff/RgbaAlpha8bit.tiff new file mode 100644 index 000000000..d0d9f2d1e --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaAlpha8bit.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8bc77670ea12cd163fbf21fa7dd6d6c10e3b8c1afc83f26618f92303d0cbfcf +size 235478 diff --git a/tests/Images/Input/Tiff/RgbaAssociatedAlpha10bit_lsb.tiff b/tests/Images/Input/Tiff/RgbaAssociatedAlpha10bit_lsb.tiff new file mode 100644 index 000000000..01ff24afc --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaAssociatedAlpha10bit_lsb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a9878183ebe84506810ea2edc6dc95cd76780f3847ac3a614ce2dcfb355ea9f +size 294278 diff --git a/tests/Images/Input/Tiff/RgbaAssociatedAlpha10bit_msb.tiff b/tests/Images/Input/Tiff/RgbaAssociatedAlpha10bit_msb.tiff new file mode 100644 index 000000000..a0eabbea2 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaAssociatedAlpha10bit_msb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b95334e1e4b78f5106cacd66d6dc9ad15d023c5449e9562b7489982c5336715 +size 294278 diff --git a/tests/Images/Input/Tiff/RgbaAssociatedAlpha12bit_lsb.tiff b/tests/Images/Input/Tiff/RgbaAssociatedAlpha12bit_lsb.tiff new file mode 100644 index 000000000..934895707 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaAssociatedAlpha12bit_lsb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b1aa42b51bd5474cbf333d9a0b89634198250d3eb5de4cf3af2a8d846395bf0 +size 353078 diff --git a/tests/Images/Input/Tiff/RgbaAssociatedAlpha12bit_msb.tiff b/tests/Images/Input/Tiff/RgbaAssociatedAlpha12bit_msb.tiff new file mode 100644 index 000000000..50e9d9c83 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaAssociatedAlpha12bit_msb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a146f0bfcac158dfda1ba307737b39d472a95926ff172bc8c798557f2dd1e1b +size 353078 diff --git a/tests/Images/Input/Tiff/RgbaAssociatedAlpha14bit_lsb.tiff b/tests/Images/Input/Tiff/RgbaAssociatedAlpha14bit_lsb.tiff new file mode 100644 index 000000000..b58f097c1 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaAssociatedAlpha14bit_lsb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3190269edb721175e8f3788528bd84aee3a12b2c7fb970c02c98822452fc81b0 +size 411878 diff --git a/tests/Images/Input/Tiff/RgbaAssociatedAlpha14bit_msb.tiff b/tests/Images/Input/Tiff/RgbaAssociatedAlpha14bit_msb.tiff new file mode 100644 index 000000000..cfe66071d --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaAssociatedAlpha14bit_msb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d65b9b1172d125fece197c2bf332bff9074db2b443e74d1973a14dbe45865e8 +size 411878 diff --git a/tests/Images/Input/Tiff/RgbaAssociatedAlpha16bit_lsb.tiff b/tests/Images/Input/Tiff/RgbaAssociatedAlpha16bit_lsb.tiff new file mode 100644 index 000000000..a6199845a --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaAssociatedAlpha16bit_lsb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ee223455c3e2f748d4dc9a1446047adb3c547878b815504c785497d8c059d34 +size 470678 diff --git a/tests/Images/Input/Tiff/RgbaAssociatedAlpha16bit_msb.tiff b/tests/Images/Input/Tiff/RgbaAssociatedAlpha16bit_msb.tiff new file mode 100644 index 000000000..3bc030c50 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaAssociatedAlpha16bit_msb.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ea0206508fe23dfb8653ac1706894e54a4ad980b3bf75b68e5deb9f2838a1de +size 470678 diff --git a/tests/Images/Input/Tiff/RgbaAssociatedAlpha3bit.tiff b/tests/Images/Input/Tiff/RgbaAssociatedAlpha3bit.tiff new file mode 100644 index 000000000..7a87e5ef8 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaAssociatedAlpha3bit.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03d1050a606b6fa9e909f54991ed12b1aa96b739e5f69f4b1bae7c903b1236ef +size 88478 diff --git a/tests/Images/Input/Tiff/RgbaAssociatedAlpha4bit.tiff b/tests/Images/Input/Tiff/RgbaAssociatedAlpha4bit.tiff new file mode 100644 index 000000000..2679e5829 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaAssociatedAlpha4bit.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41481c59d9b63ca946d9d2cf2ccc599d1e48ef6fdfa00926c1e6d5cdfd35eb47 +size 117878 diff --git a/tests/Images/Input/Tiff/RgbaAssociatedAlpha5bit.tiff b/tests/Images/Input/Tiff/RgbaAssociatedAlpha5bit.tiff new file mode 100644 index 000000000..1cdb3d475 --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaAssociatedAlpha5bit.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4bc3b2b8031593ff9a79d7caccd2ed614cf8d788dedbefbd27d0a4f88399be4e +size 147278 diff --git a/tests/Images/Input/Tiff/RgbaAssociatedAlpha6bit.tiff b/tests/Images/Input/Tiff/RgbaAssociatedAlpha6bit.tiff new file mode 100644 index 000000000..3184bd90b --- /dev/null +++ b/tests/Images/Input/Tiff/RgbaAssociatedAlpha6bit.tiff @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9c1c64ce9a002337c3f6d332b4a5bb3016718b672f9c95d8792b013545553c2 +size 176678 From c6544eb48cbf03a71f3e642790cf92da8e0ecefc Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sun, 13 Mar 2022 17:30:34 +0100 Subject: [PATCH 168/244] Add missing using --- .../PhotometricInterpretation/Rgba16161616TiffColor{TPixel}.cs | 2 +- .../Tiff/PhotometricInterpretation/Rgba8888TiffColor{TPixel}.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16161616TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16161616TiffColor{TPixel}.cs index d0a80bf0d..c3a12363c 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16161616TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16161616TiffColor{TPixel}.cs @@ -50,7 +50,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation bool hasAssociatedAlpha = this.extraSamplesType.HasValue && this.extraSamplesType == TiffExtraSampleType.AssociatedAlphaData; int offset = 0; - System.Buffers.IMemoryOwner vectors = hasAssociatedAlpha ? this.memoryAllocator.Allocate(width) : null; + using System.Buffers.IMemoryOwner vectors = hasAssociatedAlpha ? this.memoryAllocator.Allocate(width) : null; Span vectorsSpan = hasAssociatedAlpha ? vectors.GetSpan() : Span.Empty; for (int y = top; y < top + height; y++) { diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba8888TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba8888TiffColor{TPixel}.cs index e43222090..e21dcf27b 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba8888TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba8888TiffColor{TPixel}.cs @@ -36,7 +36,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation var color = default(TPixel); color.FromVector4(TiffUtils.Vector4Default); - System.Buffers.IMemoryOwner vectors = hasAssociatedAlpha ? this.memoryAllocator.Allocate(width) : null; + using System.Buffers.IMemoryOwner vectors = hasAssociatedAlpha ? this.memoryAllocator.Allocate(width) : null; Span vectorsSpan = hasAssociatedAlpha ? vectors.GetSpan() : Span.Empty; for (int y = top; y < top + height; y++) { From 2dc4be2185c63f45867758878b85f97bede3abcd Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sun, 13 Mar 2022 19:11:46 +0100 Subject: [PATCH 169/244] Only debug save on OSX for associated alpha tests --- .../Formats/Tiff/TiffDecoderBaseTester.cs | 4 +- .../Formats/Tiff/TiffDecoderTests.cs | 93 +++++++++++++++++-- 2 files changed, 87 insertions(+), 10 deletions(-) diff --git a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderBaseTester.cs b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderBaseTester.cs index aeadae255..7e45edb6d 100644 --- a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderBaseTester.cs +++ b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderBaseTester.cs @@ -12,9 +12,9 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff { public abstract class TiffDecoderBaseTester { - protected static TiffDecoder TiffDecoder => new TiffDecoder(); + protected static TiffDecoder TiffDecoder => new(); - protected static MagickReferenceDecoder ReferenceDecoder => new MagickReferenceDecoder(); + protected static MagickReferenceDecoder ReferenceDecoder => new(); protected static void TestTiffDecoder(TestImageProvider provider, IImageDecoder referenceDecoder = null, bool useExactComparer = true, float compareTolerance = 0.001f) where TPixel : unmanaged, IPixel diff --git a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs index 2f06c997a..6e96d3c65 100644 --- a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs @@ -190,9 +190,19 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff [Theory] [WithFile(Rgba3BitAssociatedAlpha, PixelTypes.Rgba32)] public void TiffDecoder_CanDecode_12Bit_WithAssociatedAlpha(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + if (TestEnvironment.IsOSX) + { + // Only debug save on OSX: For some reason the reference image has a difference of 50%. The imagesharp output file looks ok though. + using Image image = provider.GetImage(TiffDecoder); + image.DebugSave(provider); + return; + } // Note: Using tolerant comparer here, because there is a small difference to the reference decoder probably due to floating point rounding issues. - where TPixel : unmanaged, IPixel => TestTiffDecoder(provider, useExactComparer: false); + TestTiffDecoder(provider, useExactComparer: false); + } [Theory] [WithFile(Flower14BitGray, PixelTypes.Rgba32)] @@ -237,8 +247,19 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff [WithFile(Rgba5BitAssociatedAlpha, PixelTypes.Rgba32)] public void TiffDecoder_CanDecode_20Bit_WithAssociatedAlpha(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + if (TestEnvironment.IsOSX) + { + // Only debug save on OSX: For some reason the reference image has a difference of 50%. The imagesharp output file looks ok though. + using Image image = provider.GetImage(TiffDecoder); + image.DebugSave(provider); + return; + } + // Note: Using tolerant comparer here, because there is a small difference to the reference decoder probably due to floating point rounding issues. - where TPixel : unmanaged, IPixel => TestTiffDecoder(provider, useExactComparer: false); + TestTiffDecoder(provider, useExactComparer: false); + } [Theory] [WithFile(FlowerRgb888Contiguous, PixelTypes.Rgba32)] @@ -252,10 +273,20 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff [Theory] [WithFile(Rgba6BitAssociatedAlpha, PixelTypes.Rgba32)] - public void TiffDecoder_CanDecode_24Bit_WithAssociatedAlpha(TestImageProvider provider) + public void TiffDecoder_CanDecode_24Bit_WithAssociatedAlpha(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + if (TestEnvironment.IsOSX) + { + // Only debug save on OSX: For some reason the reference image has a difference of 50%. The imagesharp output file looks ok though. + using Image image = provider.GetImage(TiffDecoder); + image.DebugSave(provider); + return; + } // Note: Using tolerant comparer here, because there is a small difference to the reference decoder probably due to floating point rounding issues. - where TPixel : unmanaged, IPixel => TestTiffDecoder(provider, useExactComparer: false); + TestTiffDecoder(provider, useExactComparer: false); + } [Theory] [WithFile(Flower24BitGray, PixelTypes.Rgba32)] @@ -320,9 +351,19 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff [Theory] [WithFile(Rgba8BitAssociatedAlpha, PixelTypes.Rgba32)] public void TiffDecoder_CanDecode_32Bit_WithAssociatedAlpha(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + if (TestEnvironment.IsOSX) + { + // Only debug save on OSX: For some reason the reference image has a difference of 50%. The imagesharp output file looks ok though. + using Image image = provider.GetImage(TiffDecoder); + image.DebugSave(provider); + return; + } // Note: Using tolerant comparer here, because there is a small difference to the reference decoder probably due to floating point rounding issues. - where TPixel : unmanaged, IPixel => TestTiffDecoder(provider, useExactComparer: false); + TestTiffDecoder(provider, useExactComparer: false); + } [Theory] [WithFile(Flower32BitGrayPredictorBigEndian, PixelTypes.Rgba32)] @@ -350,7 +391,19 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff [WithFile(Rgba10BitAssociatedAlphaBigEndian, PixelTypes.Rgba32)] [WithFile(Rgba10BitAssociatedAlphaLittleEndian, PixelTypes.Rgba32)] public void TiffDecoder_CanDecode_40Bit_WithAssociatedAlpha(TestImageProvider provider) - where TPixel : unmanaged, IPixel => TestTiffDecoder(provider, useExactComparer: false); + where TPixel : unmanaged, IPixel + { + if (TestEnvironment.IsOSX) + { + // Only debug save on OSX: For some reason the reference image has a difference of 50%. The imagesharp output file looks ok though. + using Image image = provider.GetImage(TiffDecoder); + image.DebugSave(provider); + return; + } + + // Note: Using tolerant comparer here, because there is a small difference to the reference decoder probably due to floating point rounding issues. + TestTiffDecoder(provider, useExactComparer: false); + } [Theory] [WithFile(FlowerRgb141414Contiguous, PixelTypes.Rgba32)] @@ -377,7 +430,19 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff [WithFile(Rgba12BitAssociatedAlphaBigEndian, PixelTypes.Rgba32)] [WithFile(Rgba12BitAssociatedAlphaLittleEndian, PixelTypes.Rgba32)] public void TiffDecoder_CanDecode_48Bit_WithAssociatedAlpha(TestImageProvider provider) - where TPixel : unmanaged, IPixel => TestTiffDecoder(provider, useExactComparer: false, compareTolerance: 0.0002f); + where TPixel : unmanaged, IPixel + { + if (TestEnvironment.IsOSX) + { + // Only debug save on OSX: For some reason the reference image has a difference of 50%. The imagesharp output file looks ok though. + using Image image = provider.GetImage(TiffDecoder); + image.DebugSave(provider); + return; + } + + // Note: Using tolerant comparer here, because there is a small difference to the reference decoder probably due to floating point rounding issues. + TestTiffDecoder(provider, useExactComparer: false, compareTolerance: 0.0002f); + } [Theory] [WithFile(FlowerRgb161616PredictorBigEndian, PixelTypes.Rgba32)] @@ -395,7 +460,19 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff [WithFile(Rgba14BitAssociatedAlphaBigEndian, PixelTypes.Rgba32)] [WithFile(Rgba14BitAssociatedAlphaLittleEndian, PixelTypes.Rgba32)] public void TiffDecoder_CanDecode_56Bit_WithAssociatedAlpha(TestImageProvider provider) - where TPixel : unmanaged, IPixel => TestTiffDecoder(provider, useExactComparer: false, compareTolerance: 0.0002f); + where TPixel : unmanaged, IPixel + { + if (TestEnvironment.IsOSX) + { + // Only debug save on OSX: For some reason the reference image has a difference of 50%. The imagesharp output file looks ok though. + using Image image = provider.GetImage(TiffDecoder); + image.DebugSave(provider); + return; + } + + // Note: Using tolerant comparer here, because there is a small difference to the reference decoder probably due to floating point rounding issues. + TestTiffDecoder(provider, useExactComparer: false, compareTolerance: 0.0002f); + } [Theory] [WithFile(FlowerRgb242424Contiguous, PixelTypes.Rgba32)] From faea7d05dbd14392c7d9e8136876461793d42578 Mon Sep 17 00:00:00 2001 From: Anton Firszov Date: Sun, 13 Mar 2022 23:42:42 +0100 Subject: [PATCH 170/244] AsyncImageSharp option for load testing --- .../LoadResizeSaveStressRunner.cs | 48 +++++++++++++++++++ .../LoadResizeSaveParallelMemoryStress.cs | 24 ++++++++-- 2 files changed, 69 insertions(+), 3 deletions(-) diff --git a/tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressRunner.cs b/tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressRunner.cs index eda054968..81a95cd1e 100644 --- a/tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressRunner.cs +++ b/tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressRunner.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. using System; +using System.Collections.Generic; using System.Drawing; using System.Drawing.Drawing2D; using System.Drawing.Imaging; @@ -9,6 +10,7 @@ using System.IO; using System.Linq; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; +using System.Threading; using System.Threading.Tasks; using ImageMagick; using PhotoSauce.MagicScaler; @@ -124,6 +126,32 @@ namespace SixLabors.ImageSharp.Benchmarks.LoadResizeSave new ParallelOptions { MaxDegreeOfParallelism = this.MaxDegreeOfParallelism }, action); + public Task ForEachImageParallelAsync(Func action) + { + int maxDegreeOfParallelism = this.MaxDegreeOfParallelism > 0 + ? this.MaxDegreeOfParallelism + : Environment.ProcessorCount; + int partitionSize = (int)Math.Ceiling((double)this.Images.Length / maxDegreeOfParallelism); + + List tasks = new(); + for (int i = 0; i < this.Images.Length; i += partitionSize) + { + int end = Math.Min(i + partitionSize, this.Images.Length); + Task task = RunPartition(i, end); + tasks.Add(task); + } + + return Task.WhenAll(tasks); + + Task RunPartition(int start, int end) => Task.Run(async () => + { + for (int i = start; i < end; i++) + { + await action(this.Images[i]); + } + }); + } + private void LogImageProcessed(int width, int height) { this.LastProcessedImageSize = new Size(width, height); @@ -197,6 +225,26 @@ namespace SixLabors.ImageSharp.Benchmarks.LoadResizeSave image.Save(output, this.imageSharpJpegEncoder); } + public async Task ImageSharpResizeAsync(string input) + { + using FileStream output = File.Open(this.OutputPath(input), FileMode.Create); + // Resize it to fit a 150x150 square + using var image = await ImageSharpImage.LoadAsync(input); + this.LogImageProcessed(image.Width, image.Height); + + image.Mutate(i => i.Resize(new ResizeOptions + { + Size = new ImageSharpSize(this.ThumbnailSize, this.ThumbnailSize), + Mode = ResizeMode.Max + })); + + // Reduce the size of the file + image.Metadata.ExifProfile = null; + + // Save the results + await image.SaveAsync(output, this.imageSharpJpegEncoder); + } + public void MagickResize(string input) { using var image = new MagickImage(input); diff --git a/tests/ImageSharp.Tests.ProfilingSandbox/LoadResizeSaveParallelMemoryStress.cs b/tests/ImageSharp.Tests.ProfilingSandbox/LoadResizeSaveParallelMemoryStress.cs index c7484daa0..95e64b153 100644 --- a/tests/ImageSharp.Tests.ProfilingSandbox/LoadResizeSaveParallelMemoryStress.cs +++ b/tests/ImageSharp.Tests.ProfilingSandbox/LoadResizeSaveParallelMemoryStress.cs @@ -51,7 +51,7 @@ namespace SixLabors.ImageSharp.Tests.ProfilingSandbox Console.WriteLine($"\nEnvironment.ProcessorCount={Environment.ProcessorCount}"); Stopwatch timer; - if (options == null || !options.ImageSharp) + if (options == null || !(options.ImageSharp || options.AsyncImageSharp)) { RunBenchmarkSwitcher(lrs, out timer); } @@ -74,7 +74,16 @@ namespace SixLabors.ImageSharp.Tests.ProfilingSandbox { for (int i = 0; i < options.RepeatCount; i++) { - lrs.ImageSharpBenchmarkParallel(); + if (options.AsyncImageSharp) + { + lrs.ImageSharpBenchmarkParallelAsync(); + } + else + { + lrs.ImageSharpBenchmarkParallel(); + } + + Console.WriteLine("OK"); } } catch (Exception ex) @@ -221,6 +230,9 @@ namespace SixLabors.ImageSharp.Tests.ProfilingSandbox private class CommandLineOptions { + [Option('a', "async-imagesharp", Required = false, Default = false, HelpText = "Async ImageSharp without benchmark switching")] + public bool AsyncImageSharp { get; set; } + [Option('i', "imagesharp", Required = false, Default = false, HelpText = "Test ImageSharp without benchmark switching")] public bool ImageSharp { get; set; } @@ -277,7 +289,7 @@ namespace SixLabors.ImageSharp.Tests.ProfilingSandbox } public override string ToString() => - $"p({this.MaxDegreeOfParallelism})_i({this.ImageSharp})_d({this.KeepDefaultAllocator})_m({this.MaxContiguousPoolBufferMegaBytes})_s({this.MaxPoolSizeMegaBytes})_u({this.MaxCapacityOfNonPoolBuffersMegaBytes})_r({this.RepeatCount})_g({this.GcFrequency})_e({this.ReleaseRetainedResourcesAtEnd})_l({this.LeakFrequency})"; + $"p({this.MaxDegreeOfParallelism})_i({this.ImageSharp})_a({this.AsyncImageSharp})_d({this.KeepDefaultAllocator})_m({this.MaxContiguousPoolBufferMegaBytes})_s({this.MaxPoolSizeMegaBytes})_u({this.MaxCapacityOfNonPoolBuffersMegaBytes})_r({this.RepeatCount})_g({this.GcFrequency})_e({this.ReleaseRetainedResourcesAtEnd})_l({this.LeakFrequency})"; public MemoryAllocator CreateMemoryAllocator() { @@ -330,11 +342,17 @@ namespace SixLabors.ImageSharp.Tests.ProfilingSandbox } }); + private void ImageSharpBenchmarkParallelAsync() => + this.Benchmarks.ForEachImageParallelAsync(f => this.Benchmarks.ImageSharpResizeAsync(f)) + .GetAwaiter() + .GetResult(); + private void MagickBenchmarkParallel() => this.ForEachImage(this.Benchmarks.MagickResize); private void MagicScalerBenchmarkParallel() => this.ForEachImage(this.Benchmarks.MagicScalerResize); private void SkiaBitmapBenchmarkParallel() => this.ForEachImage(this.Benchmarks.SkiaBitmapResize); + private void SkiaBitmapDecodeToTargetSizeBenchmarkParallel() => this.ForEachImage(this.Benchmarks.SkiaBitmapDecodeToTargetSize); private void NetVipsBenchmarkParallel() => this.ForEachImage(this.Benchmarks.NetVipsResize); From ebea485f96f96debbc883fffa1b4ded20581cc10 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Mon, 14 Mar 2022 19:50:39 +1100 Subject: [PATCH 171/244] Update ResizeWorker.cs --- .../Processors/Transforms/Resize/ResizeWorker.cs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs index 2a582ed8a..5e7de1803 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs @@ -133,12 +133,12 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms ref Vector4 fpBase = ref transposedFirstPassBufferSpan[top]; - for (nint x = left; x < right; x++) + for (nint x = 0; x < (right - left); x++) { - ref Vector4 firstPassColumnBase = ref Unsafe.Add(ref fpBase, (x - left) * this.workerHeight); + ref Vector4 firstPassColumnBase = ref Unsafe.Add(ref fpBase, x * this.workerHeight); // Destination color components - Unsafe.Add(ref tempRowBase, x - left) = kernel.ConvolveCore(ref firstPassColumnBase); + Unsafe.Add(ref tempRowBase, x) = kernel.ConvolveCore(ref firstPassColumnBase); } Span targetRowSpan = destination.DangerousGetRowSpan(y).Slice(left, width); @@ -172,6 +172,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms int left = this.targetWorkingRect.Left; int right = this.targetWorkingRect.Right; + int targetOriginX = left > this.targetOrigin.X ? left - this.targetOrigin.X : this.targetOrigin.X; for (int y = calculationInterval.Min; y < calculationInterval.Max; y++) { Span sourceRow = this.source.DangerousGetRowSpan(y); @@ -186,13 +187,13 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms // Span firstPassSpan = transposedFirstPassBufferSpan.Slice(y - this.currentWindow.Min); ref Vector4 firstPassBaseRef = ref transposedFirstPassBufferSpan[y - this.currentWindow.Min]; - for (nint x = left; x < right; x++) + for (nint x = 0; x < (right - left); x++) { - ResizeKernel kernel = this.horizontalKernelMap.GetKernel(x - this.targetOrigin.X); + ResizeKernel kernel = this.horizontalKernelMap.GetKernel(x - targetOriginX); // optimization for: // firstPassSpan[x * this.workerHeight] = kernel.Convolve(tempRowSpan); - Unsafe.Add(ref firstPassBaseRef, (x - left) * this.workerHeight) = kernel.Convolve(tempRowSpan); + Unsafe.Add(ref firstPassBaseRef, x * this.workerHeight) = kernel.Convolve(tempRowSpan); } } } From 1ad9e561377a91fc2568bae4def4193f54aecae8 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Mon, 14 Mar 2022 20:49:39 +1100 Subject: [PATCH 172/244] Use graduated buffers --- src/ImageSharp/IO/ChunkedMemoryStream.cs | 60 +++++++------------ .../IO/ChunkedMemoryStreamTests.cs | 40 ++++++++----- 2 files changed, 45 insertions(+), 55 deletions(-) diff --git a/src/ImageSharp/IO/ChunkedMemoryStream.cs b/src/ImageSharp/IO/ChunkedMemoryStream.cs index 9c242b558..c34ed9878 100644 --- a/src/ImageSharp/IO/ChunkedMemoryStream.cs +++ b/src/ImageSharp/IO/ChunkedMemoryStream.cs @@ -16,39 +16,17 @@ namespace SixLabors.ImageSharp.IO /// internal sealed class ChunkedMemoryStream : Stream { - /// - /// The default length in bytes of each buffer chunk when allocating large buffers. - /// - public const int DefaultLargeChunkSize = 1024 * 1024 * 4; // 4 Mb - - /// - /// The threshold at which to switch to using the large buffer. - /// - public const int DefaultLargeChunkThreshold = DefaultLargeChunkSize / 4; // 1 Mb - - /// - /// The default length in bytes of each buffer chunk when allocating small buffers. - /// - public const int DefaultSmallChunkSize = DefaultLargeChunkSize / 32; // 128 Kb - // The memory allocator. private readonly MemoryAllocator allocator; // Data private MemoryChunk memoryChunk; - // The length, in bytes, of each large buffer chunk - private readonly int largeChunkSize; - - // The length, in bytes of the total allocation threshold that triggers switching from - // small to large buffer chunks. - private readonly int largeChunkThreshold; - - // The current length, in bytes, of each buffer chunk - private int chunkSize; + // The total number of allocated chunks + private int chunkCount; - // The total allocation length, in bytes - private int totalAllocation; + // The length of the largest contiguous buffer that can be handled by the allocator. + private readonly int allocatorCapacity; // Has the stream been disposed. private bool isDisposed; @@ -72,12 +50,7 @@ namespace SixLabors.ImageSharp.IO { Guard.NotNull(allocator, nameof(allocator)); - // Tweak our buffer sizes to take the minimum of the provided buffer sizes - // or values scaled from the allocator buffer capacity which provides us with the largest - // available contiguous buffer size. - this.largeChunkSize = Math.Min(DefaultLargeChunkSize, allocator.GetBufferCapacityInBytes()); - this.largeChunkThreshold = Math.Min(DefaultLargeChunkThreshold, this.largeChunkSize / 4); - this.chunkSize = Math.Min(DefaultSmallChunkSize, this.largeChunkSize / 32); + this.allocatorCapacity = allocator.GetBufferCapacityInBytes(); this.allocator = allocator; } @@ -236,7 +209,7 @@ namespace SixLabors.ImageSharp.IO this.memoryChunk = null; this.writeChunk = null; this.readChunk = null; - this.totalAllocation = 0; + this.chunkCount = 0; } finally { @@ -548,13 +521,10 @@ namespace SixLabors.ImageSharp.IO [MethodImpl(MethodImplOptions.AggressiveInlining)] private MemoryChunk AllocateMemoryChunk() { - if (this.totalAllocation >= this.largeChunkThreshold) - { - this.chunkSize = this.largeChunkSize; - } - - IMemoryOwner buffer = this.allocator.Allocate(this.chunkSize); - this.totalAllocation += this.chunkSize; + // Tweak our buffer sizes to take the minimum of the provided buffer sizes + // or the allocator buffer capacity which provides us with the largest + // available contiguous buffer size. + IMemoryOwner buffer = this.allocator.Allocate(Math.Min(this.allocatorCapacity, GetChunkSize(this.chunkCount++))); return new MemoryChunk { @@ -573,6 +543,16 @@ namespace SixLabors.ImageSharp.IO } } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static int GetChunkSize(int i) + { +#pragma warning disable IDE1006 // Naming Styles + const int _128K = 1 << 17; + const int _4M = 1 << 22; + return i < 16 ? _128K * (1 << (i / 4)) : _4M; +#pragma warning restore IDE1006 // Naming Styles + } + private sealed class MemoryChunk : IDisposable { private bool isDisposed; diff --git a/tests/ImageSharp.Tests/IO/ChunkedMemoryStreamTests.cs b/tests/ImageSharp.Tests/IO/ChunkedMemoryStreamTests.cs index 455730e71..6bcb7e7ad 100644 --- a/tests/ImageSharp.Tests/IO/ChunkedMemoryStreamTests.cs +++ b/tests/ImageSharp.Tests/IO/ChunkedMemoryStreamTests.cs @@ -18,6 +18,16 @@ namespace SixLabors.ImageSharp.Tests.IO /// public class ChunkedMemoryStreamTests { + /// + /// The default length in bytes of each buffer chunk when allocating large buffers. + /// + private const int DefaultLargeChunkSize = 1024 * 1024 * 4; // 4 Mb + + /// + /// The default length in bytes of each buffer chunk when allocating small buffers. + /// + private const int DefaultSmallChunkSize = DefaultLargeChunkSize / 32; // 128 Kb + private readonly MemoryAllocator allocator; public ChunkedMemoryStreamTests() => this.allocator = Configuration.Default.MemoryAllocator; @@ -51,11 +61,11 @@ namespace SixLabors.ImageSharp.Tests.IO } [Theory] - [InlineData(ChunkedMemoryStream.DefaultSmallChunkSize)] - [InlineData((int)(ChunkedMemoryStream.DefaultSmallChunkSize * 1.5))] - [InlineData(ChunkedMemoryStream.DefaultSmallChunkSize * 4)] - [InlineData((int)(ChunkedMemoryStream.DefaultSmallChunkSize * 5.5))] - [InlineData(ChunkedMemoryStream.DefaultSmallChunkSize * 16)] + [InlineData(DefaultSmallChunkSize)] + [InlineData((int)(DefaultSmallChunkSize * 1.5))] + [InlineData(DefaultSmallChunkSize * 4)] + [InlineData((int)(DefaultSmallChunkSize * 5.5))] + [InlineData(DefaultSmallChunkSize * 16)] public void MemoryStream_ReadByteTest(int length) { using MemoryStream ms = this.CreateTestStream(length); @@ -72,11 +82,11 @@ namespace SixLabors.ImageSharp.Tests.IO } [Theory] - [InlineData(ChunkedMemoryStream.DefaultSmallChunkSize)] - [InlineData((int)(ChunkedMemoryStream.DefaultSmallChunkSize * 1.5))] - [InlineData(ChunkedMemoryStream.DefaultSmallChunkSize * 4)] - [InlineData((int)(ChunkedMemoryStream.DefaultSmallChunkSize * 5.5))] - [InlineData(ChunkedMemoryStream.DefaultSmallChunkSize * 16)] + [InlineData(DefaultSmallChunkSize)] + [InlineData((int)(DefaultSmallChunkSize * 1.5))] + [InlineData(DefaultSmallChunkSize * 4)] + [InlineData((int)(DefaultSmallChunkSize * 5.5))] + [InlineData(DefaultSmallChunkSize * 16)] public void MemoryStream_ReadByteBufferTest(int length) { using MemoryStream ms = this.CreateTestStream(length); @@ -95,11 +105,11 @@ namespace SixLabors.ImageSharp.Tests.IO } [Theory] - [InlineData(ChunkedMemoryStream.DefaultSmallChunkSize)] - [InlineData((int)(ChunkedMemoryStream.DefaultSmallChunkSize * 1.5))] - [InlineData(ChunkedMemoryStream.DefaultSmallChunkSize * 4)] - [InlineData((int)(ChunkedMemoryStream.DefaultSmallChunkSize * 5.5))] - [InlineData(ChunkedMemoryStream.DefaultSmallChunkSize * 16)] + [InlineData(DefaultSmallChunkSize)] + [InlineData((int)(DefaultSmallChunkSize * 1.5))] + [InlineData(DefaultSmallChunkSize * 4)] + [InlineData((int)(DefaultSmallChunkSize * 5.5))] + [InlineData(DefaultSmallChunkSize * 16)] public void MemoryStream_ReadByteBufferSpanTest(int length) { using MemoryStream ms = this.CreateTestStream(length); From afe9505b291717e2fdef428c604bd37a4a771dd1 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Mon, 14 Mar 2022 20:59:59 +1100 Subject: [PATCH 173/244] Fix offset --- .../Processing/Processors/Transforms/Resize/ResizeWorker.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs index 5e7de1803..45f35b7d9 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs @@ -172,7 +172,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms int left = this.targetWorkingRect.Left; int right = this.targetWorkingRect.Right; - int targetOriginX = left > this.targetOrigin.X ? left - this.targetOrigin.X : this.targetOrigin.X; + int targetOriginX = this.targetOrigin.X; for (int y = calculationInterval.Min; y < calculationInterval.Max; y++) { Span sourceRow = this.source.DangerousGetRowSpan(y); @@ -187,13 +187,13 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms // Span firstPassSpan = transposedFirstPassBufferSpan.Slice(y - this.currentWindow.Min); ref Vector4 firstPassBaseRef = ref transposedFirstPassBufferSpan[y - this.currentWindow.Min]; - for (nint x = 0; x < (right - left); x++) + for (nint x = left, z = 0; x < right; x++, z++) { ResizeKernel kernel = this.horizontalKernelMap.GetKernel(x - targetOriginX); // optimization for: // firstPassSpan[x * this.workerHeight] = kernel.Convolve(tempRowSpan); - Unsafe.Add(ref firstPassBaseRef, x * this.workerHeight) = kernel.Convolve(tempRowSpan); + Unsafe.Add(ref firstPassBaseRef, z * this.workerHeight) = kernel.Convolve(tempRowSpan); } } } From e554dcaa73d2b17c7efc2246bbfa12bc39f3ba9f Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Tue, 15 Mar 2022 01:27:47 +0000 Subject: [PATCH 174/244] Update src/ImageSharp/IO/ChunkedMemoryStream.cs Co-authored-by: Anton Firszov --- src/ImageSharp/IO/ChunkedMemoryStream.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ImageSharp/IO/ChunkedMemoryStream.cs b/src/ImageSharp/IO/ChunkedMemoryStream.cs index c34ed9878..a1ea2b760 100644 --- a/src/ImageSharp/IO/ChunkedMemoryStream.cs +++ b/src/ImageSharp/IO/ChunkedMemoryStream.cs @@ -546,6 +546,8 @@ namespace SixLabors.ImageSharp.IO [MethodImpl(MethodImplOptions.AggressiveInlining)] private static int GetChunkSize(int i) { + // Increment chunks sizes with moderate speed, but without using too many buffers from the same ArrayPool bucket of the default MemoryAllocator. + // https://github.com/SixLabors/ImageSharp/pull/2006#issuecomment-1066244720 #pragma warning disable IDE1006 // Naming Styles const int _128K = 1 << 17; const int _4M = 1 << 22; From db1bf316744d0b057d4e7a9a5219983c64d40011 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Tue, 15 Mar 2022 18:36:07 +1100 Subject: [PATCH 175/244] Use pre-existing pixel conversion methods --- .../Rgba16161616TiffColor{TPixel}.cs | 5 +-- .../Rgba8888TiffColor{TPixel}.cs | 5 +-- .../RgbaPlanarTiffColor{TPixel}.cs | 2 +- .../RgbaTiffColor{TPixel}.cs | 2 +- .../Formats/Tiff/Utils/TiffUtils.cs | 31 ++++++------------- .../Formats/Tiff/TiffDecoderTests.cs | 2 +- 6 files changed, 19 insertions(+), 28 deletions(-) diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16161616TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16161616TiffColor{TPixel}.cs index c3a12363c..9ca497604 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16161616TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16161616TiffColor{TPixel}.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. using System; +using System.Buffers; using System.Numerics; using SixLabors.ImageSharp.Formats.Tiff.Utils; using SixLabors.ImageSharp.Memory; @@ -50,7 +51,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation bool hasAssociatedAlpha = this.extraSamplesType.HasValue && this.extraSamplesType == TiffExtraSampleType.AssociatedAlphaData; int offset = 0; - using System.Buffers.IMemoryOwner vectors = hasAssociatedAlpha ? this.memoryAllocator.Allocate(width) : null; + using IMemoryOwner vectors = hasAssociatedAlpha ? this.memoryAllocator.Allocate(width) : null; Span vectorsSpan = hasAssociatedAlpha ? vectors.GetSpan() : Span.Empty; for (int y = top; y < top + height; y++) { @@ -86,7 +87,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation if (hasAssociatedAlpha) { PixelOperations.Instance.ToVector4(this.configuration, pixelRow, vectorsSpan); - TiffUtils.UnPremultiplyRow(vectorsSpan, pixelRow, color); + PixelOperations.Instance.FromVector4Destructive(this.configuration, vectorsSpan, pixelRow, PixelConversionModifiers.Premultiply | PixelConversionModifiers.Scale); } offset += byteCount; diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba8888TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba8888TiffColor{TPixel}.cs index e21dcf27b..cac34dd06 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba8888TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba8888TiffColor{TPixel}.cs @@ -2,6 +2,7 @@ // Licensed under the Apache License, Version 2.0. using System; +using System.Buffers; using System.Numerics; using SixLabors.ImageSharp.Formats.Tiff.Utils; using SixLabors.ImageSharp.Memory; @@ -36,7 +37,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation var color = default(TPixel); color.FromVector4(TiffUtils.Vector4Default); - using System.Buffers.IMemoryOwner vectors = hasAssociatedAlpha ? this.memoryAllocator.Allocate(width) : null; + using IMemoryOwner vectors = hasAssociatedAlpha ? this.memoryAllocator.Allocate(width) : null; Span vectorsSpan = hasAssociatedAlpha ? vectors.GetSpan() : Span.Empty; for (int y = top; y < top + height; y++) { @@ -51,7 +52,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation if (hasAssociatedAlpha) { PixelOperations.Instance.ToVector4(this.configuration, pixelRow, vectorsSpan); - TiffUtils.UnPremultiplyRow(vectorsSpan, pixelRow, color); + PixelOperations.Instance.FromVector4Destructive(this.configuration, vectorsSpan, pixelRow, PixelConversionModifiers.Premultiply | PixelConversionModifiers.Scale); } offset += byteCount; diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaPlanarTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaPlanarTiffColor{TPixel}.cs index ecf957eab..f6bd5e6a9 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaPlanarTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaPlanarTiffColor{TPixel}.cs @@ -81,7 +81,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation var vec = new Vector4(r, g, b, a); if (hasAssociatedAlpha) { - color = TiffUtils.UnPremultiply(vec, color); + color = TiffUtils.UnPremultiply(ref vec, color); } else { diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaTiffColor{TPixel}.cs index c00557b10..0aa5ab685 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaTiffColor{TPixel}.cs @@ -70,7 +70,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation var vec = new Vector4(r, g, b, a); if (hasAssociatedAlpha) { - pixelRow[x] = TiffUtils.UnPremultiply(vec, color); + pixelRow[x] = TiffUtils.UnPremultiply(ref vec, color); } else { diff --git a/src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs b/src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs index 13b63dedc..cff2e88f1 100644 --- a/src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs +++ b/src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs @@ -69,7 +69,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Utils { rgba.PackedValue = r | (g << 16) | (b << 32) | (a << 48); var vec = rgba.ToVector4(); - return UnPremultiply(vec, color); + return UnPremultiply(ref vec, color); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -85,7 +85,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Utils public static TPixel ColorScaleTo24Bit(ulong r, ulong g, ulong b, ulong a, TPixel color) where TPixel : unmanaged, IPixel { - var colorVector = new Vector4(r * Scale24Bit, g * Scale24Bit, b * Scale24Bit, a * Scale24Bit); + Vector4 colorVector = new Vector4(r, g, b, a) * Scale24Bit; color.FromVector4(colorVector); return color; } @@ -94,8 +94,8 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Utils public static TPixel ColorScaleTo24BitPremultiplied(ulong r, ulong g, ulong b, ulong a, TPixel color) where TPixel : unmanaged, IPixel { - var colorVector = new Vector4(r * Scale24Bit, g * Scale24Bit, b * Scale24Bit, a * Scale24Bit); - return UnPremultiply(colorVector, color); + Vector4 colorVector = new Vector4(r, g, b, a) * Scale24Bit; + return UnPremultiply(ref colorVector, color); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -111,7 +111,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Utils public static TPixel ColorScaleTo32Bit(ulong r, ulong g, ulong b, ulong a, TPixel color) where TPixel : unmanaged, IPixel { - var colorVector = new Vector4(r * Scale32Bit, g * Scale32Bit, b * Scale32Bit, a * Scale32Bit); + Vector4 colorVector = new Vector4(r, g, b, a) * Scale32Bit; color.FromVector4(colorVector); return color; } @@ -120,8 +120,8 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Utils public static TPixel ColorScaleTo32BitPremultiplied(ulong r, ulong g, ulong b, ulong a, TPixel color) where TPixel : unmanaged, IPixel { - var colorVector = new Vector4(r * Scale32Bit, g * Scale32Bit, b * Scale32Bit, a * Scale32Bit); - return UnPremultiply(colorVector, color); + Vector4 colorVector = new Vector4(r, g, b, a) * Scale32Bit; + return UnPremultiply(ref colorVector, color); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -152,22 +152,11 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Utils } [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static void UnPremultiplyRow(Span vectors, Span pixelRow, TPixel color) + public static TPixel UnPremultiply(ref Vector4 vector, TPixel color) where TPixel : unmanaged, IPixel { - for (int x = 0; x < vectors.Length; x++) - { - Vector4 vec = vectors[x]; - pixelRow[x] = UnPremultiply(vec, color); - } - } - - [MethodImpl(MethodImplOptions.AggressiveInlining)] - public static TPixel UnPremultiply(Vector4 vec, TPixel color) - where TPixel : unmanaged, IPixel - { - float invW = 1.0f / vec.W; - color.FromVector4(new Vector4(vec.X * invW, vec.Y * invW, vec.Z * invW, vec.W)); + Numerics.UnPremultiply(ref vector); + color.FromVector4(vector); return color; } diff --git a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs index 6e96d3c65..29d1cbdc5 100644 --- a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs @@ -362,7 +362,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff } // Note: Using tolerant comparer here, because there is a small difference to the reference decoder probably due to floating point rounding issues. - TestTiffDecoder(provider, useExactComparer: false); + TestTiffDecoder(provider, useExactComparer: false, compareTolerance: 0.004F); } [Theory] From 3ad23e8373bfd989f9d852906efed2d88ba6667d Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Tue, 15 Mar 2022 19:12:22 +1100 Subject: [PATCH 176/244] Use FromScaledVector4 when decoding --- src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs | 10 +++++----- .../BlackIsZero16TiffColor{TPixel}.cs | 2 +- .../BlackIsZero24TiffColor{TPixel}.cs | 2 +- .../BlackIsZero32FloatTiffColor{TPixel}.cs | 6 +++--- .../BlackIsZero32TiffColor{TPixel}.cs | 2 +- .../BlackIsZeroTiffColor{TPixel}.cs | 2 +- .../PaletteTiffColor{TPixel}.cs | 2 +- .../Rgb161616TiffColor{TPixel}.cs | 2 +- .../Rgb16PlanarTiffColor{TPixel}.cs | 2 +- .../Rgb242424TiffColor{TPixel}.cs | 2 +- .../Rgb24PlanarTiffColor{TPixel}.cs | 2 +- .../Rgb323232TiffColor{TPixel}.cs | 2 +- .../Rgb32PlanarTiffColor{TPixel}.cs | 2 +- .../RgbFloat323232TiffColor{TPixel}.cs | 6 +++--- .../RgbPlanarTiffColor{TPixel}.cs | 2 +- .../RgbTiffColor{TPixel}.cs | 2 +- .../Rgba16161616TiffColor{TPixel}.cs | 2 +- .../Rgba16PlanarTiffColor{TPixel}.cs | 2 +- .../Rgba24242424TiffColor{TPixel}.cs | 2 +- .../Rgba24PlanarTiffColor{TPixel}.cs | 2 +- .../Rgba32323232TiffColor{TPixel}.cs | 2 +- .../Rgba32PlanarTiffColor{TPixel}.cs | 2 +- .../Rgba8888TiffColor{TPixel}.cs | 2 +- .../RgbaFloat32323232TiffColor{TPixel}.cs | 6 +++--- .../RgbaPlanarTiffColor{TPixel}.cs | 2 +- .../RgbaTiffColor{TPixel}.cs | 2 +- .../WhiteIsZero16TiffColor{TPixel}.cs | 2 +- .../WhiteIsZero24TiffColor{TPixel}.cs | 2 +- .../WhiteIsZero32FloatTiffColor{TPixel}.cs | 6 +++--- .../WhiteIsZero32TiffColor{TPixel}.cs | 2 +- .../WhiteIsZeroTiffColor{TPixel}.cs | 2 +- src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs | 17 ++++++++--------- 32 files changed, 51 insertions(+), 52 deletions(-) diff --git a/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs b/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs index 41adc1cff..962c9f0d6 100644 --- a/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs +++ b/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs @@ -323,12 +323,12 @@ namespace SixLabors.ImageSharp.Formats.Bmp color.FromBgr24(Unsafe.As(ref colors[colorIdx * 4])); break; case RleSkippedPixelHandling.Transparent: - color.FromVector4(Vector4.Zero); + color.FromScaledVector4(Vector4.Zero); break; // Default handling for skipped pixels is black (which is what System.Drawing is also doing). default: - color.FromVector4(new Vector4(0.0f, 0.0f, 0.0f, 1.0f)); + color.FromScaledVector4(new Vector4(0.0f, 0.0f, 0.0f, 1.0f)); break; } } @@ -395,12 +395,12 @@ namespace SixLabors.ImageSharp.Formats.Bmp color.FromBgr24(Unsafe.As(ref bufferSpan[idx])); break; case RleSkippedPixelHandling.Transparent: - color.FromVector4(Vector4.Zero); + color.FromScaledVector4(Vector4.Zero); break; // Default handling for skipped pixels is black (which is what System.Drawing is also doing). default: - color.FromVector4(new Vector4(0.0f, 0.0f, 0.0f, 1.0f)); + color.FromScaledVector4(new Vector4(0.0f, 0.0f, 0.0f, 1.0f)); break; } } @@ -1127,7 +1127,7 @@ namespace SixLabors.ImageSharp.Formats.Bmp g * invMaxValueGreen, b * invMaxValueBlue, alpha); - color.FromVector4(vector4); + color.FromScaledVector4(vector4); } else { diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/BlackIsZero16TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/BlackIsZero16TiffColor{TPixel}.cs index 5d910d16e..e60562912 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/BlackIsZero16TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/BlackIsZero16TiffColor{TPixel}.cs @@ -36,7 +36,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 L16 l16 = TiffUtils.L16Default; var color = default(TPixel); - color.FromVector4(TiffUtils.Vector4Default); + color.FromScaledVector4(TiffUtils.Vector4Default); int offset = 0; for (int y = top; y < top + height; y++) diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/BlackIsZero24TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/BlackIsZero24TiffColor{TPixel}.cs index 4cda95480..7d230dfd5 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/BlackIsZero24TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/BlackIsZero24TiffColor{TPixel}.cs @@ -28,7 +28,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // Note: due to an issue with netcore 2.1 and default values and unpredictable behavior with those, // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 var color = default(TPixel); - color.FromVector4(TiffUtils.Vector4Default); + color.FromScaledVector4(TiffUtils.Vector4Default); byte[] buffer = new byte[4]; int bufferStartIdx = this.isBigEndian ? 1 : 0; diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/BlackIsZero32FloatTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/BlackIsZero32FloatTiffColor{TPixel}.cs index ee9bf8a9c..c43b121ca 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/BlackIsZero32FloatTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/BlackIsZero32FloatTiffColor{TPixel}.cs @@ -29,7 +29,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // Note: due to an issue with netcore 2.1 and default values and unpredictable behavior with those, // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 var color = default(TPixel); - color.FromVector4(TiffUtils.Vector4Default); + color.FromScaledVector4(TiffUtils.Vector4Default); byte[] buffer = new byte[4]; int offset = 0; @@ -46,7 +46,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation offset += 4; var colorVector = new Vector4(intensity, intensity, intensity, 1.0f); - color.FromVector4(colorVector); + color.FromScaledVector4(colorVector); pixelRow[x] = color; } } @@ -59,7 +59,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation offset += 4; var colorVector = new Vector4(intensity, intensity, intensity, 1.0f); - color.FromVector4(colorVector); + color.FromScaledVector4(colorVector); pixelRow[x] = color; } } diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/BlackIsZero32TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/BlackIsZero32TiffColor{TPixel}.cs index 7367a78e3..00e4caef7 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/BlackIsZero32TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/BlackIsZero32TiffColor{TPixel}.cs @@ -28,7 +28,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // Note: due to an issue with netcore 2.1 and default values and unpredictable behavior with those, // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 var color = default(TPixel); - color.FromVector4(TiffUtils.Vector4Default); + color.FromScaledVector4(TiffUtils.Vector4Default); int offset = 0; for (int y = top; y < top + height; y++) diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/BlackIsZeroTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/BlackIsZeroTiffColor{TPixel}.cs index a40fa7667..59be3f891 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/BlackIsZeroTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/BlackIsZeroTiffColor{TPixel}.cs @@ -40,7 +40,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation int value = bitReader.ReadBits(this.bitsPerSample0); float intensity = value / this.factor; - color.FromVector4(new Vector4(intensity, intensity, intensity, 1.0f)); + color.FromScaledVector4(new Vector4(intensity, intensity, intensity, 1.0f)); pixelRow[x] = color; } diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/PaletteTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/PaletteTiffColor{TPixel}.cs index 29e03c6c6..ad5793084 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/PaletteTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/PaletteTiffColor{TPixel}.cs @@ -59,7 +59,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation float r = colorMap[rOffset + i] / 65535F; float g = colorMap[gOffset + i] / 65535F; float b = colorMap[bOffset + i] / 65535F; - palette[i].FromVector4(new Vector4(r, g, b, 1.0f)); + palette[i].FromScaledVector4(new Vector4(r, g, b, 1.0f)); } return palette; diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb161616TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb161616TiffColor{TPixel}.cs index bc7cd317c..609369011 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb161616TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb161616TiffColor{TPixel}.cs @@ -36,7 +36,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 Rgba64 rgba = TiffUtils.Rgba64Default; var color = default(TPixel); - color.FromVector4(TiffUtils.Vector4Default); + color.FromScaledVector4(TiffUtils.Vector4Default); int offset = 0; diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb16PlanarTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb16PlanarTiffColor{TPixel}.cs index a415395a5..76fed3c93 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb16PlanarTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb16PlanarTiffColor{TPixel}.cs @@ -30,7 +30,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 Rgba64 rgba = TiffUtils.Rgba64Default; var color = default(TPixel); - color.FromVector4(TiffUtils.Vector4Default); + color.FromScaledVector4(TiffUtils.Vector4Default); Span redData = data[0].GetSpan(); Span greenData = data[1].GetSpan(); diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb242424TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb242424TiffColor{TPixel}.cs index 4130ee1a2..addf576e9 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb242424TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb242424TiffColor{TPixel}.cs @@ -28,7 +28,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // Note: due to an issue with netcore 2.1 and default values and unpredictable behavior with those, // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 var color = default(TPixel); - color.FromVector4(TiffUtils.Vector4Default); + color.FromScaledVector4(TiffUtils.Vector4Default); int offset = 0; Span buffer = stackalloc byte[4]; int bufferStartIdx = this.isBigEndian ? 1 : 0; diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb24PlanarTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb24PlanarTiffColor{TPixel}.cs index e37fff1e7..2eda3b5af 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb24PlanarTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb24PlanarTiffColor{TPixel}.cs @@ -29,7 +29,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // Note: due to an issue with netcore 2.1 and default values and unpredictable behavior with those, // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 var color = default(TPixel); - color.FromVector4(TiffUtils.Vector4Default); + color.FromScaledVector4(TiffUtils.Vector4Default); Span buffer = stackalloc byte[4]; int bufferStartIdx = this.isBigEndian ? 1 : 0; diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb323232TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb323232TiffColor{TPixel}.cs index bf1e65e1c..02319bfa6 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb323232TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb323232TiffColor{TPixel}.cs @@ -28,7 +28,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // Note: due to an issue with netcore 2.1 and default values and unpredictable behavior with those, // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 var color = default(TPixel); - color.FromVector4(TiffUtils.Vector4Default); + color.FromScaledVector4(TiffUtils.Vector4Default); int offset = 0; for (int y = top; y < top + height; y++) diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb32PlanarTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb32PlanarTiffColor{TPixel}.cs index cdc6942bd..26f75bfcf 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb32PlanarTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgb32PlanarTiffColor{TPixel}.cs @@ -29,7 +29,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // Note: due to an issue with netcore 2.1 and default values and unpredictable behavior with those, // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 var color = default(TPixel); - color.FromVector4(TiffUtils.Vector4Default); + color.FromScaledVector4(TiffUtils.Vector4Default); Span redData = data[0].GetSpan(); Span greenData = data[1].GetSpan(); diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbFloat323232TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbFloat323232TiffColor{TPixel}.cs index 4dc3295a4..7fd98dd50 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbFloat323232TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbFloat323232TiffColor{TPixel}.cs @@ -29,7 +29,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // Note: due to an issue with netcore 2.1 and default values and unpredictable behavior with those, // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 var color = default(TPixel); - color.FromVector4(TiffUtils.Vector4Default); + color.FromScaledVector4(TiffUtils.Vector4Default); int offset = 0; byte[] buffer = new byte[4]; @@ -57,7 +57,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation offset += 4; var colorVector = new Vector4(r, g, b, 1.0f); - color.FromVector4(colorVector); + color.FromScaledVector4(colorVector); pixelRow[x] = color; } } @@ -78,7 +78,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation offset += 4; var colorVector = new Vector4(r, g, b, 1.0f); - color.FromVector4(colorVector); + color.FromScaledVector4(colorVector); pixelRow[x] = color; } } diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbPlanarTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbPlanarTiffColor{TPixel}.cs index 54466e05b..f1ff91382 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbPlanarTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbPlanarTiffColor{TPixel}.cs @@ -65,7 +65,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation float g = gBitReader.ReadBits(this.bitsPerSampleG) / this.gFactor; float b = bBitReader.ReadBits(this.bitsPerSampleB) / this.bFactor; - color.FromVector4(new Vector4(r, g, b, 1.0f)); + color.FromScaledVector4(new Vector4(r, g, b, 1.0f)); pixelRow[x] = color; } diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbTiffColor{TPixel}.cs index 4a887c426..9d037cec7 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbTiffColor{TPixel}.cs @@ -54,7 +54,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation float g = bitReader.ReadBits(this.bitsPerSampleG) / this.gFactor; float b = bitReader.ReadBits(this.bitsPerSampleB) / this.bFactor; - color.FromVector4(new Vector4(r, g, b, 1.0f)); + color.FromScaledVector4(new Vector4(r, g, b, 1.0f)); pixelRow[x] = color; } diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16161616TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16161616TiffColor{TPixel}.cs index 9ca497604..0340438cb 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16161616TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16161616TiffColor{TPixel}.cs @@ -46,7 +46,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 Rgba64 rgba = TiffUtils.Rgba64Default; var color = default(TPixel); - color.FromVector4(TiffUtils.Vector4Default); + color.FromScaledVector4(TiffUtils.Vector4Default); bool hasAssociatedAlpha = this.extraSamplesType.HasValue && this.extraSamplesType == TiffExtraSampleType.AssociatedAlphaData; int offset = 0; diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16PlanarTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16PlanarTiffColor{TPixel}.cs index a9d38a4be..856d810d3 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16PlanarTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba16PlanarTiffColor{TPixel}.cs @@ -37,7 +37,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 Rgba64 rgba = TiffUtils.Rgba64Default; var color = default(TPixel); - color.FromVector4(TiffUtils.Vector4Default); + color.FromScaledVector4(TiffUtils.Vector4Default); Span redData = data[0].GetSpan(); Span greenData = data[1].GetSpan(); diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24242424TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24242424TiffColor{TPixel}.cs index 7f754d7f5..2ce30252f 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24242424TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24242424TiffColor{TPixel}.cs @@ -35,7 +35,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // Note: due to an issue with netcore 2.1 and default values and unpredictable behavior with those, // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 var color = default(TPixel); - color.FromVector4(TiffUtils.Vector4Default); + color.FromScaledVector4(TiffUtils.Vector4Default); bool hasAssociatedAlpha = this.extraSamplesType.HasValue && this.extraSamplesType == TiffExtraSampleType.AssociatedAlphaData; int offset = 0; diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24PlanarTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24PlanarTiffColor{TPixel}.cs index a3cdd2432..89172cfe7 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24PlanarTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba24PlanarTiffColor{TPixel}.cs @@ -36,7 +36,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // Note: due to an issue with netcore 2.1 and default values and unpredictable behavior with those, // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 var color = default(TPixel); - color.FromVector4(TiffUtils.Vector4Default); + color.FromScaledVector4(TiffUtils.Vector4Default); Span buffer = stackalloc byte[4]; int bufferStartIdx = this.isBigEndian ? 1 : 0; diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba32323232TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba32323232TiffColor{TPixel}.cs index 96ff32308..8ee9eb0bf 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba32323232TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba32323232TiffColor{TPixel}.cs @@ -35,7 +35,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // Note: due to an issue with netcore 2.1 and default values and unpredictable behavior with those, // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 var color = default(TPixel); - color.FromVector4(TiffUtils.Vector4Default); + color.FromScaledVector4(TiffUtils.Vector4Default); bool hasAssociatedAlpha = this.extraSamplesType.HasValue && this.extraSamplesType == TiffExtraSampleType.AssociatedAlphaData; int offset = 0; diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba32PlanarTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba32PlanarTiffColor{TPixel}.cs index 3f7567fc7..c98ac1cf0 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba32PlanarTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba32PlanarTiffColor{TPixel}.cs @@ -36,7 +36,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // Note: due to an issue with netcore 2.1 and default values and unpredictable behavior with those, // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 var color = default(TPixel); - color.FromVector4(TiffUtils.Vector4Default); + color.FromScaledVector4(TiffUtils.Vector4Default); Span redData = data[0].GetSpan(); Span greenData = data[1].GetSpan(); diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba8888TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba8888TiffColor{TPixel}.cs index cac34dd06..967a68ad0 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba8888TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/Rgba8888TiffColor{TPixel}.cs @@ -36,7 +36,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation bool hasAssociatedAlpha = this.extraSamplesType.HasValue && this.extraSamplesType == TiffExtraSampleType.AssociatedAlphaData; var color = default(TPixel); - color.FromVector4(TiffUtils.Vector4Default); + color.FromScaledVector4(TiffUtils.Vector4Default); using IMemoryOwner vectors = hasAssociatedAlpha ? this.memoryAllocator.Allocate(width) : null; Span vectorsSpan = hasAssociatedAlpha ? vectors.GetSpan() : Span.Empty; for (int y = top; y < top + height; y++) diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaFloat32323232TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaFloat32323232TiffColor{TPixel}.cs index 4fb0797dc..f95045ec5 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaFloat32323232TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaFloat32323232TiffColor{TPixel}.cs @@ -29,7 +29,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // Note: due to an issue with netcore 2.1 and default values and unpredictable behavior with those, // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 var color = default(TPixel); - color.FromVector4(TiffUtils.Vector4Default); + color.FromScaledVector4(TiffUtils.Vector4Default); int offset = 0; byte[] buffer = new byte[4]; @@ -62,7 +62,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation offset += 4; var colorVector = new Vector4(r, g, b, a); - color.FromVector4(colorVector); + color.FromScaledVector4(colorVector); pixelRow[x] = color; } } @@ -87,7 +87,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation offset += 4; var colorVector = new Vector4(r, g, b, a); - color.FromVector4(colorVector); + color.FromScaledVector4(colorVector); pixelRow[x] = color; } } diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaPlanarTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaPlanarTiffColor{TPixel}.cs index f6bd5e6a9..e2dbdfb00 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaPlanarTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaPlanarTiffColor{TPixel}.cs @@ -85,7 +85,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation } else { - color.FromVector4(vec); + color.FromScaledVector4(vec); } pixelRow[x] = color; diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaTiffColor{TPixel}.cs index 0aa5ab685..74b816dbc 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/RgbaTiffColor{TPixel}.cs @@ -74,7 +74,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation } else { - color.FromVector4(vec); + color.FromScaledVector4(vec); pixelRow[x] = color; } } diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZero16TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZero16TiffColor{TPixel}.cs index 038281c99..d509776d7 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZero16TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZero16TiffColor{TPixel}.cs @@ -29,7 +29,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 L16 l16 = TiffUtils.L16Default; var color = default(TPixel); - color.FromVector4(TiffUtils.Vector4Default); + color.FromScaledVector4(TiffUtils.Vector4Default); int offset = 0; for (int y = top; y < top + height; y++) diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZero24TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZero24TiffColor{TPixel}.cs index 807023b6b..fbf813078 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZero24TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZero24TiffColor{TPixel}.cs @@ -28,7 +28,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // Note: due to an issue with netcore 2.1 and default values and unpredictable behavior with those, // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 var color = default(TPixel); - color.FromVector4(TiffUtils.Vector4Default); + color.FromScaledVector4(TiffUtils.Vector4Default); byte[] buffer = new byte[4]; int bufferStartIdx = this.isBigEndian ? 1 : 0; const uint maxValue = 0xFFFFFF; diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZero32FloatTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZero32FloatTiffColor{TPixel}.cs index 71323c7ba..40d1541c5 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZero32FloatTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZero32FloatTiffColor{TPixel}.cs @@ -29,7 +29,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // Note: due to an issue with netcore 2.1 and default values and unpredictable behavior with those, // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 var color = default(TPixel); - color.FromVector4(TiffUtils.Vector4Default); + color.FromScaledVector4(TiffUtils.Vector4Default); byte[] buffer = new byte[4]; int offset = 0; @@ -46,7 +46,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation offset += 4; var colorVector = new Vector4(intensity, intensity, intensity, 1.0f); - color.FromVector4(colorVector); + color.FromScaledVector4(colorVector); pixelRow[x] = color; } } @@ -59,7 +59,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation offset += 4; var colorVector = new Vector4(intensity, intensity, intensity, 1.0f); - color.FromVector4(colorVector); + color.FromScaledVector4(colorVector); pixelRow[x] = color; } } diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZero32TiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZero32TiffColor{TPixel}.cs index e433956f0..fd908c1e9 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZero32TiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZero32TiffColor{TPixel}.cs @@ -28,7 +28,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation // Note: due to an issue with netcore 2.1 and default values and unpredictable behavior with those, // we define our own defaults as a workaround. See: https://github.com/dotnet/runtime/issues/55623 var color = default(TPixel); - color.FromVector4(TiffUtils.Vector4Default); + color.FromScaledVector4(TiffUtils.Vector4Default); const uint maxValue = 0xFFFFFFFF; int offset = 0; diff --git a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZeroTiffColor{TPixel}.cs b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZeroTiffColor{TPixel}.cs index d692fc789..e1e2ba983 100644 --- a/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZeroTiffColor{TPixel}.cs +++ b/src/ImageSharp/Formats/Tiff/PhotometricInterpretation/WhiteIsZeroTiffColor{TPixel}.cs @@ -40,7 +40,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.PhotometricInterpretation int value = bitReader.ReadBits(this.bitsPerSample0); float intensity = 1.0f - (value / this.factor); - color.FromVector4(new Vector4(intensity, intensity, intensity, 1.0f)); + color.FromScaledVector4(new Vector4(intensity, intensity, intensity, 1.0f)); pixelRow[x] = color; } diff --git a/src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs b/src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs index cff2e88f1..532423c4f 100644 --- a/src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs +++ b/src/ImageSharp/Formats/Tiff/Utils/TiffUtils.cs @@ -77,7 +77,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Utils where TPixel : unmanaged, IPixel { var colorVector = new Vector4(r * Scale24Bit, g * Scale24Bit, b * Scale24Bit, 1.0f); - color.FromVector4(colorVector); + color.FromScaledVector4(colorVector); return color; } @@ -86,7 +86,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Utils where TPixel : unmanaged, IPixel { Vector4 colorVector = new Vector4(r, g, b, a) * Scale24Bit; - color.FromVector4(colorVector); + color.FromScaledVector4(colorVector); return color; } @@ -103,7 +103,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Utils where TPixel : unmanaged, IPixel { var colorVector = new Vector4(r * Scale32Bit, g * Scale32Bit, b * Scale32Bit, 1.0f); - color.FromVector4(colorVector); + color.FromScaledVector4(colorVector); return color; } @@ -112,7 +112,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Utils where TPixel : unmanaged, IPixel { Vector4 colorVector = new Vector4(r, g, b, a) * Scale32Bit; - color.FromVector4(colorVector); + color.FromScaledVector4(colorVector); return color; } @@ -138,7 +138,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Utils where TPixel : unmanaged, IPixel { var colorVector = new Vector4(intensity * Scale24Bit, intensity * Scale24Bit, intensity * Scale24Bit, 1.0f); - color.FromVector4(colorVector); + color.FromScaledVector4(colorVector); return color; } @@ -147,7 +147,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Utils where TPixel : unmanaged, IPixel { var colorVector = new Vector4(intensity * Scale32Bit, intensity * Scale32Bit, intensity * Scale32Bit, 1.0f); - color.FromVector4(colorVector); + color.FromScaledVector4(colorVector); return color; } @@ -156,7 +156,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Utils where TPixel : unmanaged, IPixel { Numerics.UnPremultiply(ref vector); - color.FromVector4(vector); + color.FromScaledVector4(vector); return color; } @@ -174,8 +174,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Utils return 0; } - int padding = subSampling - (valueToRoundUp % subSampling); - return padding; + return subSampling - (valueToRoundUp % subSampling); } } } From 7be52e132570a970256a6d3860ac215125b371fa Mon Sep 17 00:00:00 2001 From: Mike Irving Date: Tue, 15 Mar 2022 10:41:04 +0000 Subject: [PATCH 177/244] naming corrections - macOS and .NET --- src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs | 2 +- .../Transforms/Linear/AffineTransformProcessor{TPixel}.cs | 6 +++--- .../Linear/ProjectiveTransformProcessor{TPixel}.cs | 6 +++--- tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs | 2 +- tests/ImageSharp.Tests/Helpers/RuntimeEnvironmentTests.cs | 2 +- .../Allocators/UniformUnmanagedMemoryPoolTests.Trim.cs | 6 +++--- .../Memory/Allocators/UniformUnmanagedMemoryPoolTests.cs | 4 ++-- .../UniformUnmanagedPoolMemoryAllocatorTests.cs | 8 ++++---- .../Processing/Processors/Transforms/ResizeTests.cs | 2 +- .../Exceptions/ImageDifferenceIsOverThresholdException.cs | 2 +- tests/ImageSharp.Tests/TestUtilities/TestEnvironment.cs | 2 +- 11 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs index 9b5e098c8..abfe835b1 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifReader.cs @@ -202,7 +202,7 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif protected void ReadValues64(List values, ulong offset) { - DebugGuard.MustBeLessThanOrEqualTo(offset, (ulong)this.data.Length, "By spec UInt64.MaxValue is supported, but .Net Stream.Length can Int64.MaxValue."); + DebugGuard.MustBeLessThanOrEqualTo(offset, (ulong)this.data.Length, "By spec UInt64.MaxValue is supported, but .NET Stream.Length can Int64.MaxValue."); this.Seek(offset); ulong count = this.ReadUInt64(); diff --git a/src/ImageSharp/Processing/Processors/Transforms/Linear/AffineTransformProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Transforms/Linear/AffineTransformProcessor{TPixel}.cs index f6fadca33..f74cf5949 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/Linear/AffineTransformProcessor{TPixel}.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/Linear/AffineTransformProcessor{TPixel}.cs @@ -187,12 +187,12 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms && RuntimeEnvironment.IsNetCore) { // There's something wrong with the JIT in .NET Core 3.1 on certain - // MacOSX machines so we have to use different pipelines. + // macOS machines so we have to use different pipelines. // It's: // - Not reproducable locally // - Doesn't seem to be triggered by the bulk Numerics.UnPremultiply method but by caller. // https://github.com/SixLabors/ImageSharp/pull/1591 - this.InvokeMacOSX(in rows, span); + this.InvokeMacOS(in rows, span); return; } @@ -259,7 +259,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms [ExcludeFromCodeCoverage] [MethodImpl(InliningOptions.ShortMethod)] - private void InvokeMacOSX(in RowInterval rows, Span span) + private void InvokeMacOS(in RowInterval rows, Span span) { Matrix3x2 matrix = this.matrix; TResampler sampler = this.sampler; diff --git a/src/ImageSharp/Processing/Processors/Transforms/Linear/ProjectiveTransformProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Transforms/Linear/ProjectiveTransformProcessor{TPixel}.cs index 26b970d8b..9bb9c113d 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/Linear/ProjectiveTransformProcessor{TPixel}.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/Linear/ProjectiveTransformProcessor{TPixel}.cs @@ -186,12 +186,12 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms && RuntimeEnvironment.IsNetCore) { // There's something wrong with the JIT in .NET Core 3.1 on certain - // MacOSX machines so we have to use different pipelines. + // macOS machines so we have to use different pipelines. // It's: // - Not reproducable locally // - Doesn't seem to be triggered by the bulk Numerics.UnPremultiply method but by caller. // https://github.com/SixLabors/ImageSharp/pull/1591 - this.InvokeMacOSX(in rows, span); + this.InvokeMacOS(in rows, span); return; } @@ -258,7 +258,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms [ExcludeFromCodeCoverage] [MethodImpl(InliningOptions.ShortMethod)] - public void InvokeMacOSX(in RowInterval rows, Span span) + public void InvokeMacOS(in RowInterval rows, Span span) { Matrix4x4 matrix = this.matrix; TResampler sampler = this.sampler; diff --git a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs index bd300f799..7a1d8f32a 100644 --- a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs @@ -261,7 +261,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff where TPixel : unmanaged, IPixel { // Note: The image from MagickReferenceDecoder does not look right, maybe we are doing something wrong - // converting the pixel data from Magick.Net to our format with YCbCr? + // converting the pixel data from Magick.NET to our format with YCbCr? using Image image = provider.GetImage(); image.DebugSave(provider); } diff --git a/tests/ImageSharp.Tests/Helpers/RuntimeEnvironmentTests.cs b/tests/ImageSharp.Tests/Helpers/RuntimeEnvironmentTests.cs index 8074b8b15..5246f8f91 100644 --- a/tests/ImageSharp.Tests/Helpers/RuntimeEnvironmentTests.cs +++ b/tests/ImageSharp.Tests/Helpers/RuntimeEnvironmentTests.cs @@ -28,7 +28,7 @@ namespace SixLabors.ImageSharp.Tests.Helpers { Assert.True(RuntimeEnvironment.IsOSPlatform(OSPlatform.Linux)); } - else if (TestEnvironment.IsOSX) + else if (TestEnvironment.IsMacOS) { Assert.True(RuntimeEnvironment.IsOSPlatform(OSPlatform.OSX)); } diff --git a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.Trim.cs b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.Trim.cs index f748b7feb..d1a8e25bb 100644 --- a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.Trim.cs +++ b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.Trim.cs @@ -58,11 +58,11 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators [Collection(nameof(NonParallelCollection))] public class NonParallel { - public static readonly bool IsNotMacOs = !TestEnvironment.IsOSX; + public static readonly bool IsNotMacOS = !TestEnvironment.IsMacOS; - // TODO: Investigate failures on MacOS. All handles are released after GC. + // TODO: Investigate failures on macOS. All handles are released after GC. // (It seems to happen more consistently on .NET 6.) - [ConditionalFact(nameof(IsNotMacOs))] + [ConditionalFact(nameof(IsNotMacOS))] public void MultiplePoolInstances_TrimPeriodElapsed_AllAreTrimmed() { if (!TestEnvironment.RunsOnCI) diff --git a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.cs b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.cs index 7d98eff61..2976bf7fd 100644 --- a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.cs +++ b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedMemoryPoolTests.cs @@ -245,9 +245,9 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators cleanup.Register(b1); } - public static readonly bool IsNotMacOS = !TestEnvironment.IsOSX; + public static readonly bool IsNotMacOS = !TestEnvironment.IsMacOS; - // TODO: Investigate MacOS failures + // TODO: Investigate macOS failures [ConditionalTheory(nameof(IsNotMacOS))] [InlineData(false)] [InlineData(true)] diff --git a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs index 414f991f7..0520c3c1f 100644 --- a/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs +++ b/tests/ImageSharp.Tests/Memory/Allocators/UniformUnmanagedPoolMemoryAllocatorTests.cs @@ -259,9 +259,9 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators [InlineData(1200)] // Group of two UniformUnmanagedMemoryPool buffers public void AllocateMemoryGroup_Finalization_ReturnsToPool(int length) { - if (TestEnvironment.IsOSX) + if (TestEnvironment.IsMacOS) { - // Skip on OSX: https://github.com/SixLabors/ImageSharp/issues/1887 + // Skip on macOS: https://github.com/SixLabors/ImageSharp/issues/1887 return; } @@ -321,9 +321,9 @@ namespace SixLabors.ImageSharp.Tests.Memory.Allocators [InlineData(600)] // Group of single UniformUnmanagedMemoryPool buffer public void AllocateSingleMemoryOwner_Finalization_ReturnsToPool(int length) { - if (TestEnvironment.IsOSX) + if (TestEnvironment.IsMacOS) { - // Skip on OSX: https://github.com/SixLabors/ImageSharp/issues/1887 + // Skip on macOS: https://github.com/SixLabors/ImageSharp/issues/1887 return; } diff --git a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeTests.cs b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeTests.cs index b1ff3df08..9d766e058 100644 --- a/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeTests.cs +++ b/tests/ImageSharp.Tests/Processing/Processors/Transforms/ResizeTests.cs @@ -34,7 +34,7 @@ namespace SixLabors.ImageSharp.Tests.Processing.Processors.Transforms }; private static readonly ImageComparer ValidatorComparer = - ImageComparer.TolerantPercentage(TestEnvironment.IsOSX && TestEnvironment.RunsOnCI ? 0.26F : 0.07F); + ImageComparer.TolerantPercentage(TestEnvironment.IsMacOS && TestEnvironment.RunsOnCI ? 0.26F : 0.07F); [Fact] public void Resize_PixelAgnostic() diff --git a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/Exceptions/ImageDifferenceIsOverThresholdException.cs b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/Exceptions/ImageDifferenceIsOverThresholdException.cs index e1cbf12ac..220b78e48 100644 --- a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/Exceptions/ImageDifferenceIsOverThresholdException.cs +++ b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/Exceptions/ImageDifferenceIsOverThresholdException.cs @@ -24,7 +24,7 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison sb.Append(Environment.NewLine); - // TODO: We should add OSX. + // TODO: We should add macOS. sb.AppendFormat("Test Environment OS : {0}", TestEnvironment.IsWindows ? "Windows" : "Linux"); sb.Append(Environment.NewLine); diff --git a/tests/ImageSharp.Tests/TestUtilities/TestEnvironment.cs b/tests/ImageSharp.Tests/TestUtilities/TestEnvironment.cs index 3ccaf2ba3..df584173e 100644 --- a/tests/ImageSharp.Tests/TestUtilities/TestEnvironment.cs +++ b/tests/ImageSharp.Tests/TestUtilities/TestEnvironment.cs @@ -110,7 +110,7 @@ namespace SixLabors.ImageSharp.Tests internal static bool IsLinux => RuntimeInformation.IsOSPlatform(OSPlatform.Linux); - internal static bool IsOSX => RuntimeInformation.IsOSPlatform(OSPlatform.OSX); + internal static bool IsMacOS => RuntimeInformation.IsOSPlatform(OSPlatform.OSX); internal static bool IsMono => Type.GetType("Mono.Runtime") != null; // https://stackoverflow.com/a/721194 From 12abd59fa47e6d0921e68f2d0a8389d966a52cf5 Mon Sep 17 00:00:00 2001 From: Mike Irving Date: Tue, 15 Mar 2022 11:21:48 +0000 Subject: [PATCH 178/244] correction to repair breaking change from another merge --- .../Formats/Tiff/TiffDecoderTests.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs index 2398356a3..39fa50c93 100644 --- a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs @@ -192,7 +192,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff public void TiffDecoder_CanDecode_12Bit_WithAssociatedAlpha(TestImageProvider provider) where TPixel : unmanaged, IPixel { - if (TestEnvironment.IsOSX) + if (TestEnvironment.IsMacOS) { // Only debug save on OSX: For some reason the reference image has a difference of 50%. The imagesharp output file looks ok though. using Image image = provider.GetImage(TiffDecoder); @@ -249,7 +249,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff where TPixel : unmanaged, IPixel { - if (TestEnvironment.IsOSX) + if (TestEnvironment.IsMacOS) { // Only debug save on OSX: For some reason the reference image has a difference of 50%. The imagesharp output file looks ok though. using Image image = provider.GetImage(TiffDecoder); @@ -276,7 +276,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff public void TiffDecoder_CanDecode_24Bit_WithAssociatedAlpha(TestImageProvider provider) where TPixel : unmanaged, IPixel { - if (TestEnvironment.IsOSX) + if (TestEnvironment.IsMacOS) { // Only debug save on OSX: For some reason the reference image has a difference of 50%. The imagesharp output file looks ok though. using Image image = provider.GetImage(TiffDecoder); @@ -353,7 +353,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff public void TiffDecoder_CanDecode_32Bit_WithAssociatedAlpha(TestImageProvider provider) where TPixel : unmanaged, IPixel { - if (TestEnvironment.IsOSX) + if (TestEnvironment.IsMacOS) { // Only debug save on OSX: For some reason the reference image has a difference of 50%. The imagesharp output file looks ok though. using Image image = provider.GetImage(TiffDecoder); @@ -393,7 +393,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff public void TiffDecoder_CanDecode_40Bit_WithAssociatedAlpha(TestImageProvider provider) where TPixel : unmanaged, IPixel { - if (TestEnvironment.IsOSX) + if (TestEnvironment.IsMacOS) { // Only debug save on OSX: For some reason the reference image has a difference of 50%. The imagesharp output file looks ok though. using Image image = provider.GetImage(TiffDecoder); @@ -432,7 +432,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff public void TiffDecoder_CanDecode_48Bit_WithAssociatedAlpha(TestImageProvider provider) where TPixel : unmanaged, IPixel { - if (TestEnvironment.IsOSX) + if (TestEnvironment.IsMacOS) { // Only debug save on OSX: For some reason the reference image has a difference of 50%. The imagesharp output file looks ok though. using Image image = provider.GetImage(TiffDecoder); @@ -462,7 +462,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff public void TiffDecoder_CanDecode_56Bit_WithAssociatedAlpha(TestImageProvider provider) where TPixel : unmanaged, IPixel { - if (TestEnvironment.IsOSX) + if (TestEnvironment.IsMacOS) { // Only debug save on OSX: For some reason the reference image has a difference of 50%. The imagesharp output file looks ok though. using Image image = provider.GetImage(TiffDecoder); From d4acfce23c0d0d9de868c8f1695b994baaa51bbf Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Wed, 16 Mar 2022 11:08:39 +1100 Subject: [PATCH 179/244] Add non-generic overload. Fix #1995 --- src/ImageSharp/Metadata/Profiles/Exif/ExifProfile.cs | 8 ++++++++ .../Metadata/Profiles/Exif/ExifProfileTests.cs | 7 ++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifProfile.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifProfile.cs index e0ab8ecf9..665e4753a 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifProfile.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifProfile.cs @@ -121,6 +121,14 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif } } + /// + /// Returns the thumbnail in the EXIF profile when available. + /// + /// + /// The . + /// + public Image CreateThumbnail() => this.CreateThumbnail(); + /// /// Returns the thumbnail in the EXIF profile when available. /// diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs index a85985227..1668b7a12 100644 --- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs +++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs @@ -354,10 +354,15 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Exif TestProfile(profile); - using Image thumbnail = profile.CreateThumbnail(); + using Image thumbnail = profile.CreateThumbnail(); Assert.NotNull(thumbnail); Assert.Equal(256, thumbnail.Width); Assert.Equal(170, thumbnail.Height); + + using Image genericThumbnail = profile.CreateThumbnail(); + Assert.NotNull(genericThumbnail); + Assert.Equal(256, genericThumbnail.Width); + Assert.Equal(170, genericThumbnail.Height); } [Fact] From 8dd9d392be06cdd9f8b94139eb293a3a7ea0feaa Mon Sep 17 00:00:00 2001 From: Ynse Hoornenborg Date: Wed, 16 Mar 2022 17:15:19 +0100 Subject: [PATCH 180/244] Introduce Bounce mode --- .../Convolution/BorderWrappingMode.cs | 10 +- .../Convolution/KernelSamplingMap.cs | 22 ++++ .../Convolution/KernelSamplingMapTest.cs | 117 ++++++++++++++++-- 3 files changed, 136 insertions(+), 13 deletions(-) diff --git a/src/ImageSharp/Processing/Processors/Convolution/BorderWrappingMode.cs b/src/ImageSharp/Processing/Processors/Convolution/BorderWrappingMode.cs index 1fd1020cc..e835fc748 100644 --- a/src/ImageSharp/Processing/Processors/Convolution/BorderWrappingMode.cs +++ b/src/ImageSharp/Processing/Processors/Convolution/BorderWrappingMode.cs @@ -14,8 +14,12 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution /// Take values from the opposite edge: cdefgh|abcdefgh|abcdefg Wrap = 1, - /// Mirror the last few border values: fedcb|abcdefgh|gfedcb - /// Please note this mode does not repeat the very border pixel, as this gives better image quality. - Mirror = 2 + /// Mirror the last few border values: fedcba|abcdefgh|hgfedcb + /// This Mode is similar to , but here the very border pixel is repeated. + Mirror = 2, + + /// Bounce off the border: fedcb|abcdefgh|gfedcb + /// This Mode is similar to , but here the very border pixel is not repeated. + Bounce = 3 } } diff --git a/src/ImageSharp/Processing/Processors/Convolution/KernelSamplingMap.cs b/src/ImageSharp/Processing/Processors/Convolution/KernelSamplingMap.cs index fde8bae3c..98a4ca357 100644 --- a/src/ImageSharp/Processing/Processors/Convolution/KernelSamplingMap.cs +++ b/src/ImageSharp/Processing/Processors/Convolution/KernelSamplingMap.cs @@ -114,6 +114,28 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution Numerics.Clamp(span.Slice(span.Length - affectedSize), min, max); break; case BorderWrappingMode.Mirror: + var min2dec = min + min - 1; + for (int i = 0; i < affectedSize; i++) + { + var value = span[i]; + if (value < min) + { + span[i] = min2dec - value; + } + } + + var max2inc = max + max + 1; + for (int i = span.Length - affectedSize; i < span.Length; i++) + { + var value = span[i]; + if (value > max) + { + span[i] = max2inc - value; + } + } + + break; + case BorderWrappingMode.Bounce: var min2 = min + min; for (int i = 0; i < affectedSize; i++) { diff --git a/tests/ImageSharp.Tests/Processing/Convolution/KernelSamplingMapTest.cs b/tests/ImageSharp.Tests/Processing/Convolution/KernelSamplingMapTest.cs index 68af58b59..64e1ea2cb 100644 --- a/tests/ImageSharp.Tests/Processing/Convolution/KernelSamplingMapTest.cs +++ b/tests/ImageSharp.Tests/Processing/Convolution/KernelSamplingMapTest.cs @@ -29,11 +29,11 @@ namespace SixLabors.ImageSharp.Tests.Processing.Convolution } [Fact] - public void KernalSamplingMap_Kernel5Image7x7MirrorBorder() + public void KernalSamplingMap_Kernel5Image7x7BounceBorder() { var kernelSize = new Size(5, 5); var bounds = new Rectangle(0, 0, 7, 7); - var mode = BorderWrappingMode.Mirror; + var mode = BorderWrappingMode.Bounce; int[] expected = { 2, 1, 0, 1, 2, @@ -47,6 +47,25 @@ namespace SixLabors.ImageSharp.Tests.Processing.Convolution this.AssertOffsets(kernelSize, bounds, mode, mode, expected, expected); } + [Fact] + public void KernalSamplingMap_Kernel5Image7x7MirrorBorder() + { + var kernelSize = new Size(5, 5); + var bounds = new Rectangle(0, 0, 7, 7); + var mode = BorderWrappingMode.Mirror; + int[] expected = + { + 1, 0, 0, 1, 2, + 0, 0, 1, 2, 3, + 0, 1, 2, 3, 4, + 1, 2, 3, 4, 5, + 2, 3, 4, 5, 6, + 3, 4, 5, 6, 6, + 4, 5, 6, 6, 5, + }; + this.AssertOffsets(kernelSize, bounds, mode, mode, expected, expected); + } + [Fact] public void KernalSamplingMap_Kernel5Image7x7WrapBorder() { @@ -67,11 +86,11 @@ namespace SixLabors.ImageSharp.Tests.Processing.Convolution } [Fact] - public void KernalSamplingMap_Kernel5Image9x9MirrorBorder() + public void KernalSamplingMap_Kernel5Image9x9BounceBorder() { var kernelSize = new Size(5, 5); var bounds = new Rectangle(1, 1, 9, 9); - var mode = BorderWrappingMode.Mirror; + var mode = BorderWrappingMode.Bounce; int[] expected = { 3, 2, 1, 2, 3, @@ -87,6 +106,27 @@ namespace SixLabors.ImageSharp.Tests.Processing.Convolution this.AssertOffsets(kernelSize, bounds, mode, mode, expected, expected); } + [Fact] + public void KernalSamplingMap_Kernel5Image9x9MirrorBorder() + { + var kernelSize = new Size(5, 5); + var bounds = new Rectangle(1, 1, 9, 9); + var mode = BorderWrappingMode.Mirror; + int[] expected = + { + 2, 1, 1, 2, 3, + 1, 1, 2, 3, 4, + 1, 2, 3, 4, 5, + 2, 3, 4, 5, 6, + 3, 4, 5, 6, 7, + 4, 5, 6, 7, 8, + 5, 6, 7, 8, 9, + 6, 7, 8, 9, 9, + 7, 8, 9, 9, 8, + }; + this.AssertOffsets(kernelSize, bounds, mode, mode, expected, expected); + } + [Fact] public void KernalSamplingMap_Kernel5Image9x9WrapBorder() { @@ -128,11 +168,11 @@ namespace SixLabors.ImageSharp.Tests.Processing.Convolution } [Fact] - public void KernalSamplingMap_Kernel5Image7x7MirrorBorderTile() + public void KernalSamplingMap_Kernel5Image7x7BounceBorderTile() { var kernelSize = new Size(5, 5); var bounds = new Rectangle(2, 2, 7, 7); - var mode = BorderWrappingMode.Mirror; + var mode = BorderWrappingMode.Bounce; int[] expected = { 4, 3, 2, 3, 4, @@ -146,6 +186,25 @@ namespace SixLabors.ImageSharp.Tests.Processing.Convolution this.AssertOffsets(kernelSize, bounds, mode, mode, expected, expected); } + [Fact] + public void KernalSamplingMap_Kernel5Image7x7MirrorBorderTile() + { + var kernelSize = new Size(5, 5); + var bounds = new Rectangle(2, 2, 7, 7); + var mode = BorderWrappingMode.Mirror; + int[] expected = + { + 3, 2, 2, 3, 4, + 2, 2, 3, 4, 5, + 2, 3, 4, 5, 6, + 3, 4, 5, 6, 7, + 4, 5, 6, 7, 8, + 5, 6, 7, 8, 8, + 6, 7, 8, 8, 7, + }; + this.AssertOffsets(kernelSize, bounds, mode, mode, expected, expected); + } + [Fact] public void KernalSamplingMap_Kernel5Image7x7WrapBorderTile() { @@ -185,11 +244,11 @@ namespace SixLabors.ImageSharp.Tests.Processing.Convolution } [Fact] - public void KernalSamplingMap_Kernel3Image7x7MirrorBorder() + public void KernalSamplingMap_Kernel3Image7x7BounceBorder() { var kernelSize = new Size(3, 3); var bounds = new Rectangle(0, 0, 7, 7); - var mode = BorderWrappingMode.Mirror; + var mode = BorderWrappingMode.Bounce; int[] expected = { 1, 0, 1, @@ -203,6 +262,25 @@ namespace SixLabors.ImageSharp.Tests.Processing.Convolution this.AssertOffsets(kernelSize, bounds, mode, mode, expected, expected); } + [Fact] + public void KernalSamplingMap_Kernel3Image7x7MirrorBorder() + { + var kernelSize = new Size(3, 3); + var bounds = new Rectangle(0, 0, 7, 7); + var mode = BorderWrappingMode.Mirror; + int[] expected = + { + 0, 0, 1, + 0, 1, 2, + 1, 2, 3, + 2, 3, 4, + 3, 4, 5, + 4, 5, 6, + 5, 6, 6, + }; + this.AssertOffsets(kernelSize, bounds, mode, mode, expected, expected); + } + [Fact] public void KernalSamplingMap_Kernel3Image7x7WrapBorder() { @@ -242,11 +320,11 @@ namespace SixLabors.ImageSharp.Tests.Processing.Convolution } [Fact] - public void KernalSamplingMap_Kernel3Image7MirrorBorderTile() + public void KernalSamplingMap_Kernel3Image7BounceBorderTile() { var kernelSize = new Size(3, 3); var bounds = new Rectangle(2, 2, 7, 7); - var mode = BorderWrappingMode.Mirror; + var mode = BorderWrappingMode.Bounce; int[] expected = { 3, 2, 3, @@ -260,6 +338,25 @@ namespace SixLabors.ImageSharp.Tests.Processing.Convolution this.AssertOffsets(kernelSize, bounds, mode, mode, expected, expected); } + [Fact] + public void KernalSamplingMap_Kernel3Image7MirrorBorderTile() + { + var kernelSize = new Size(3, 3); + var bounds = new Rectangle(2, 2, 7, 7); + var mode = BorderWrappingMode.Mirror; + int[] expected = + { + 2, 2, 3, + 2, 3, 4, + 3, 4, 5, + 4, 5, 6, + 5, 6, 7, + 6, 7, 8, + 7, 8, 8, + }; + this.AssertOffsets(kernelSize, bounds, mode, mode, expected, expected); + } + [Fact] public void KernalSamplingMap_Kernel3Image7x7WrapBorderTile() { From 2c4b4cffccbb595fad31028b8e1b6ffcfef80e40 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Thu, 24 Mar 2022 14:57:06 +0100 Subject: [PATCH 181/244] Add support for decoding jpeg's with arithmetic coding --- src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs | 4 +- .../Formats/Jpeg/Components/ComponentType.cs | 12 + .../Decoder/ArithmeticDecodingComponent.cs | 30 + .../Decoder/ArithmeticDecodingTable.cs | 43 + .../Decoder/ArithmeticScanDecoder.cs | 1250 +++++++++++++++++ .../Decoder/ArithmeticStatistics.cs | 29 + .../Components/Decoder/HuffmanScanDecoder.cs | 57 +- .../Jpeg/Components/Decoder/HuffmanTable.cs | 2 +- .../Jpeg/Components/Decoder/IJpegComponent.cs | 48 + .../Components/Decoder/IJpegScanDecoder.cs | 49 + ...{HuffmanScanBuffer.cs => JpegBitReader.cs} | 7 +- .../Jpeg/Components/Decoder/JpegComponent.cs | 9 +- .../Decoder/JpegComponentPostProcessor.cs | 2 +- .../Jpeg/Components/Decoder/JpegFrame.cs | 16 +- src/ImageSharp/Formats/Jpeg/JpegConstants.cs | 6 +- .../Formats/Jpeg/JpegDecoderCore.cs | 172 ++- .../Decompressors/JpegTiffCompression.cs | 4 +- .../Codecs/Jpeg/DecodeJpegParseStreamOnly.cs | 4 +- .../LoadResizeSaveStressRunner.cs | 7 +- .../LoadResizeSaveParallelMemoryStress.cs | 2 - .../Formats/Jpg/ParseStreamTests.cs | 34 +- .../Formats/Jpg/SpectralJpegTests.cs | 6 +- .../Jpg/SpectralToPixelConversionTests.cs | 10 +- .../Jpg/Utils/LibJpegTools.ComponentData.cs | 44 +- .../Formats/Tiff/TiffDecoderTests.cs | 2 +- .../Image/ImageTests.Decode_Cancellation.cs | 2 +- tests/ImageSharp.Tests/TestFormat.cs | 32 +- 27 files changed, 1703 insertions(+), 180 deletions(-) create mode 100644 src/ImageSharp/Formats/Jpeg/Components/ComponentType.cs create mode 100644 src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticDecodingComponent.cs create mode 100644 src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticDecodingTable.cs create mode 100644 src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticScanDecoder.cs create mode 100644 src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticStatistics.cs create mode 100644 src/ImageSharp/Formats/Jpeg/Components/Decoder/IJpegScanDecoder.cs rename src/ImageSharp/Formats/Jpeg/Components/Decoder/{HuffmanScanBuffer.cs => JpegBitReader.cs} (97%) diff --git a/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs b/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs index 962c9f0d6..e8cd3dcba 100644 --- a/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs +++ b/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs @@ -116,7 +116,7 @@ namespace SixLabors.ImageSharp.Formats.Bmp /// /// Gets the dimensions of the image. /// - public Size Dimensions => new Size(this.infoHeader.Width, this.infoHeader.Height); + public Size Dimensions => new(this.infoHeader.Width, this.infoHeader.Height); /// public Image Decode(BufferedReadStream stream, CancellationToken cancellationToken) @@ -382,7 +382,7 @@ namespace SixLabors.ImageSharp.Formats.Bmp if (rowHasUndefinedPixels) { // Slow path with undefined pixels. - var yMulWidth = y * width; + int yMulWidth = y * width; int rowStartIdx = yMulWidth * 3; for (int x = 0; x < width; x++) { diff --git a/src/ImageSharp/Formats/Jpeg/Components/ComponentType.cs b/src/ImageSharp/Formats/Jpeg/Components/ComponentType.cs new file mode 100644 index 000000000..ff3c0539c --- /dev/null +++ b/src/ImageSharp/Formats/Jpeg/Components/ComponentType.cs @@ -0,0 +1,12 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +namespace SixLabors.ImageSharp.Formats.Jpeg.Components +{ + internal enum ComponentType + { + Huffman = 0, + + Arithmetic = 1 + } +} diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticDecodingComponent.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticDecodingComponent.cs new file mode 100644 index 000000000..a2736900f --- /dev/null +++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticDecodingComponent.cs @@ -0,0 +1,30 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using SixLabors.ImageSharp.Memory; + +namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder +{ + internal class ArithmeticDecodingComponent : JpegComponent + { + public ArithmeticDecodingComponent(MemoryAllocator memoryAllocator, JpegFrame frame, byte id, int horizontalFactor, int verticalFactor, byte quantizationTableIndex, int index) + : base(memoryAllocator, frame, id, horizontalFactor, verticalFactor, quantizationTableIndex, index) + { + } + + /// + /// Gets or sets the dc context. + /// + public int DcContext { get; set; } + + /// + /// Gets or sets the dc statistics. + /// + public ArithmeticStatistics DcStatistics { get; set; } + + /// + /// Gets or sets the ac statistics. + /// + public ArithmeticStatistics AcStatistics { get; set; } + } +} diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticDecodingTable.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticDecodingTable.cs new file mode 100644 index 000000000..6055f300d --- /dev/null +++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticDecodingTable.cs @@ -0,0 +1,43 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder +{ + internal class ArithmeticDecodingTable + { + public ArithmeticDecodingTable(byte tableClass, byte identifier) + { + this.TableClass = tableClass; + this.Identifier = identifier; + } + + public byte TableClass { get; } + + public byte Identifier { get; } + + public byte ConditioningTableValue { get; private set; } + + public int DcL { get; private set; } + + public int DcU { get; private set; } + + public int AcKx { get; private set; } + + public void Configure(byte conditioningTableValue) + { + this.ConditioningTableValue = conditioningTableValue; + if (this.TableClass == 0) + { + this.DcL = conditioningTableValue & 0x0F; + this.DcU = conditioningTableValue >> 4; + this.AcKx = 0; + } + else + { + this.DcL = 0; + this.DcU = 0; + this.AcKx = conditioningTableValue; + } + } + } +} diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticScanDecoder.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticScanDecoder.cs new file mode 100644 index 000000000..6b0ac5a62 --- /dev/null +++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticScanDecoder.cs @@ -0,0 +1,1250 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System; +using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Threading; +using SixLabors.ImageSharp.IO; + +namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder +{ + /// + /// Decodes a arithmetic encoded spectral scan. + /// Based on https://github.com/yigolden/JpegLibrary/blob/main/src/JpegLibrary/ScanDecoder/JpegArithmeticScanDecoder.cs + /// + internal class ArithmeticScanDecoder : IJpegScanDecoder + { + private readonly BufferedReadStream stream; + + private int c; + private int a; + private int ct; + + /// + /// instance containing decoding-related information. + /// + private JpegFrame frame; + + /// + /// Shortcut for .Components. + /// + private IJpegComponent[] components; + + /// + /// Number of component in the current scan. + /// + private int scanComponentCount; + + /// + /// The reset interval determined by RST markers. + /// + private int restartInterval; + + /// + /// How many mcu's are left to do. + /// + private int todo; + + private readonly SpectralConverter spectralConverter; + + private JpegBitReader scanBuffer; + + private ArithmeticDecodingTable[] dcDecodingTables; + + private ArithmeticDecodingTable[] acDecodingTables; + + private readonly CancellationToken cancellationToken; + + private readonly byte[] fixedBin = { 113, 0, 0, 0 }; + + private static readonly int[] ArithmeticTable = + { + Pack(0x5a1d, 1, 1, 1), + Pack(0x2586, 14, 2, 0), + Pack(0x1114, 16, 3, 0), + Pack(0x080b, 18, 4, 0), + Pack(0x03d8, 20, 5, 0), + Pack(0x01da, 23, 6, 0), + Pack(0x00e5, 25, 7, 0), + Pack(0x006f, 28, 8, 0), + Pack(0x0036, 30, 9, 0), + Pack(0x001a, 33, 10, 0), + Pack(0x000d, 35, 11, 0), + Pack(0x0006, 9, 12, 0), + Pack(0x0003, 10, 13, 0), + Pack(0x0001, 12, 13, 0), + Pack(0x5a7f, 15, 15, 1), + Pack(0x3f25, 36, 16, 0), + Pack(0x2cf2, 38, 17, 0), + Pack(0x207c, 39, 18, 0), + Pack(0x17b9, 40, 19, 0), + Pack(0x1182, 42, 20, 0), + Pack(0x0cef, 43, 21, 0), + Pack(0x09a1, 45, 22, 0), + Pack(0x072f, 46, 23, 0), + Pack(0x055c, 48, 24, 0), + Pack(0x0406, 49, 25, 0), + Pack(0x0303, 51, 26, 0), + Pack(0x0240, 52, 27, 0), + Pack(0x01b1, 54, 28, 0), + Pack(0x0144, 56, 29, 0), + Pack(0x00f5, 57, 30, 0), + Pack(0x00b7, 59, 31, 0), + Pack(0x008a, 60, 32, 0), + Pack(0x0068, 62, 33, 0), + Pack(0x004e, 63, 34, 0), + Pack(0x003b, 32, 35, 0), + Pack(0x002c, 33, 9, 0), + Pack(0x5ae1, 37, 37, 1), + Pack(0x484c, 64, 38, 0), + Pack(0x3a0d, 65, 39, 0), + Pack(0x2ef1, 67, 40, 0), + Pack(0x261f, 68, 41, 0), + Pack(0x1f33, 69, 42, 0), + Pack(0x19a8, 70, 43, 0), + Pack(0x1518, 72, 44, 0), + Pack(0x1177, 73, 45, 0), + Pack(0x0e74, 74, 46, 0), + Pack(0x0bfb, 75, 47, 0), + Pack(0x09f8, 77, 48, 0), + Pack(0x0861, 78, 49, 0), + Pack(0x0706, 79, 50, 0), + Pack(0x05cd, 48, 51, 0), + Pack(0x04de, 50, 52, 0), + Pack(0x040f, 50, 53, 0), + Pack(0x0363, 51, 54, 0), + Pack(0x02d4, 52, 55, 0), + Pack(0x025c, 53, 56, 0), + Pack(0x01f8, 54, 57, 0), + Pack(0x01a4, 55, 58, 0), + Pack(0x0160, 56, 59, 0), + Pack(0x0125, 57, 60, 0), + Pack(0x00f6, 58, 61, 0), + Pack(0x00cb, 59, 62, 0), + Pack(0x00ab, 61, 63, 0), + Pack(0x008f, 61, 32, 0), + Pack(0x5b12, 65, 65, 1), + Pack(0x4d04, 80, 66, 0), + Pack(0x412c, 81, 67, 0), + Pack(0x37d8, 82, 68, 0), + Pack(0x2fe8, 83, 69, 0), + Pack(0x293c, 84, 70, 0), + Pack(0x2379, 86, 71, 0), + Pack(0x1edf, 87, 72, 0), + Pack(0x1aa9, 87, 73, 0), + Pack(0x174e, 72, 74, 0), + Pack(0x1424, 72, 75, 0), + Pack(0x119c, 74, 76, 0), + Pack(0x0f6b, 74, 77, 0), + Pack(0x0d51, 75, 78, 0), + Pack(0x0bb6, 77, 79, 0), + Pack(0x0a40, 77, 48, 0), + Pack(0x5832, 80, 81, 1), + Pack(0x4d1c, 88, 82, 0), + Pack(0x438e, 89, 83, 0), + Pack(0x3bdd, 90, 84, 0), + Pack(0x34ee, 91, 85, 0), + Pack(0x2eae, 92, 86, 0), + Pack(0x299a, 93, 87, 0), + Pack(0x2516, 86, 71, 0), + Pack(0x5570, 88, 89, 1), + Pack(0x4ca9, 95, 90, 0), + Pack(0x44d9, 96, 91, 0), + Pack(0x3e22, 97, 92, 0), + Pack(0x3824, 99, 93, 0), + Pack(0x32b4, 99, 94, 0), + Pack(0x2e17, 93, 86, 0), + Pack(0x56a8, 95, 96, 1), + Pack(0x4f46, 101, 97, 0), + Pack(0x47e5, 102, 98, 0), + Pack(0x41cf, 103, 99, 0), + Pack(0x3c3d, 104, 100, 0), + Pack(0x375e, 99, 93, 0), + Pack(0x5231, 105, 102, 0), + Pack(0x4c0f, 106, 103, 0), + Pack(0x4639, 107, 104, 0), + Pack(0x415e, 103, 99, 0), + Pack(0x5627, 105, 106, 1), + Pack(0x50e7, 108, 107, 0), + Pack(0x4b85, 109, 103, 0), + Pack(0x5597, 110, 109, 0), + Pack(0x504f, 111, 107, 0), + Pack(0x5a10, 110, 111, 1), + Pack(0x5522, 112, 109, 0), + Pack(0x59eb, 112, 111, 1), + + // This last entry is used for fixed probability estimate of 0.5 + // as suggested in Section 10.3 Table 5 of ITU-T Rec. T.851. + Pack(0x5a1d, 113, 113, 0) + }; + + private readonly List statistics = new(); + + /// + /// Initializes a new instance of the class. + /// + /// The input stream. + /// Spectral to pixel converter. + /// The token to monitor cancellation. + public ArithmeticScanDecoder(BufferedReadStream stream, SpectralConverter converter, CancellationToken cancellationToken) + { + this.stream = stream; + this.spectralConverter = converter; + this.cancellationToken = cancellationToken; + + this.c = 0; + this.a = 0; + this.ct = -16; // Force reading 2 initial bytes to fill C. + } + + /// + public int ResetInterval + { + set + { + this.restartInterval = value; + this.todo = value; + } + } + + /// + public int SpectralStart { get; set; } + + /// + public int SpectralEnd { get; set; } + + /// + public int SuccessiveHigh { get; set; } + + /// + public int SuccessiveLow { get; set; } + + public void InitDecodingTables(List arithmeticDecodingTables) + { + for (int i = 0; i < this.components.Length; i++) + { + var component = this.components[i] as ArithmeticDecodingComponent; + this.dcDecodingTables[i] = this.GetArithmeticTable(arithmeticDecodingTables, true, component.DcTableId); + component.DcStatistics = this.CreateOrGetStatisticsBin(true, component.DcTableId); + this.acDecodingTables[i] = this.GetArithmeticTable(arithmeticDecodingTables, false, component.AcTableId); + component.AcStatistics = this.CreateOrGetStatisticsBin(false, component.AcTableId); + } + } + + private ref byte GetFixedBinReference() => ref this.fixedBin[0]; + + /// + /// Decodes the entropy coded data. + /// + /// Component count in the current scan. + public void ParseEntropyCodedData(int scanComponentCount) + { + this.cancellationToken.ThrowIfCancellationRequested(); + + this.scanComponentCount = scanComponentCount; + + this.scanBuffer = new JpegBitReader(this.stream); + + bool fullScan = this.frame.Progressive || this.frame.MultiScan; + this.frame.AllocateComponents(fullScan); + + if (this.frame.Progressive) + { + this.ParseProgressiveData(); + } + else + { + this.ParseBaselineData(); + } + + if (this.scanBuffer.HasBadMarker()) + { + this.stream.Position = this.scanBuffer.MarkerPosition; + } + } + + /// + public void InjectFrameData(JpegFrame frame, IRawJpegData jpegData) + { + this.frame = frame; + this.components = frame.Components; + + this.dcDecodingTables = new ArithmeticDecodingTable[this.components.Length]; + this.acDecodingTables = new ArithmeticDecodingTable[this.components.Length]; + + this.spectralConverter.InjectFrameData(frame, jpegData); + } + + private ArithmeticDecodingTable GetArithmeticTable(List arithmeticDecodingTables, bool isDcTable, int identifier) + { + int tableClass = isDcTable ? 0 : 1; + + foreach (ArithmeticDecodingTable item in arithmeticDecodingTables) + { + if (item.TableClass == tableClass && item.Identifier == identifier) + { + return item; + } + } + + return null; + } + + private ArithmeticStatistics CreateOrGetStatisticsBin(bool dc, int identifier, bool reset = false) + { + foreach (ArithmeticStatistics item in this.statistics) + { + if (item.IsDcStatistics == dc && item.Identifier == identifier) + { + if (reset) + { + item.Reset(); + } + + return item; + } + } + + var statistic = new ArithmeticStatistics(dc, identifier); + this.statistics.Add(statistic); + return statistic; + } + + private void ParseBaselineData() + { + foreach (ArithmeticDecodingComponent component in this.components) + { + component.DcPredictor = 0; + component.DcContext = 0; + component.DcStatistics?.Reset(); + component.AcStatistics?.Reset(); + } + + this.Reset(); + + if (this.scanComponentCount != 1) + { + this.ParseBaselineDataInterleaved(); + this.spectralConverter.CommitConversion(); + } + else if (this.frame.ComponentCount == 1) + { + this.ParseBaselineDataSingleComponent(); + this.spectralConverter.CommitConversion(); + } + else + { + this.ParseBaselineDataNonInterleaved(); + } + } + + private void ParseProgressiveData() + { + this.CheckProgressiveData(); + + foreach (ArithmeticDecodingComponent component in this.components) + { + if (this.SpectralStart == 0 && this.SuccessiveHigh == 0) + { + component.DcPredictor = 0; + component.DcContext = 0; + component.DcStatistics?.Reset(); + } + + if (this.SpectralStart != 0) + { + component.AcStatistics?.Reset(); + } + } + + this.Reset(); + + if (this.scanComponentCount == 1) + { + this.ParseProgressiveDataNonInterleaved(); + } + else + { + this.ParseProgressiveDataInterleaved(); + } + } + + private void CheckProgressiveData() + { + // Validate successive scan parameters. + // Logic has been adapted from libjpeg. + // See Table B.3 – Scan header parameter size and values. itu-t81.pdf + bool invalid = false; + if (this.SpectralStart == 0) + { + if (this.SpectralEnd != 0) + { + invalid = true; + } + } + else + { + // Need not check Ss/Se < 0 since they came from unsigned bytes. + if (this.SpectralEnd < this.SpectralStart || this.SpectralEnd > 63) + { + invalid = true; + } + + // AC scans may have only one component. + if (this.scanComponentCount != 1) + { + invalid = true; + } + } + + if (this.SuccessiveHigh != 0) + { + // Successive approximation refinement scan: must have Al = Ah-1. + if (this.SuccessiveHigh - 1 != this.SuccessiveLow) + { + invalid = true; + } + } + + // TODO: How does this affect 12bit jpegs. + // According to libjpeg the range covers 8bit only? + if (this.SuccessiveLow > 13) + { + invalid = true; + } + + if (invalid) + { + JpegThrowHelper.ThrowBadProgressiveScan(this.SpectralStart, this.SpectralEnd, this.SuccessiveHigh, this.SuccessiveLow); + } + } + + private void ParseBaselineDataInterleaved() + { + int mcu = 0; + int mcusPerColumn = this.frame.McusPerColumn; + int mcusPerLine = this.frame.McusPerLine; + ref JpegBitReader reader = ref this.scanBuffer; + + for (int j = 0; j < mcusPerColumn; j++) + { + this.cancellationToken.ThrowIfCancellationRequested(); + + // Decode from binary to spectral. + for (int i = 0; i < mcusPerLine; i++) + { + // Scan an interleaved mcu... process components in order. + int mcuCol = mcu % mcusPerLine; + for (int k = 0; k < this.scanComponentCount; k++) + { + int order = this.frame.ComponentOrder[k]; + var component = this.components[order] as ArithmeticDecodingComponent; + + ref ArithmeticDecodingTable dcDecodingTable = ref this.dcDecodingTables[component.DcTableId]; + ref ArithmeticDecodingTable acDecodingTable = ref this.acDecodingTables[component.AcTableId]; + + int h = component.HorizontalSamplingFactor; + int v = component.VerticalSamplingFactor; + + // Scan out an mcu's worth of this component; that's just determined + // by the basic H and V specified for the component. + for (int y = 0; y < v; y++) + { + Span blockSpan = component.SpectralBlocks.DangerousGetRowSpan(y); + ref Block8x8 blockRef = ref MemoryMarshal.GetReference(blockSpan); + + for (int x = 0; x < h; x++) + { + if (reader.NoData) + { + // It is very likely that some spectral data was decoded before we've encountered 'end of scan' + // so we need to decode what's left and return (or maybe throw?) + this.spectralConverter.ConvertStrideBaseline(); + return; + } + + int blockCol = (mcuCol * h) + x; + + this.DecodeBlockBaseline( + component, + ref Unsafe.Add(ref blockRef, blockCol), + ref acDecodingTable, + ref dcDecodingTable); + } + } + } + + // After all interleaved components, that's an interleaved MCU, + // so now count down the restart interval. + mcu++; + this.HandleRestart(); + } + + // Convert from spectral to actual pixels via given converter. + this.spectralConverter.ConvertStrideBaseline(); + } + } + + private void ParseBaselineDataSingleComponent() + { + var component = this.frame.Components[0] as ArithmeticDecodingComponent; + int mcuLines = this.frame.McusPerColumn; + int w = component.WidthInBlocks; + int h = component.SamplingFactors.Height; + ref ArithmeticDecodingTable dcDecodingTable = ref this.dcDecodingTables[component.DcTableId]; + ref ArithmeticDecodingTable acDecodingTable = ref this.acDecodingTables[component.AcTableId]; + + ref JpegBitReader reader = ref this.scanBuffer; + + for (int i = 0; i < mcuLines; i++) + { + this.cancellationToken.ThrowIfCancellationRequested(); + + // Decode from binary to spectral. + for (int j = 0; j < h; j++) + { + Span blockSpan = component.SpectralBlocks.DangerousGetRowSpan(j); + ref Block8x8 blockRef = ref MemoryMarshal.GetReference(blockSpan); + + for (int k = 0; k < w; k++) + { + if (reader.NoData) + { + // It is very likely that some spectral data was decoded before we've encountered 'end of scan' + // so we need to decode what's left and return (or maybe throw?) + this.spectralConverter.ConvertStrideBaseline(); + return; + } + + this.DecodeBlockBaseline( + component, + ref Unsafe.Add(ref blockRef, k), + ref acDecodingTable, + ref dcDecodingTable); + + this.HandleRestart(); + } + } + + // Convert from spectral to actual pixels via given converter. + this.spectralConverter.ConvertStrideBaseline(); + } + } + + private void ParseBaselineDataNonInterleaved() + { + var component = (ArithmeticDecodingComponent)this.components[this.frame.ComponentOrder[0]]; + ref JpegBitReader reader = ref this.scanBuffer; + + int w = component.WidthInBlocks; + int h = component.HeightInBlocks; + + ref ArithmeticDecodingTable dcDecodingTable = ref this.dcDecodingTables[component.DcTableId]; + ref ArithmeticDecodingTable acDecodingTable = ref this.acDecodingTables[component.AcTableId]; + + for (int j = 0; j < h; j++) + { + this.cancellationToken.ThrowIfCancellationRequested(); + Span blockSpan = component.SpectralBlocks.DangerousGetRowSpan(j); + ref Block8x8 blockRef = ref MemoryMarshal.GetReference(blockSpan); + + for (int i = 0; i < w; i++) + { + if (reader.NoData) + { + return; + } + + this.DecodeBlockBaseline( + component, + ref Unsafe.Add(ref blockRef, i), + ref acDecodingTable, + ref dcDecodingTable); + + this.HandleRestart(); + } + } + } + + private void ParseProgressiveDataInterleaved() + { + int mcu = 0; + int mcusPerColumn = this.frame.McusPerColumn; + int mcusPerLine = this.frame.McusPerLine; + ref JpegBitReader reader = ref this.scanBuffer; + + for (int j = 0; j < mcusPerColumn; j++) + { + for (int i = 0; i < mcusPerLine; i++) + { + // Scan an interleaved mcu... process components in order. + int mcuRow = mcu / mcusPerLine; + int mcuCol = mcu % mcusPerLine; + for (int k = 0; k < this.scanComponentCount; k++) + { + int order = this.frame.ComponentOrder[k]; + var component = this.components[order] as ArithmeticDecodingComponent; + ref ArithmeticDecodingTable dcDecodingTable = ref this.dcDecodingTables[component.DcTableId]; + + int h = component.HorizontalSamplingFactor; + int v = component.VerticalSamplingFactor; + + // Scan out an mcu's worth of this component; that's just determined + // by the basic H and V specified for the component. + for (int y = 0; y < v; y++) + { + int blockRow = (mcuRow * v) + y; + Span blockSpan = component.SpectralBlocks.DangerousGetRowSpan(blockRow); + ref Block8x8 blockRef = ref MemoryMarshal.GetReference(blockSpan); + + for (int x = 0; x < h; x++) + { + if (reader.NoData) + { + return; + } + + int blockCol = (mcuCol * h) + x; + + this.DecodeBlockProgressiveDc( + component, + ref Unsafe.Add(ref blockRef, blockCol), + ref dcDecodingTable); + } + } + } + + // After all interleaved components, that's an interleaved MCU, + // so now count down the restart interval. + mcu++; + this.HandleRestart(); + } + } + } + + private void ParseProgressiveDataNonInterleaved() + { + var component = this.components[this.frame.ComponentOrder[0]] as ArithmeticDecodingComponent; + ref JpegBitReader reader = ref this.scanBuffer; + + int w = component.WidthInBlocks; + int h = component.HeightInBlocks; + + if (this.SpectralStart == 0) + { + ref ArithmeticDecodingTable dcDecodingTable = ref this.dcDecodingTables[component.DcTableId]; + + for (int j = 0; j < h; j++) + { + this.cancellationToken.ThrowIfCancellationRequested(); + + Span blockSpan = component.SpectralBlocks.DangerousGetRowSpan(j); + ref Block8x8 blockRef = ref MemoryMarshal.GetReference(blockSpan); + + for (int i = 0; i < w; i++) + { + if (reader.NoData) + { + return; + } + + this.DecodeBlockProgressiveDc( + component, + ref Unsafe.Add(ref blockRef, i), + ref dcDecodingTable); + + this.HandleRestart(); + } + } + } + else + { + ref ArithmeticDecodingTable acDecodingTable = ref this.acDecodingTables[component.AcTableId]; + + for (int j = 0; j < h; j++) + { + this.cancellationToken.ThrowIfCancellationRequested(); + + Span blockSpan = component.SpectralBlocks.DangerousGetRowSpan(j); + ref Block8x8 blockRef = ref MemoryMarshal.GetReference(blockSpan); + + for (int i = 0; i < w; i++) + { + if (reader.NoData) + { + return; + } + + this.DecodeBlockProgressiveAc( + component, + ref Unsafe.Add(ref blockRef, i), + ref acDecodingTable); + + this.HandleRestart(); + } + } + } + } + + private void DecodeBlockProgressiveDc(ArithmeticDecodingComponent component, ref Block8x8 block, ref ArithmeticDecodingTable dcTable) + { + if (dcTable == null) + { + JpegThrowHelper.ThrowInvalidImageContentException("DC table is missing"); + } + + ref JpegBitReader reader = ref this.scanBuffer; + ref short blockDataRef = ref Unsafe.As(ref block); + + if (this.SuccessiveHigh == 0) + { + // First scan + // Sections F.2.4.1 & F.1.4.4.1: Decoding of DC coefficients. + + // Table F.4: Point to statistics bin S0 for DC coefficient coding. + ref byte st = ref Unsafe.Add(ref component.DcStatistics.GetReference(), component.DcContext); + + // Figure F.19: Decode_DC_DIFF + if (this.DecodeBinaryDecision(ref reader, ref st) == 0) + { + component.DcContext = 0; + } + else + { + // Figure F.21: Decoding nonzero value v. + // Figure F.22: Decoding the sign of v. + int sign = this.DecodeBinaryDecision(ref reader, ref Unsafe.Add(ref st, 1)); + st = ref Unsafe.Add(ref st, 2 + sign); + + // Figure F.23: Decoding the magnitude category of v. + int m = this.DecodeBinaryDecision(ref reader, ref st); + if (m != 0) + { + st = ref component.DcStatistics.GetReference(20); + while (this.DecodeBinaryDecision(ref reader, ref st) != 0) + { + if ((m <<= 1) == 0x8000) + { + JpegThrowHelper.ThrowInvalidImageContentException("Invalid arithmetic code."); + } + + st = ref Unsafe.Add(ref st, 1); + } + } + + // Section F.1.4.4.1.2: Establish dc_context conditioning category. + if (m < (int)((1L << dcTable.DcL) >> 1)) + { + component.DcContext = 0; // Zero diff category. + } + else if (m > (int)((1L << dcTable.DcU) >> 1)) + { + component.DcContext = 12 + (sign * 4); // Large diff category. + } + else + { + component.DcContext = 4 + (sign * 4); // Small diff category. + } + + int v = m; + + // Figure F.24: Decoding the magnitude bit pattern of v. + st = ref Unsafe.Add(ref st, 14); + while ((m >>= 1) != 0) + { + if (this.DecodeBinaryDecision(ref reader, ref st) != 0) + { + v |= m; + } + } + + v += 1; + if (sign != 0) + { + v = -v; + } + + component.DcPredictor = (short)(component.DcPredictor + v); + } + + blockDataRef = (short)(component.DcPredictor << this.SuccessiveLow); + } + else + { + // Refinement scan. + ref byte st = ref this.GetFixedBinReference(); + + blockDataRef |= (short)(this.DecodeBinaryDecision(ref reader, ref st) << this.SuccessiveLow); + } + } + + private void DecodeBlockProgressiveAc(ArithmeticDecodingComponent component, ref Block8x8 block, ref ArithmeticDecodingTable acTable) + { + ref JpegBitReader reader = ref this.scanBuffer; + ref short blockDataRef = ref Unsafe.As(ref block); + + ArithmeticStatistics acStatistics = component.AcStatistics; + if (acStatistics == null || acTable == null) + { + JpegThrowHelper.ThrowInvalidImageContentException("AC table is missing"); + } + + if (this.SuccessiveHigh == 0) + { + // Sections F.2.4.2 & F.1.4.4.2: Decoding of AC coefficients. + + // Figure F.20: Decode_AC_coefficients. + int start = this.SpectralStart; + int end = this.SpectralEnd; + int low = this.SuccessiveLow; + + for (int k = start; k <= end; k++) + { + ref byte st = ref acStatistics.GetReference(3 * (k - 1)); + if (this.DecodeBinaryDecision(ref reader, ref st) != 0) + { + break; + } + + while (this.DecodeBinaryDecision(ref reader, ref Unsafe.Add(ref st, 1)) == 0) + { + st = ref Unsafe.Add(ref st, 3); + k++; + if (k > 63) + { + JpegThrowHelper.ThrowInvalidImageContentException("Invalid arithmetic code."); + } + } + + // Figure F.21: Decoding nonzero value v. + // Figure F.22: Decoding the sign of v. + int sign = this.DecodeBinaryDecision(ref reader, ref this.GetFixedBinReference()); + st = ref Unsafe.Add(ref st, 2); + + // Figure F.23: Decoding the magnitude category of v. + int m = this.DecodeBinaryDecision(ref reader, ref st); + if (m != 0) + { + if (this.DecodeBinaryDecision(ref reader, ref st) != 0) + { + m <<= 1; + st = ref acStatistics.GetReference(k <= acTable.AcKx ? 189 : 217); + while (this.DecodeBinaryDecision(ref reader, ref st) != 0) + { + if ((m <<= 1) == 0x8000) + { + JpegThrowHelper.ThrowInvalidImageContentException("Invalid arithmetic code."); + } + + st = ref Unsafe.Add(ref st, 1); + } + } + } + + int v = m; + + // Figure F.24: Decoding the magnitude bit pattern of v. + st = ref Unsafe.Add(ref st, 14); + while ((m >>= 1) != 0) + { + if (this.DecodeBinaryDecision(ref reader, ref st) != 0) + { + v |= m; + } + } + + v += 1; + if (sign != 0) + { + v = -v; + } + + Unsafe.Add(ref blockDataRef, ZigZag.TransposingOrder[k]) = (short)(v << low); + } + } + else + { + // Refinement scan. + this.ReadBlockProgressiveAcRefined(acStatistics, ref blockDataRef); + } + } + + private void ReadBlockProgressiveAcRefined(ArithmeticStatistics acStatistics, ref short blockDataRef) + { + ref JpegBitReader reader = ref this.scanBuffer; + int start = this.SpectralStart; + int end = this.SpectralEnd; + + int p1 = 1 << this.SuccessiveLow; + int m1 = -1 << this.SuccessiveLow; + + // Establish EOBx (previous stage end-of-block) index. + int kex = end; + for (; kex > 0; kex--) + { + if (Unsafe.Add(ref blockDataRef, ZigZag.TransposingOrder[kex]) != 0) + { + break; + } + } + + for (int k = start; k <= end; k++) + { + ref byte st = ref acStatistics.GetReference(3 * (k - 1)); + if (k > kex) + { + if (this.DecodeBinaryDecision(ref reader, ref st) != 0) + { + break; + } + } + + while (true) + { + ref short coef = ref Unsafe.Add(ref blockDataRef, ZigZag.TransposingOrder[k]); + if (coef != 0) + { + if (this.DecodeBinaryDecision(ref reader, ref Unsafe.Add(ref st, 2)) != 0) + { + if (coef < 0) + { + coef = (short)(coef + m1); + } + else + { + coef = (short)(coef + p1); + } + } + + break; + } + + if (this.DecodeBinaryDecision(ref reader, ref Unsafe.Add(ref st, 1)) != 0) + { + if (this.DecodeBinaryDecision(ref reader, ref this.GetFixedBinReference()) != 0) + { + coef = (short)(coef + m1); + } + else + { + coef = (short)(coef + p1); + } + + break; + } + + st = ref Unsafe.Add(ref st, 3); + k++; + if (k > end) + { + JpegThrowHelper.ThrowInvalidImageContentException("Invalid arithmetic code."); + } + } + } + } + + private void DecodeBlockBaseline( + ArithmeticDecodingComponent component, + ref Block8x8 destinationBlock, + ref ArithmeticDecodingTable acTable, + ref ArithmeticDecodingTable dcTable) + { + if (acTable is null) + { + JpegThrowHelper.ThrowInvalidImageContentException("AC table is missing."); + } + + if (dcTable is null) + { + JpegThrowHelper.ThrowInvalidImageContentException("DC table is missing."); + } + + ref JpegBitReader reader = ref this.scanBuffer; + ref short destinationRef = ref Unsafe.As(ref destinationBlock); + + // Sections F.2.4.1 & F.1.4.4.1: Decoding of DC coefficients. + + // Table F.4: Point to statistics bin S0 for DC coefficient coding. + ref byte st = ref Unsafe.Add(ref component.DcStatistics.GetReference(), component.DcContext); + + /* Figure F.19: Decode_DC_DIFF */ + if (this.DecodeBinaryDecision(ref reader, ref st) == 0) + { + component.DcContext = 0; + } + else + { + // Figure F.21: Decoding nonzero value v + // Figure F.22: Decoding the sign of v + int sign = this.DecodeBinaryDecision(ref reader, ref Unsafe.Add(ref st, 1)); + st = ref Unsafe.Add(ref st, 2 + sign); + + // Figure F.23: Decoding the magnitude category of v. + int m = this.DecodeBinaryDecision(ref reader, ref st); + if (m != 0) + { + // Table F.4: X1 = 20 + st = ref component.DcStatistics.GetReference(20); + while (this.DecodeBinaryDecision(ref reader, ref st) != 0) + { + if ((m <<= 1) == 0x8000) + { + JpegThrowHelper.ThrowInvalidImageContentException("Invalid arithmetic code."); + } + + st = ref Unsafe.Add(ref st, 1); + } + } + + // Section F.1.4.4.1.2: Establish dc_context conditioning category. + if (m < (int)((1L << dcTable.DcL) >> 1)) + { + component.DcContext = 0; // zero diff category + } + else if (m > (int)((1L << dcTable.DcU) >> 1)) + { + component.DcContext = 12 + (sign * 4); // large diff category + } + else + { + component.DcContext = 4 + (sign * 4); // small diff category + } + + int v = m; + + // Figure F.24: Decoding the magnitude bit pattern of v. + st = ref Unsafe.Add(ref st, 14); + while ((m >>= 1) != 0) + { + if (this.DecodeBinaryDecision(ref reader, ref st) != 0) + { + v |= m; + } + } + + v += 1; + if (sign != 0) + { + v = -v; + } + + component.DcPredictor = (short)(component.DcPredictor + v); + } + + destinationRef = (short)component.DcPredictor; + + // Sections F.2.4.2 & F.1.4.4.2: Decoding of AC coefficients. + ArithmeticStatistics acStatistics = component.AcStatistics; + + for (int k = 1; k <= 63; k++) + { + st = ref acStatistics.GetReference(3 * (k - 1)); + if (this.DecodeBinaryDecision(ref reader, ref st) != 0) + { + // EOB flag. + break; + } + + while (this.DecodeBinaryDecision(ref reader, ref Unsafe.Add(ref st, 1)) == 0) + { + st = ref Unsafe.Add(ref st, 3); + k++; + if (k > 63) + { + JpegThrowHelper.ThrowInvalidImageContentException("Invalid arithmetic code."); + } + } + + // Figure F.21: Decoding nonzero value v. + // Figure F.22: Decoding the sign of v. + int sign = this.DecodeBinaryDecision(ref reader, ref this.GetFixedBinReference()); + st = ref Unsafe.Add(ref st, 2); + + // Figure F.23: Decoding the magnitude category of v. + int m = this.DecodeBinaryDecision(ref reader, ref st); + if (m != 0) + { + if (this.DecodeBinaryDecision(ref reader, ref st) != 0) + { + m <<= 1; + st = ref acStatistics.GetReference(k <= acTable.AcKx ? 189 : 217); + while (this.DecodeBinaryDecision(ref reader, ref st) != 0) + { + if ((m <<= 1) == 0x8000) + { + JpegThrowHelper.ThrowInvalidImageContentException("Invalid arithmetic code."); + } + + st = ref Unsafe.Add(ref st, 1); + } + } + } + + int v = m; + + // Figure F.24: Decoding the magnitude bit pattern of v. + st = ref Unsafe.Add(ref st, 14); + while ((m >>= 1) != 0) + { + if (this.DecodeBinaryDecision(ref reader, ref st) != 0) + { + v |= m; + } + } + + v += 1; + if (sign != 0) + { + v = -v; + } + + Unsafe.Add(ref destinationRef, ZigZag.TransposingOrder[k]) = (short)v; + } + } + + [MethodImpl(InliningOptions.ShortMethod)] + private bool HandleRestart() + { + if (this.restartInterval > 0 && (--this.todo) == 0) + { + if (this.scanBuffer.Marker == JpegConstants.Markers.XFF) + { + if (!this.scanBuffer.FindNextMarker()) + { + return false; + } + } + + this.todo = this.restartInterval; + + foreach (ArithmeticDecodingComponent component in this.components) + { + component.DcPredictor = 0; + component.DcContext = 0; + component.DcStatistics?.Reset(); + component.AcStatistics?.Reset(); + } + + this.Reset(); + + if (this.scanBuffer.HasRestartMarker()) + { + this.Reset(); + return true; + } + + if (this.scanBuffer.HasBadMarker()) + { + this.stream.Position = this.scanBuffer.MarkerPosition; + this.Reset(); + return true; + } + } + + return false; + } + + [MethodImpl(InliningOptions.ShortMethod)] + private void Reset() + { + for (int i = 0; i < this.components.Length; i++) + { + var component = this.components[i] as ArithmeticDecodingComponent; + component.DcPredictor = 0; + } + + this.c = 0; + this.a = 0; + this.ct = -16; // Force reading 2 initial bytes to fill C. + + this.scanBuffer.Reset(); + } + + private int DecodeBinaryDecision(ref JpegBitReader reader, ref byte st) + { + // Renormalization & data input per section D.2.6 + while (this.a < 0x8000) + { + if (--this.ct < 0) + { + // Need to fetch next data byte. + reader.CheckBits(); + int data = reader.GetBits(8); + + // Insert data into C register. + this.c = (this.c << 8) | data; + + // Update bit shift counter. + if ((this.ct += 8) < 0) + { + // Need more initial bytes. + if (++this.ct == 0) + { + // Got 2 initial bytes -> re-init A and exit loop + this.a = 0x8000; // e->a = 0x10000L after loop exit + } + } + } + + this.a <<= 1; + } + + // Fetch values from our compact representation of Table D.3(D.2): + // Qe values and probability estimation state machine + int sv = st; + int qe = ArithmeticTable[sv & 0x7f]; + byte nl = (byte)qe; + qe >>= 8; // Next_Index_LPS + Switch_MPS + byte nm = (byte)qe; + qe >>= 8; // Next_Index_MPS + + // Decode & estimation procedures per sections D.2.4 & D.2.5 + int temp = this.a - qe; + this.a = temp; + temp <<= this.ct; + if (this.c >= temp) + { + this.c -= temp; + + // Conditional LPS (less probable symbol) exchange + if (this.a < qe) + { + this.a = qe; + st = (byte)((sv & 0x80) ^ nm); // Estimate_after_MPS + } + else + { + this.a = qe; + st = (byte)((sv & 0x80) ^ nl); // Estimate_after_LPS + sv ^= 0x80; // Exchange LPS/MPS + } + } + else if (this.a < 0x8000) + { + // Conditional MPS (more probable symbol) exchange + if (this.a < qe) + { + st = (byte)((sv & 0x80) ^ nl); // Estimate_after_LPS + sv ^= 0x80; // Exchange LPS/MPS + } + else + { + st = (byte)((sv & 0x80) ^ nm); // Estimate_after_MPS + } + } + + return sv >> 7; + } + + // The following function specifies the packing of the four components + // into the compact INT32 representation. + // Note that this formula must match the actual arithmetic encoder and decoder implementation. The implementation has to be changed + // if this formula is changed. + // The current organization is leaned on Markus Kuhn's JBIG implementation (jbig_tab.c). + [MethodImpl(InliningOptions.ShortMethod)] + private static int Pack(int a, int b, int c, int d) + => (a << 16) | (c << 8) | (d << 7) | b; + } +} diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticStatistics.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticStatistics.cs new file mode 100644 index 000000000..c84831b3a --- /dev/null +++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticStatistics.cs @@ -0,0 +1,29 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System; + +namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder +{ + internal class ArithmeticStatistics + { + private readonly byte[] statistics; + + public ArithmeticStatistics(bool dc, int identifier) + { + this.IsDcStatistics = dc; + this.Identifier = identifier; + this.statistics = dc ? new byte[64] : new byte[256]; + } + + public bool IsDcStatistics { get; private set; } + + public int Identifier { get; private set; } + + public ref byte GetReference() => ref this.statistics[0]; + + public ref byte GetReference(int offset) => ref this.statistics[offset]; + + public void Reset() => this.statistics.AsSpan().Clear(); + } +} diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanScanDecoder.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanScanDecoder.cs index e1faf93f4..da2d5da65 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanScanDecoder.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanScanDecoder.cs @@ -14,7 +14,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder /// Originally ported from /// with additional fixes for both performance and common encoding errors. /// - internal class HuffmanScanDecoder + internal class HuffmanScanDecoder : IJpegScanDecoder { private readonly BufferedReadStream stream; @@ -26,7 +26,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder /// /// Shortcut for .Components. /// - private JpegComponent[] components; + private IJpegComponent[] components; /// /// Number of component in the current scan. @@ -54,11 +54,11 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder private readonly HuffmanTable[] dcHuffmanTables; /// - /// The AC Huffman tables + /// The AC Huffman tables. /// private readonly HuffmanTable[] acHuffmanTables; - private HuffmanScanBuffer scanBuffer; + private JpegBitReader scanBuffer; private readonly SpectralConverter spectralConverter; @@ -119,7 +119,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder this.scanComponentCount = scanComponentCount; - this.scanBuffer = new HuffmanScanBuffer(this.stream); + this.scanBuffer = new JpegBitReader(this.stream); bool fullScan = this.frame.Progressive || this.frame.MultiScan; this.frame.AllocateComponents(fullScan); @@ -139,6 +139,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder } } + /// public void InjectFrameData(JpegFrame frame, IRawJpegData jpegData) { this.frame = frame; @@ -170,7 +171,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder int mcu = 0; int mcusPerColumn = this.frame.McusPerColumn; int mcusPerLine = this.frame.McusPerLine; - ref HuffmanScanBuffer buffer = ref this.scanBuffer; + ref JpegBitReader buffer = ref this.scanBuffer; for (int j = 0; j < mcusPerColumn; j++) { @@ -184,10 +185,10 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder for (int k = 0; k < this.scanComponentCount; k++) { int order = this.frame.ComponentOrder[k]; - JpegComponent component = this.components[order]; + var component = this.components[order] as JpegComponent; - ref HuffmanTable dcHuffmanTable = ref this.dcHuffmanTables[component.DCHuffmanTableId]; - ref HuffmanTable acHuffmanTable = ref this.acHuffmanTables[component.ACHuffmanTableId]; + ref HuffmanTable dcHuffmanTable = ref this.dcHuffmanTables[component.DcTableId]; + ref HuffmanTable acHuffmanTable = ref this.acHuffmanTables[component.AcTableId]; int h = component.HorizontalSamplingFactor; int v = component.VerticalSamplingFactor; @@ -233,14 +234,14 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder private void ParseBaselineDataNonInterleaved() { - JpegComponent component = this.components[this.frame.ComponentOrder[0]]; - ref HuffmanScanBuffer buffer = ref this.scanBuffer; + var component = this.components[this.frame.ComponentOrder[0]] as JpegComponent; + ref JpegBitReader buffer = ref this.scanBuffer; int w = component.WidthInBlocks; int h = component.HeightInBlocks; - ref HuffmanTable dcHuffmanTable = ref this.dcHuffmanTables[component.DCHuffmanTableId]; - ref HuffmanTable acHuffmanTable = ref this.acHuffmanTables[component.ACHuffmanTableId]; + ref HuffmanTable dcHuffmanTable = ref this.dcHuffmanTables[component.DcTableId]; + ref HuffmanTable acHuffmanTable = ref this.acHuffmanTables[component.AcTableId]; for (int j = 0; j < h; j++) { @@ -268,14 +269,14 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder private void ParseBaselineDataSingleComponent() { - JpegComponent component = this.frame.Components[0]; + var component = this.frame.Components[0] as JpegComponent; int mcuLines = this.frame.McusPerColumn; int w = component.WidthInBlocks; int h = component.SamplingFactors.Height; - ref HuffmanTable dcHuffmanTable = ref this.dcHuffmanTables[component.DCHuffmanTableId]; - ref HuffmanTable acHuffmanTable = ref this.acHuffmanTables[component.ACHuffmanTableId]; + ref HuffmanTable dcHuffmanTable = ref this.dcHuffmanTables[component.DcTableId]; + ref HuffmanTable acHuffmanTable = ref this.acHuffmanTables[component.AcTableId]; - ref HuffmanScanBuffer buffer = ref this.scanBuffer; + ref JpegBitReader buffer = ref this.scanBuffer; for (int i = 0; i < mcuLines; i++) { @@ -382,7 +383,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder int mcu = 0; int mcusPerColumn = this.frame.McusPerColumn; int mcusPerLine = this.frame.McusPerLine; - ref HuffmanScanBuffer buffer = ref this.scanBuffer; + ref JpegBitReader buffer = ref this.scanBuffer; for (int j = 0; j < mcusPerColumn; j++) { @@ -394,8 +395,8 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder for (int k = 0; k < this.scanComponentCount; k++) { int order = this.frame.ComponentOrder[k]; - JpegComponent component = this.components[order]; - ref HuffmanTable dcHuffmanTable = ref this.dcHuffmanTables[component.DCHuffmanTableId]; + var component = this.components[order] as JpegComponent; + ref HuffmanTable dcHuffmanTable = ref this.dcHuffmanTables[component.DcTableId]; int h = component.HorizontalSamplingFactor; int v = component.VerticalSamplingFactor; @@ -435,15 +436,15 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder private void ParseProgressiveDataNonInterleaved() { - JpegComponent component = this.components[this.frame.ComponentOrder[0]]; - ref HuffmanScanBuffer buffer = ref this.scanBuffer; + var component = this.components[this.frame.ComponentOrder[0]] as JpegComponent; + ref JpegBitReader buffer = ref this.scanBuffer; int w = component.WidthInBlocks; int h = component.HeightInBlocks; if (this.SpectralStart == 0) { - ref HuffmanTable dcHuffmanTable = ref this.dcHuffmanTables[component.DCHuffmanTableId]; + ref HuffmanTable dcHuffmanTable = ref this.dcHuffmanTables[component.DcTableId]; for (int j = 0; j < h; j++) { @@ -470,7 +471,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder } else { - ref HuffmanTable acHuffmanTable = ref this.acHuffmanTables[component.ACHuffmanTableId]; + ref HuffmanTable acHuffmanTable = ref this.acHuffmanTables[component.AcTableId]; for (int j = 0; j < h; j++) { @@ -503,7 +504,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder ref HuffmanTable acTable) { ref short blockDataRef = ref Unsafe.As(ref block); - ref HuffmanScanBuffer buffer = ref this.scanBuffer; + ref JpegBitReader buffer = ref this.scanBuffer; // DC int t = buffer.DecodeHuffman(ref dcTable); @@ -545,7 +546,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder private void DecodeBlockProgressiveDC(JpegComponent component, ref Block8x8 block, ref HuffmanTable dcTable) { ref short blockDataRef = ref Unsafe.As(ref block); - ref HuffmanScanBuffer buffer = ref this.scanBuffer; + ref JpegBitReader buffer = ref this.scanBuffer; if (this.SuccessiveHigh == 0) { @@ -581,7 +582,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder return; } - ref HuffmanScanBuffer buffer = ref this.scanBuffer; + ref JpegBitReader buffer = ref this.scanBuffer; int start = this.SpectralStart; int end = this.SpectralEnd; int low = this.SuccessiveLow; @@ -626,7 +627,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder private void DecodeBlockProgressiveACRefined(ref short blockDataRef, ref HuffmanTable acTable) { // Refinement scan for these AC coefficients - ref HuffmanScanBuffer buffer = ref this.scanBuffer; + ref JpegBitReader buffer = ref this.scanBuffer; int start = this.SpectralStart; int end = this.SpectralEnd; diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanTable.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanTable.cs index bee5e0229..79713388b 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanTable.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanTable.cs @@ -25,7 +25,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder /// /// Contains the largest code of length k (0 if none). MaxCode[17] is a sentinel to - /// ensure terminates. + /// ensure terminates. /// public fixed ulong MaxCode[18]; diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/IJpegComponent.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/IJpegComponent.cs index 54077339d..63e0ac09c 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/IJpegComponent.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/IJpegComponent.cs @@ -10,6 +10,11 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder /// internal interface IJpegComponent { + /// + /// Gets the component id. + /// + public byte Id { get; } + /// /// Gets the component's position in the components array. /// @@ -25,6 +30,16 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder /// Size SamplingFactors { get; } + /// + /// Gets the horizontal sampling factor. + /// + public int HorizontalSamplingFactor { get; } + + /// + /// Gets the vertical sampling factor. + /// + public int VerticalSamplingFactor { get; } + /// /// Gets the divisors needed to apply when calculating colors. /// @@ -44,5 +59,38 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder /// We need to apply IDCT and dequantization to transform them into color-space blocks. /// Buffer2D SpectralBlocks { get; } + + /// + /// Gets or sets DC coefficient predictor. + /// + public int DcPredictor { get; set; } + + /// + /// Gets or sets the index for the DC table. + /// + public int DcTableId { get; set; } + + /// + /// Gets or sets the index for the AC table. + /// + public int AcTableId { get; set; } + + /// + /// Initializes component for future buffers initialization. + /// + /// Maximal horizontal subsampling factor among all the components. + /// Maximal vertical subsampling factor among all the components. + public void Init(int maxSubFactorH, int maxSubFactorV); + + /// + /// Allocates the spectral blocks. + /// + /// if set to true, use the full height of a block, otherwise use the vertical sampling factor. + public void AllocateSpectral(bool fullScan); + + /// + /// Releases resources. + /// + public void Dispose(); } } diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/IJpegScanDecoder.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/IJpegScanDecoder.cs new file mode 100644 index 000000000..73ca9f08b --- /dev/null +++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/IJpegScanDecoder.cs @@ -0,0 +1,49 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder +{ + /// + /// Interface for a JPEG scan decoder. + /// + internal interface IJpegScanDecoder + { + /// + /// Sets the reset interval. + /// + int ResetInterval { set; } + + /// + /// Gets or sets the spectral selection start. + /// + int SpectralStart { get; set; } + + /// + /// Gets or sets the spectral selection end. + /// + int SpectralEnd { get; set; } + + /// + /// Gets or sets the successive approximation high bit end. + /// + int SuccessiveHigh { get; set; } + + /// + /// Gets or sets the successive approximation low bit end. + /// + int SuccessiveLow { get; set; } + + /// + /// Decodes the entropy coded data. + /// + /// Component count in the current scan. + void ParseEntropyCodedData(int scanComponentCount); + + /// + /// Sets the JpegFrame and its components and injects the frame data into the spectral converter. + /// + /// The frame. + /// The raw JPEG data. + void InjectFrameData(JpegFrame frame, IRawJpegData jpegData); + } +} diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanScanBuffer.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegBitReader.cs similarity index 97% rename from src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanScanBuffer.cs rename to src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegBitReader.cs index 3664cb4eb..76bb2b445 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/HuffmanScanBuffer.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegBitReader.cs @@ -9,7 +9,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder /// /// Used to buffer and track the bits read from the Huffman entropy encoded data. /// - internal struct HuffmanScanBuffer + internal struct JpegBitReader { private readonly BufferedReadStream stream; @@ -22,7 +22,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder // Whether there is no more good data to pull from the stream for the current mcu. private bool badData; - public HuffmanScanBuffer(BufferedReadStream stream) + public JpegBitReader(BufferedReadStream stream) { this.stream = stream; this.data = 0ul; @@ -117,7 +117,8 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder public int Receive(int nbits) { this.CheckBits(); - return Extend(this.GetBits(nbits), nbits); + int bits = Extend(this.GetBits(nbits), nbits); + return bits; } [MethodImpl(InliningOptions.ShortMethod)] diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegComponent.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegComponent.cs index 3804e1c6c..5b0e87785 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegComponent.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegComponent.cs @@ -9,7 +9,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder /// /// Represents a single frame component. /// - internal sealed class JpegComponent : IDisposable, IJpegComponent + internal class JpegComponent : IDisposable, IJpegComponent { private readonly MemoryAllocator memoryAllocator; @@ -78,12 +78,12 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder /// /// Gets or sets the index for the DC Huffman table. /// - public int DCHuffmanTableId { get; set; } + public int DcTableId { get; set; } /// /// Gets or sets the index for the AC Huffman table. /// - public int ACHuffmanTableId { get; set; } + public int AcTableId { get; set; } public JpegFrame Frame { get; } @@ -119,11 +119,12 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder } } + /// public void AllocateSpectral(bool fullScan) { if (this.SpectralBlocks != null) { - // this method will be called each scan marker so we need to allocate only once + // This method will be called each scan marker so we need to allocate only once. return; } diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegComponentPostProcessor.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegComponentPostProcessor.cs index c3bf1cbdd..6173c4fbf 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegComponentPostProcessor.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegComponentPostProcessor.cs @@ -103,7 +103,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder // To be "more accurate", we need to emulate this by rounding! workspaceBlock.NormalizeColorsAndRoundInPlace(maximumValue); - // Write to color buffer acording to sampling factors + // Write to color buffer according to sampling factors int xColorBufferStart = xBlock * this.blockAreaSize.Width; workspaceBlock.ScaledCopyTo( ref colorBufferRow[xColorBufferStart], diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegFrame.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegFrame.cs index fc109be26..1b1cf57c6 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegFrame.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegFrame.cs @@ -6,14 +6,14 @@ using System; namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder { /// - /// Represent a single jpeg frame + /// Represent a single jpeg frame. /// internal sealed class JpegFrame : IDisposable { public JpegFrame(JpegFileMarker sofMarker, byte precision, int width, int height, byte componentCount) { - this.Extended = sofMarker.Marker == JpegConstants.Markers.SOF1; - this.Progressive = sofMarker.Marker == JpegConstants.Markers.SOF2; + this.Extended = sofMarker.Marker is JpegConstants.Markers.SOF1 or JpegConstants.Markers.SOF9; + this.Progressive = sofMarker.Marker is JpegConstants.Markers.SOF2 or JpegConstants.Markers.SOF10; this.Precision = precision; this.MaxColorChannelValue = MathF.Pow(2, precision) - 1; @@ -65,7 +65,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder /// /// Gets the pixel size of the image. /// - public Size PixelSize => new Size(this.PixelWidth, this.PixelHeight); + public Size PixelSize => new(this.PixelWidth, this.PixelHeight); /// /// Gets the number of components within a frame. @@ -86,7 +86,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder /// /// Gets or sets the frame component collection. /// - public JpegComponent[] Components { get; set; } + public IJpegComponent[] Components { get; set; } /// /// Gets or sets the number of MCU's per line. @@ -101,7 +101,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder /// /// Gets the mcu size of the image. /// - public Size McuSize => new Size(this.McusPerLine, this.McusPerColumn); + public Size McuSize => new(this.McusPerLine, this.McusPerColumn); /// /// Gets the color depth, in number of bits per pixel. @@ -134,7 +134,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder for (int i = 0; i < this.ComponentCount; i++) { - JpegComponent component = this.Components[i]; + IJpegComponent component = this.Components[i]; component.Init(maxSubFactorH, maxSubFactorV); } } @@ -143,7 +143,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder { for (int i = 0; i < this.ComponentCount; i++) { - JpegComponent component = this.Components[i]; + IJpegComponent component = this.Components[i]; component.AllocateSpectral(fullScan); } } diff --git a/src/ImageSharp/Formats/Jpeg/JpegConstants.cs b/src/ImageSharp/Formats/Jpeg/JpegConstants.cs index 89c4de550..20edf4037 100644 --- a/src/ImageSharp/Formats/Jpeg/JpegConstants.cs +++ b/src/ImageSharp/Formats/Jpeg/JpegConstants.cs @@ -306,17 +306,17 @@ namespace SixLabors.ImageSharp.Formats.Jpeg public const int RegisterSize = 64; /// - /// The number of bits to fetch when filling the buffer. + /// The number of bits to fetch when filling the buffer. /// public const int FetchBits = 48; /// - /// The number of times to read the input stream when filling the buffer. + /// The number of times to read the input stream when filling the buffer. /// public const int FetchLoop = FetchBits / 8; /// - /// The minimum number of bits allowed before by the before fetching. + /// The minimum number of bits allowed before by the before fetching. /// public const int MinBits = RegisterSize - FetchBits; diff --git a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs index ef4e3ffac..c87869ee5 100644 --- a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs +++ b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs @@ -4,6 +4,7 @@ using System; using System.Buffers; using System.Buffers.Binary; +using System.Collections.Generic; using System.IO; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; @@ -97,7 +98,12 @@ namespace SixLabors.ImageSharp.Formats.Jpeg /// /// Scan decoder. /// - private HuffmanScanDecoder scanDecoder; + private IJpegScanDecoder scanDecoder; + + /// + /// The arithmetic decoding tables. + /// + private List arithmeticDecodingTables; /// /// Initializes a new instance of the class. @@ -137,7 +143,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg /// /// Gets the components. /// - public JpegComponent[] Components => this.Frame.Components; + public IJpegComponent[] Components => this.Frame.Components; /// IJpegComponent[] IRawJpegData.Components => this.Components; @@ -188,9 +194,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg { using var spectralConverter = new SpectralConverter(this.Configuration); - var scanDecoder = new HuffmanScanDecoder(stream, spectralConverter, cancellationToken); - - this.ParseStream(stream, scanDecoder, cancellationToken); + this.ParseStream(stream, spectralConverter, cancellationToken); this.InitExifProfile(); this.InitIccProfile(); this.InitIptcProfile(); @@ -206,7 +210,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg /// public IImageInfo Identify(BufferedReadStream stream, CancellationToken cancellationToken) { - this.ParseStream(stream, scanDecoder: null, cancellationToken); + this.ParseStream(stream, spectralConverter: null, cancellationToken); this.InitExifProfile(); this.InitIccProfile(); this.InitIptcProfile(); @@ -222,12 +226,12 @@ namespace SixLabors.ImageSharp.Formats.Jpeg /// so those tables do not need to be duplicated with segmented tiff's (tiff's with multiple strips). /// /// The table bytes. - /// The scan decoder. - public void LoadTables(byte[] tableBytes, HuffmanScanDecoder huffmanScanDecoder) + /// The scan decoder. + public void LoadTables(byte[] tableBytes, IJpegScanDecoder scanDecoder) { this.Metadata = new ImageMetadata(); this.QuantizationTables = new Block8x8F[4]; - this.scanDecoder = huffmanScanDecoder; + this.scanDecoder = scanDecoder; using var ms = new MemoryStream(tableBytes); using var stream = new BufferedReadStream(this.Configuration, ms); @@ -282,13 +286,11 @@ namespace SixLabors.ImageSharp.Formats.Jpeg /// Parses the input stream for file markers. /// /// The input stream. - /// Scan decoder used exclusively to decode SOS marker. + /// The spectral converter to use. /// The token to monitor cancellation. - internal void ParseStream(BufferedReadStream stream, HuffmanScanDecoder scanDecoder, CancellationToken cancellationToken) + internal void ParseStream(BufferedReadStream stream, SpectralConverter spectralConverter, CancellationToken cancellationToken) { - bool metadataOnly = scanDecoder == null; - - this.scanDecoder = scanDecoder; + bool metadataOnly = spectralConverter == null; this.Metadata = new ImageMetadata(); @@ -322,7 +324,16 @@ namespace SixLabors.ImageSharp.Formats.Jpeg case JpegConstants.Markers.SOF0: case JpegConstants.Markers.SOF1: case JpegConstants.Markers.SOF2: - this.ProcessStartOfFrameMarker(stream, remaining, fileMarker, metadataOnly); + this.scanDecoder = new HuffmanScanDecoder(stream, spectralConverter, cancellationToken); + this.ProcessStartOfFrameMarker(stream, remaining, fileMarker, ComponentType.Huffman, metadataOnly); + break; + + case JpegConstants.Markers.SOF9: + case JpegConstants.Markers.SOF10: + case JpegConstants.Markers.SOF13: + case JpegConstants.Markers.SOF14: + this.scanDecoder = new ArithmeticScanDecoder(stream, spectralConverter, cancellationToken); + this.ProcessStartOfFrameMarker(stream, remaining, fileMarker, ComponentType.Arithmetic, metadataOnly); break; case JpegConstants.Markers.SOF5: @@ -338,13 +349,9 @@ namespace SixLabors.ImageSharp.Formats.Jpeg JpegThrowHelper.ThrowNotSupportedException("Decoding lossless jpeg files is not supported."); break; - case JpegConstants.Markers.SOF9: - case JpegConstants.Markers.SOF10: case JpegConstants.Markers.SOF11: - case JpegConstants.Markers.SOF13: - case JpegConstants.Markers.SOF14: case JpegConstants.Markers.SOF15: - JpegThrowHelper.ThrowNotSupportedException("Decoding jpeg files with arithmetic coding is not supported."); + JpegThrowHelper.ThrowNotSupportedException("Decoding jpeg files with lossless arithmetic coding is not supported."); break; case JpegConstants.Markers.SOS: @@ -428,7 +435,15 @@ namespace SixLabors.ImageSharp.Formats.Jpeg break; case JpegConstants.Markers.DAC: - JpegThrowHelper.ThrowNotSupportedException("Decoding jpeg files with arithmetic coding is not supported."); + if (metadataOnly) + { + stream.Skip(remaining); + } + else + { + this.ProcessArithmeticTable(stream, remaining); + } + break; } } @@ -856,6 +871,42 @@ namespace SixLabors.ImageSharp.Formats.Jpeg } } + private void ProcessArithmeticTable(BufferedReadStream stream, int remaining) + { + this.arithmeticDecodingTables ??= new List(4); + + while (remaining > 0) + { + int tableClassAndIdentifier = stream.ReadByte(); + remaining--; + byte tableClass = (byte)(tableClassAndIdentifier >> 4); + byte identifier = (byte)(tableClassAndIdentifier & 0xF); + + byte conditioningTableValue = (byte)stream.ReadByte(); + remaining--; + + var arithmeticTable = new ArithmeticDecodingTable(tableClass, identifier); + arithmeticTable.Configure(conditioningTableValue); + + bool tableEntryReplaced = false; + for (int i = 0; i < this.arithmeticDecodingTables.Count; i++) + { + ArithmeticDecodingTable item = this.arithmeticDecodingTables[i]; + if (item.TableClass == arithmeticTable.TableClass && item.Identifier == arithmeticTable.Identifier) + { + this.arithmeticDecodingTables[i] = arithmeticTable; + tableEntryReplaced = true; + break; + } + } + + if (!tableEntryReplaced) + { + this.arithmeticDecodingTables.Add(arithmeticTable); + } + } + } + /// /// Reads the adobe image resource block name: a Pascal string (padded to make size even). /// @@ -917,7 +968,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg /// The input stream. /// The remaining bytes in the segment block. /// - /// Thrown if the tables do not match the header + /// Thrown if the tables do not match the header. /// private void ProcessDefineQuantizationTablesMarker(BufferedReadStream stream, int remaining) { @@ -1023,8 +1074,9 @@ namespace SixLabors.ImageSharp.Formats.Jpeg /// The input stream. /// The remaining bytes in the segment block. /// The current frame marker. - /// Whether to parse metadata only - private void ProcessStartOfFrameMarker(BufferedReadStream stream, int remaining, in JpegFileMarker frameMarker, bool metadataOnly) + /// The jpeg decoding component type. + /// Whether to parse metadata only. + private void ProcessStartOfFrameMarker(BufferedReadStream stream, int remaining, in JpegFileMarker frameMarker, ComponentType decodingComponentType, bool metadataOnly) { if (this.Frame != null) { @@ -1036,17 +1088,21 @@ namespace SixLabors.ImageSharp.Formats.Jpeg JpegThrowHelper.ThrowInvalidImageContentException("Multiple SOF markers. Only single frame jpegs supported."); } - // Read initial marker definitions + // Read initial marker definitions. const int length = 6; - stream.Read(this.temp, 0, length); + int bytesRead = stream.Read(this.temp, 0, length); + if (bytesRead != length) + { + JpegThrowHelper.ThrowInvalidImageContentException("SOF marker does not contain enough data."); + } - // 1 byte: Bits/sample precision + // 1 byte: Bits/sample precision. byte precision = this.temp[0]; - // Validate: only 8-bit and 12-bit precisions are supported + // Validate: only 8-bit and 12-bit precisions are supported. if (Array.IndexOf(this.supportedPrecisions, precision) == -1) { - JpegThrowHelper.ThrowInvalidImageContentException("Only 8-Bit and 12-Bit precision supported."); + JpegThrowHelper.ThrowInvalidImageContentException("Only 8-Bit and 12-Bit precision is supported."); } // 2 byte: Height @@ -1055,18 +1111,18 @@ namespace SixLabors.ImageSharp.Formats.Jpeg // 2 byte: Width int frameWidth = (this.temp[3] << 8) | this.temp[4]; - // Validate: width/height > 0 (they are upper-bounded by 2 byte max value so no need to check that) + // Validate: width/height > 0 (they are upper-bounded by 2 byte max value so no need to check that). if (frameHeight == 0 || frameWidth == 0) { JpegThrowHelper.ThrowInvalidImageDimensions(frameWidth, frameHeight); } - // 1 byte: Number of components + // 1 byte: Number of components. byte componentCount = this.temp[5]; // Validate: componentCount more than 4 can lead to a buffer overflow during stream - // reading so we must limit it to 4 - // We do not support jpeg images with more than 4 components anyway + // reading so we must limit it to 4. + // We do not support jpeg images with more than 4 components anyway. if (componentCount > 4) { JpegThrowHelper.ThrowNotSupportedComponentCount(componentCount); @@ -1135,7 +1191,9 @@ namespace SixLabors.ImageSharp.Formats.Jpeg JpegThrowHelper.ThrowBadQuantizationTableIndex(quantTableIndex); } - var component = new JpegComponent(this.Configuration.MemoryAllocator, this.Frame, componentId, h, v, quantTableIndex, i); + IJpegComponent component = decodingComponentType is ComponentType.Huffman ? + new JpegComponent(this.Configuration.MemoryAllocator, this.Frame, componentId, h, v, quantTableIndex, i) : + new ArithmeticDecodingComponent(this.Configuration.MemoryAllocator, this.Frame, componentId, h, v, quantTableIndex, i); this.Frame.Components[i] = component; this.Frame.ComponentIds[i] = componentId; @@ -1165,11 +1223,17 @@ namespace SixLabors.ImageSharp.Formats.Jpeg const int codeValuesMaxByteSize = 256; const int totalBufferSize = codeLengthsByteSize + codeValuesMaxByteSize + HuffmanTable.WorkspaceByteSize; + var huffmanScanDecoder = this.scanDecoder as HuffmanScanDecoder; + if (huffmanScanDecoder is null) + { + JpegThrowHelper.ThrowInvalidImageContentException("missing huffman table data"); + } + int length = remaining; using (IMemoryOwner buffer = this.Configuration.MemoryAllocator.Allocate(totalBufferSize)) { Span bufferSpan = buffer.GetSpan(); - Span huffmanLegthsSpan = bufferSpan.Slice(0, codeLengthsByteSize); + Span huffmanLengthsSpan = bufferSpan.Slice(0, codeLengthsByteSize); Span huffmanValuesSpan = bufferSpan.Slice(codeLengthsByteSize, codeValuesMaxByteSize); Span tableWorkspace = MemoryMarshal.Cast(bufferSpan.Slice(codeLengthsByteSize + codeValuesMaxByteSize)); @@ -1191,12 +1255,12 @@ namespace SixLabors.ImageSharp.Formats.Jpeg JpegThrowHelper.ThrowInvalidImageContentException($"Bad huffman table index: {tableIndex}."); } - stream.Read(huffmanLegthsSpan, 1, 16); + stream.Read(huffmanLengthsSpan, 1, 16); int codeLengthSum = 0; for (int j = 1; j < 17; j++) { - codeLengthSum += huffmanLegthsSpan[j]; + codeLengthSum += huffmanLengthsSpan[j]; } length -= 17; @@ -1210,10 +1274,10 @@ namespace SixLabors.ImageSharp.Formats.Jpeg i += 17 + codeLengthSum; - this.scanDecoder.BuildHuffmanTable( + huffmanScanDecoder!.BuildHuffmanTable( tableType, tableIndex, - huffmanLegthsSpan, + huffmanLengthsSpan, huffmanValuesSpan.Slice(0, codeLengthSum), tableWorkspace); } @@ -1221,8 +1285,8 @@ namespace SixLabors.ImageSharp.Formats.Jpeg } /// - /// Processes the DRI (Define Restart Interval Marker) Which specifies the interval between RSTn markers, in - /// macroblocks + /// Processes the DRI (Define Restart Interval Marker) Which specifies the interval between RSTn markers, + /// in macroblocks. /// /// The input stream. /// The remaining bytes in the segment block. @@ -1246,7 +1310,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg JpegThrowHelper.ThrowInvalidImageContentException("No readable SOFn (Start Of Frame) marker found."); } - // 1 byte: Number of components in scan + // 1 byte: Number of components in scan. int selectorsCount = stream.ReadByte(); // Validate: 0 < count <= totalComponents @@ -1256,7 +1320,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg JpegThrowHelper.ThrowInvalidImageContentException($"Invalid number of components in scan: {selectorsCount}."); } - // Validate: marker must contain exactly (4 + selectorsCount*2) bytes + // Validate: Marker must contain exactly (4 + selectorsCount*2) bytes int selectorsBytes = selectorsCount * 2; if (remaining != 4 + selectorsBytes) { @@ -1283,7 +1347,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg } } - // Validate: must be found among registered components + // Validate: Must be found among registered components. if (componentIndex == -1) { // TODO: extract as separate method? @@ -1292,7 +1356,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg this.Frame.ComponentOrder[i / 2] = (byte)componentIndex; - JpegComponent component = this.Frame.Components[componentIndex]; + IJpegComponent component = this.Frame.Components[componentIndex]; // 1 byte: Huffman table selectors. // 4 bits - dc @@ -1308,8 +1372,8 @@ namespace SixLabors.ImageSharp.Formats.Jpeg JpegThrowHelper.ThrowInvalidImageContentException($"Invalid huffman table for component:{componentSelectorId}: dc={dcTableIndex}, ac={acTableIndex}"); } - component.DCHuffmanTableId = dcTableIndex; - component.ACHuffmanTableId = acTableIndex; + component.DcTableId = dcTableIndex; + component.AcTableId = acTableIndex; } // 3 bytes: Progressive scan decoding data @@ -1325,18 +1389,28 @@ namespace SixLabors.ImageSharp.Formats.Jpeg this.scanDecoder.SuccessiveHigh = successiveApproximation >> 4; this.scanDecoder.SuccessiveLow = successiveApproximation & 15; + if (this.scanDecoder is ArithmeticScanDecoder arithmeticScanDecoder) + { + arithmeticScanDecoder.InitDecodingTables(this.arithmeticDecodingTables); + } + this.scanDecoder.ParseEntropyCodedData(selectorsCount); } /// - /// Reads a from the stream advancing it by two bytes + /// Reads a from the stream advancing it by two bytes. /// /// The input stream. /// The [MethodImpl(InliningOptions.ShortMethod)] private ushort ReadUint16(BufferedReadStream stream) { - stream.Read(this.markerBuffer, 0, 2); + int bytesRead = stream.Read(this.markerBuffer, 0, 2); + if (bytesRead != 2) + { + JpegThrowHelper.ThrowInvalidImageContentException("stream does not contain enough data, could not read ushort."); + } + return BinaryPrimitives.ReadUInt16BigEndian(this.markerBuffer); } } diff --git a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/JpegTiffCompression.cs b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/JpegTiffCompression.cs index cfbc32f4f..ba945a8ac 100644 --- a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/JpegTiffCompression.cs +++ b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/JpegTiffCompression.cs @@ -62,7 +62,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression.Decompressors using SpectralConverter spectralConverterGray = new GrayJpegSpectralConverter(this.configuration); var scanDecoderGray = new HuffmanScanDecoder(stream, spectralConverterGray, CancellationToken.None); jpegDecoder.LoadTables(this.jpegTables, scanDecoderGray); - jpegDecoder.ParseStream(stream, scanDecoderGray, CancellationToken.None); + jpegDecoder.ParseStream(stream, spectralConverterGray, CancellationToken.None); // TODO: Should we pass through the CancellationToken from the tiff decoder? CopyImageBytesToBuffer(buffer, spectralConverterGray.GetPixelBuffer(CancellationToken.None)); @@ -78,7 +78,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression.Decompressors new RgbJpegSpectralConverter(this.configuration) : new SpectralConverter(this.configuration); var scanDecoder = new HuffmanScanDecoder(stream, spectralConverter, CancellationToken.None); jpegDecoder.LoadTables(this.jpegTables, scanDecoder); - jpegDecoder.ParseStream(stream, scanDecoder, CancellationToken.None); + jpegDecoder.ParseStream(stream, spectralConverter, CancellationToken.None); // TODO: Should we pass through the CancellationToken from the tiff decoder? CopyImageBytesToBuffer(buffer, spectralConverter.GetPixelBuffer(CancellationToken.None)); diff --git a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpegParseStreamOnly.cs b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpegParseStreamOnly.cs index 988c05660..450c786ad 100644 --- a/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpegParseStreamOnly.cs +++ b/tests/ImageSharp.Benchmarks/Codecs/Jpeg/DecodeJpegParseStreamOnly.cs @@ -40,8 +40,8 @@ namespace SixLabors.ImageSharp.Benchmarks.Codecs.Jpeg using var bufferedStream = new BufferedReadStream(Configuration.Default, memoryStream); using var decoder = new JpegDecoderCore(Configuration.Default, new JpegDecoder { IgnoreMetadata = true }); - var scanDecoder = new HuffmanScanDecoder(bufferedStream, new NoopSpectralConverter(), cancellationToken: default); - decoder.ParseStream(bufferedStream, scanDecoder, cancellationToken: default); + var spectralConverter = new NoopSpectralConverter(); + decoder.ParseStream(bufferedStream, spectralConverter, cancellationToken: default); } // We want to test only stream parsing and scan decoding, we don't need to convert spectral data to actual pixels diff --git a/tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressRunner.cs b/tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressRunner.cs index 81a95cd1e..58da1f8d5 100644 --- a/tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressRunner.cs +++ b/tests/ImageSharp.Benchmarks/LoadResizeSave/LoadResizeSaveStressRunner.cs @@ -10,12 +10,10 @@ using System.IO; using System.Linq; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -using System.Threading; using System.Threading.Tasks; using ImageMagick; using PhotoSauce.MagicScaler; using SixLabors.ImageSharp.Formats.Jpeg; -using SixLabors.ImageSharp.Memory; using SixLabors.ImageSharp.Processing; using SixLabors.ImageSharp.Tests; using SkiaSharp; @@ -228,8 +226,9 @@ namespace SixLabors.ImageSharp.Benchmarks.LoadResizeSave public async Task ImageSharpResizeAsync(string input) { using FileStream output = File.Open(this.OutputPath(input), FileMode.Create); - // Resize it to fit a 150x150 square - using var image = await ImageSharpImage.LoadAsync(input); + + // Resize it to fit a 150x150 square. + using ImageSharpImage image = await ImageSharpImage.LoadAsync(input); this.LogImageProcessed(image.Width, image.Height); image.Mutate(i => i.Resize(new ResizeOptions diff --git a/tests/ImageSharp.Tests.ProfilingSandbox/LoadResizeSaveParallelMemoryStress.cs b/tests/ImageSharp.Tests.ProfilingSandbox/LoadResizeSaveParallelMemoryStress.cs index 95e64b153..c5f312460 100644 --- a/tests/ImageSharp.Tests.ProfilingSandbox/LoadResizeSaveParallelMemoryStress.cs +++ b/tests/ImageSharp.Tests.ProfilingSandbox/LoadResizeSaveParallelMemoryStress.cs @@ -5,7 +5,6 @@ using System; using System.Diagnostics; using System.Globalization; using System.IO; -using System.Runtime.CompilerServices; using System.Text; using System.Threading; using CommandLine; @@ -68,7 +67,6 @@ namespace SixLabors.ImageSharp.Tests.ProfilingSandbox lrs.leakFrequency = options.LeakFrequency; lrs.gcFrequency = options.GcFrequency; - timer = Stopwatch.StartNew(); try { diff --git a/tests/ImageSharp.Tests/Formats/Jpg/ParseStreamTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/ParseStreamTests.cs index c4d0faf33..714d99300 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/ParseStreamTests.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/ParseStreamTests.cs @@ -50,7 +50,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg Assert.Equal(expectedSizeInBlocks, decoder.Frame.McuSize); var uniform1 = new Size(1, 1); - JpegComponent c0 = decoder.Components[0]; + IJpegComponent c0 = decoder.Components[0]; VerifyJpeg.VerifyComponent(c0, expectedSizeInBlocks, uniform1, uniform1); } } @@ -70,8 +70,8 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg { sb.AppendLine(imageFile); sb.AppendLine($"Size:{decoder.Frame.PixelSize} MCU:{decoder.Frame.McuSize}"); - JpegComponent c0 = decoder.Components[0]; - JpegComponent c1 = decoder.Components[1]; + IJpegComponent c0 = decoder.Components[0]; + IJpegComponent c1 = decoder.Components[1]; sb.AppendLine($"Luma: SAMP: {c0.SamplingFactors} BLOCKS: {c0.SizeInBlocks}"); sb.AppendLine($"Chroma: {c1.SamplingFactors} BLOCKS: {c1.SizeInBlocks}"); @@ -80,17 +80,17 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg this.Output.WriteLine(sb.ToString()); } - public static readonly TheoryData ComponentVerificationData = new TheoryData - { - { TestImages.Jpeg.Baseline.Jpeg444, 3, new Size(1, 1), new Size(1, 1) }, - { TestImages.Jpeg.Baseline.Jpeg420Exif, 3, new Size(2, 2), new Size(1, 1) }, - { TestImages.Jpeg.Baseline.Jpeg420Small, 3, new Size(2, 2), new Size(1, 1) }, - { TestImages.Jpeg.Baseline.Testorig420, 3, new Size(2, 2), new Size(1, 1) }, + public static readonly TheoryData ComponentVerificationData = new() + { + { TestImages.Jpeg.Baseline.Jpeg444, 3, new Size(1, 1), new Size(1, 1) }, + { TestImages.Jpeg.Baseline.Jpeg420Exif, 3, new Size(2, 2), new Size(1, 1) }, + { TestImages.Jpeg.Baseline.Jpeg420Small, 3, new Size(2, 2), new Size(1, 1) }, + { TestImages.Jpeg.Baseline.Testorig420, 3, new Size(2, 2), new Size(1, 1) }, - // TODO: Find Ycck or Cmyk images with different subsampling - { TestImages.Jpeg.Baseline.Ycck, 4, new Size(1, 1), new Size(1, 1) }, - { TestImages.Jpeg.Baseline.Cmyk, 4, new Size(1, 1), new Size(1, 1) }, - }; + // TODO: Find Ycck or Cmyk images with different subsampling + { TestImages.Jpeg.Baseline.Ycck, 4, new Size(1, 1), new Size(1, 1) }, + { TestImages.Jpeg.Baseline.Cmyk, 4, new Size(1, 1), new Size(1, 1) }, + }; [Theory] [MemberData(nameof(ComponentVerificationData))] @@ -108,9 +108,9 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg Assert.Equal(componentCount, decoder.Frame.ComponentCount); Assert.Equal(componentCount, decoder.Components.Length); - JpegComponent c0 = decoder.Components[0]; - JpegComponent c1 = decoder.Components[1]; - JpegComponent c2 = decoder.Components[2]; + IJpegComponent c0 = decoder.Components[0]; + IJpegComponent c1 = decoder.Components[1]; + IJpegComponent c2 = decoder.Components[2]; var uniform1 = new Size(1, 1); @@ -126,7 +126,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg if (componentCount == 4) { - JpegComponent c3 = decoder.Components[2]; + IJpegComponent c3 = decoder.Components[2]; VerifyJpeg.VerifyComponent(c3, expectedLumaSizeInBlocks, fLuma, uniform1); } } diff --git a/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs index 3833b419c..6480c47d0 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs @@ -59,7 +59,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg var scanDecoder = new HuffmanScanDecoder(bufferedStream, debugConverter, cancellationToken: default); // This would parse entire image - decoder.ParseStream(bufferedStream, scanDecoder, cancellationToken: default); + decoder.ParseStream(bufferedStream, debugConverter, cancellationToken: default); VerifyJpeg.SaveSpectralImage(provider, debugConverter.SpectralData); } @@ -88,7 +88,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg var scanDecoder = new HuffmanScanDecoder(bufferedStream, debugConverter, cancellationToken: default); // This would parse entire image - decoder.ParseStream(bufferedStream, scanDecoder, cancellationToken: default); + decoder.ParseStream(bufferedStream, debugConverter, cancellationToken: default); // Actual verification this.VerifySpectralCorrectnessImpl(libJpegData, debugConverter.SpectralData); @@ -195,7 +195,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg var spectralComponents = new LibJpegTools.ComponentData[frame.ComponentCount]; for (int i = 0; i < spectralComponents.Length; i++) { - JpegComponent component = frame.Components[i]; + var component = frame.Components[i] as JpegComponent; spectralComponents[i] = new LibJpegTools.ComponentData(component.WidthInBlocks, component.HeightInBlocks, component.Index); } diff --git a/tests/ImageSharp.Tests/Formats/Jpg/SpectralToPixelConversionTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/SpectralToPixelConversionTests.cs index 27240831c..99a31a972 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/SpectralToPixelConversionTests.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/SpectralToPixelConversionTests.cs @@ -2,7 +2,6 @@ // Licensed under the Apache License, Version 2.0. using System.IO; -using System.Linq; using System.Threading; using SixLabors.ImageSharp.Formats.Jpeg; using SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder; @@ -26,10 +25,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg TestImages.Jpeg.Baseline.MultiScanBaselineCMYK }; - public SpectralToPixelConversionTests(ITestOutputHelper output) - { - this.Output = output; - } + public SpectralToPixelConversionTests(ITestOutputHelper output) => this.Output = output; private ITestOutputHelper Output { get; } @@ -47,14 +43,14 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg using var converter = new SpectralConverter(Configuration.Default); using var decoder = new JpegDecoderCore(Configuration.Default, new JpegDecoder()); var scanDecoder = new HuffmanScanDecoder(bufferedStream, converter, cancellationToken: default); - decoder.ParseStream(bufferedStream, scanDecoder, cancellationToken: default); + decoder.ParseStream(bufferedStream, converter, cancellationToken: default); // Test metadata provider.Utility.TestGroupName = nameof(JpegDecoderTests); provider.Utility.TestName = JpegDecoderTests.DecodeBaselineJpegOutputName; // Comparison - using (Image image = new Image(Configuration.Default, converter.GetPixelBuffer(CancellationToken.None), new ImageMetadata())) + using (var image = new Image(Configuration.Default, converter.GetPixelBuffer(CancellationToken.None), new ImageMetadata())) using (Image referenceImage = provider.GetReferenceOutputImage(appendPixelTypeToFileName: false)) { ImageSimilarityReport report = ImageComparer.Exact.CompareImagesOrFrames(referenceImage, image); diff --git a/tests/ImageSharp.Tests/Formats/Jpg/Utils/LibJpegTools.ComponentData.cs b/tests/ImageSharp.Tests/Formats/Jpg/Utils/LibJpegTools.ComponentData.cs index a390212d1..f3335fe30 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/Utils/LibJpegTools.ComponentData.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/Utils/LibJpegTools.ComponentData.cs @@ -26,11 +26,13 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg.Utils this.SpectralBlocks = Configuration.Default.MemoryAllocator.Allocate2D(this.WidthInBlocks, this.HeightInBlocks); } - public Size Size => new Size(this.WidthInBlocks, this.HeightInBlocks); + public byte Id { get; } + + public Size Size => new(this.WidthInBlocks, this.HeightInBlocks); public int Index { get; } - public Size SizeInBlocks => new Size(this.WidthInBlocks, this.HeightInBlocks); + public Size SizeInBlocks => new(this.WidthInBlocks, this.HeightInBlocks); public Size SamplingFactors => throw new NotSupportedException(); @@ -48,6 +50,16 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg.Utils public short MaxVal { get; private set; } = short.MinValue; + public int HorizontalSamplingFactor => throw new NotImplementedException(); + + public int VerticalSamplingFactor => throw new NotImplementedException(); + + public int DcPredictor { get; set; } + + public int DcTableId { get; set; } + + public int AcTableId { get; set; } + internal void MakeBlock(Block8x8 block, int y, int x) { block.TransposeInplace(); @@ -77,7 +89,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg.Utils } } - public void LoadSpectral(JpegComponent c) + public void LoadSpectral(IJpegComponent c) { Buffer2D data = c.SpectralBlocks; for (int y = 0; y < this.HeightInBlocks; y++) @@ -201,25 +213,19 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg.Utils return this.Equals((ComponentData)obj); } - public override int GetHashCode() - { - return HashCode.Combine(this.Index, this.HeightInBlocks, this.WidthInBlocks, this.MinVal, this.MaxVal); - } + public override int GetHashCode() => HashCode.Combine(this.Index, this.HeightInBlocks, this.WidthInBlocks, this.MinVal, this.MaxVal); - public ref Block8x8 GetBlockReference(int column, int row) - { - throw new NotImplementedException(); - } + public ref Block8x8 GetBlockReference(int column, int row) => throw new NotImplementedException(); - public static bool operator ==(ComponentData left, ComponentData right) - { - return object.Equals(left, right); - } + public void Init(int maxSubFactorH, int maxSubFactorV) => throw new NotImplementedException(); - public static bool operator !=(ComponentData left, ComponentData right) - { - return !object.Equals(left, right); - } + public void AllocateSpectral(bool fullScan) => throw new NotImplementedException(); + + public void Dispose() => throw new NotImplementedException(); + + public static bool operator ==(ComponentData left, ComponentData right) => Equals(left, right); + + public static bool operator !=(ComponentData left, ComponentData right) => !Equals(left, right); } } } diff --git a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs index 29d1cbdc5..e90a1e8d8 100644 --- a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs @@ -273,7 +273,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tiff [Theory] [WithFile(Rgba6BitAssociatedAlpha, PixelTypes.Rgba32)] - public void TiffDecoder_CanDecode_24Bit_WithAssociatedAlpha(TestImageProvider provider) + public void TiffDecoder_CanDecode_24Bit_WithAssociatedAlpha(TestImageProvider provider) where TPixel : unmanaged, IPixel { if (TestEnvironment.IsOSX) diff --git a/tests/ImageSharp.Tests/Image/ImageTests.Decode_Cancellation.cs b/tests/ImageSharp.Tests/Image/ImageTests.Decode_Cancellation.cs index 317a5129c..831913844 100644 --- a/tests/ImageSharp.Tests/Image/ImageTests.Decode_Cancellation.cs +++ b/tests/ImageSharp.Tests/Image/ImageTests.Decode_Cancellation.cs @@ -124,7 +124,7 @@ namespace SixLabors.ImageSharp.Tests this.continueSemaphore.Release(); } - protected override Stream CreateStream() => this.TestFormat.CreateAsyncSamaphoreStream(this.notifyWaitPositionReachedSemaphore, this.continueSemaphore, this.isTestStreamSeekable); + protected override Stream CreateStream() => this.TestFormat.CreateAsyncSemaphoreStream(this.notifyWaitPositionReachedSemaphore, this.continueSemaphore, this.isTestStreamSeekable); } } } diff --git a/tests/ImageSharp.Tests/TestFormat.cs b/tests/ImageSharp.Tests/TestFormat.cs index efe958552..32da06901 100644 --- a/tests/ImageSharp.Tests/TestFormat.cs +++ b/tests/ImageSharp.Tests/TestFormat.cs @@ -24,7 +24,7 @@ namespace SixLabors.ImageSharp.Tests // We should not change Configuration.Default in individual tests! // Create new configuration instances with new Configuration(TestFormat.GlobalTestFormat) instead! - public static TestFormat GlobalTestFormat { get; } = new TestFormat(); + public static TestFormat GlobalTestFormat { get; } = new(); public TestFormat() { @@ -32,7 +32,7 @@ namespace SixLabors.ImageSharp.Tests this.Decoder = new TestDecoder(this); } - public List DecodeCalls { get; } = new List(); + public List DecodeCalls { get; } = new(); public TestEncoder Encoder { get; } @@ -54,12 +54,12 @@ namespace SixLabors.ImageSharp.Tests return ms; } - public Stream CreateAsyncSamaphoreStream(SemaphoreSlim notifyWaitPositionReachedSemaphore, SemaphoreSlim continueSemaphore, bool seeakable, int size = 1024, int waitAfterPosition = 512) + public Stream CreateAsyncSemaphoreStream(SemaphoreSlim notifyWaitPositionReachedSemaphore, SemaphoreSlim continueSemaphore, bool seeakable, int size = 1024, int waitAfterPosition = 512) { var buffer = new byte[size]; this.header.CopyTo(buffer, 0); var semaphoreStream = new SemaphoreReadMemoryStream(buffer, waitAfterPosition, notifyWaitPositionReachedSemaphore, continueSemaphore); - return seeakable ? (Stream)semaphoreStream : new AsyncStreamWrapper(semaphoreStream, () => false); + return seeakable ? semaphoreStream : new AsyncStreamWrapper(semaphoreStream, () => false); } public void VerifySpecificDecodeCall(byte[] marker, Configuration config) @@ -191,20 +191,14 @@ namespace SixLabors.ImageSharp.Tests return null; } - public TestHeader(TestFormat testFormat) - { - this.testFormat = testFormat; - } + public TestHeader(TestFormat testFormat) => this.testFormat = testFormat; } public class TestDecoder : IImageDecoder, IImageInfoDetector { private readonly TestFormat testFormat; - public TestDecoder(TestFormat testFormat) - { - this.testFormat = testFormat; - } + public TestDecoder(TestFormat testFormat) => this.testFormat = testFormat; public IEnumerable MimeTypes => new[] { this.testFormat.MimeType }; @@ -216,7 +210,6 @@ namespace SixLabors.ImageSharp.Tests where TPixel : unmanaged, IPixel => this.DecodeImpl(configuration, stream); - private Image DecodeImpl(Configuration config, Stream stream) where TPixel : unmanaged, IPixel { @@ -246,10 +239,7 @@ namespace SixLabors.ImageSharp.Tests { private readonly TestFormat testFormat; - public TestEncoder(TestFormat testFormat) - { - this.testFormat = testFormat; - } + public TestEncoder(TestFormat testFormat) => this.testFormat = testFormat; public IEnumerable MimeTypes => new[] { this.testFormat.MimeType }; @@ -262,16 +252,12 @@ namespace SixLabors.ImageSharp.Tests } public Task EncodeAsync(Image image, Stream stream, CancellationToken cancellationToken) - where TPixel : unmanaged, IPixel - { - // TODO record this happened so we can verify it. - return Task.CompletedTask; - } + where TPixel : unmanaged, IPixel => Task.CompletedTask; // TODO record this happened so we can verify it. } public struct TestPixelForAgnosticDecode : IPixel { - public PixelOperations CreatePixelOperations() => new PixelOperations(); + public PixelOperations CreatePixelOperations() => new(); public void FromScaledVector4(Vector4 vector) { From c988208b4fbb9a5196385d1b85496c2205fbce52 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Thu, 24 Mar 2022 17:28:54 +0100 Subject: [PATCH 182/244] Add tests for arithmetic coding --- .../Jpeg/Components/Decoder/JpegBitReader.cs | 3 +-- .../Formats/Jpeg/JpegDecoderCore.cs | 27 +++++++++++++++++-- .../Formats/Jpg/JpegDecoderTests.Baseline.cs | 16 ++++++++++- .../Formats/Jpg/JpegDecoderTests.Images.cs | 4 --- .../Jpg/JpegDecoderTests.Progressive.cs | 12 +++++++++ .../Formats/Jpg/JpegDecoderTests.cs | 4 ++- .../Formats/Jpg/SpectralJpegTests.cs | 1 - tests/ImageSharp.Tests/TestImages.cs | 11 ++++++-- .../Calliphora-arithmetic-grayscale.jpg | 3 +++ .../Calliphora-arithmetic-interleaved.jpg | 3 +++ .../Calliphora-arithmetic-restart.jpg | 3 +++ .../Jpg/baseline/Calliphora_arithmetic.jpg | 3 +++ ...ora-arithmetic-progressive-interleaved.jpg | 3 +++ 13 files changed, 80 insertions(+), 13 deletions(-) create mode 100644 tests/Images/Input/Jpg/baseline/Calliphora-arithmetic-grayscale.jpg create mode 100644 tests/Images/Input/Jpg/baseline/Calliphora-arithmetic-interleaved.jpg create mode 100644 tests/Images/Input/Jpg/baseline/Calliphora-arithmetic-restart.jpg create mode 100644 tests/Images/Input/Jpg/baseline/Calliphora_arithmetic.jpg create mode 100644 tests/Images/Input/Jpg/progressive/Calliphora-arithmetic-progressive-interleaved.jpg diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegBitReader.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegBitReader.cs index 76bb2b445..84013319e 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegBitReader.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegBitReader.cs @@ -117,8 +117,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder public int Receive(int nbits) { this.CheckBits(); - int bits = Extend(this.GetBits(nbits), nbits); - return bits; + return Extend(this.GetBits(nbits), nbits); } [MethodImpl(InliningOptions.ShortMethod)] diff --git a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs index c87869ee5..979c3ca7b 100644 --- a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs +++ b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs @@ -105,6 +105,11 @@ namespace SixLabors.ImageSharp.Formats.Jpeg /// private List arithmeticDecodingTables; + /// + /// The restart interval. + /// + private int? resetInterval; + /// /// Initializes a new instance of the class. /// @@ -292,6 +297,8 @@ namespace SixLabors.ImageSharp.Formats.Jpeg { bool metadataOnly = spectralConverter == null; + this.scanDecoder = new HuffmanScanDecoder(stream, spectralConverter, cancellationToken); + this.Metadata = new ImageMetadata(); // Check for the Start Of Image marker. @@ -324,7 +331,6 @@ namespace SixLabors.ImageSharp.Formats.Jpeg case JpegConstants.Markers.SOF0: case JpegConstants.Markers.SOF1: case JpegConstants.Markers.SOF2: - this.scanDecoder = new HuffmanScanDecoder(stream, spectralConverter, cancellationToken); this.ProcessStartOfFrameMarker(stream, remaining, fileMarker, ComponentType.Huffman, metadataOnly); break; @@ -333,6 +339,11 @@ namespace SixLabors.ImageSharp.Formats.Jpeg case JpegConstants.Markers.SOF13: case JpegConstants.Markers.SOF14: this.scanDecoder = new ArithmeticScanDecoder(stream, spectralConverter, cancellationToken); + if (this.resetInterval.HasValue) + { + this.scanDecoder.ResetInterval = this.resetInterval.Value; + } + this.ProcessStartOfFrameMarker(stream, remaining, fileMarker, ComponentType.Arithmetic, metadataOnly); break; @@ -871,6 +882,11 @@ namespace SixLabors.ImageSharp.Formats.Jpeg } } + /// + /// Processes a DAC marker, decoding the arithmetic tables. + /// + /// The input stream. + /// The remaining bytes in the segment block. private void ProcessArithmeticTable(BufferedReadStream stream, int remaining) { this.arithmeticDecodingTables ??= new List(4); @@ -1297,7 +1313,14 @@ namespace SixLabors.ImageSharp.Formats.Jpeg JpegThrowHelper.ThrowBadMarker(nameof(JpegConstants.Markers.DRI), remaining); } - this.scanDecoder.ResetInterval = this.ReadUint16(stream); + // Save the reset interval, because it can come before or after the SOF marker. + // If the reset interval comes after the SOF marker, the scanDecoder has not been created. + this.resetInterval = this.ReadUint16(stream); + + if (this.scanDecoder != null) + { + this.scanDecoder.ResetInterval = this.resetInterval.Value; + } } /// diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Baseline.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Baseline.cs index 021e3d272..9aaf2b968 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Baseline.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Baseline.cs @@ -3,7 +3,7 @@ using SixLabors.ImageSharp.PixelFormats; using SixLabors.ImageSharp.Tests.TestUtilities; - +using SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison; using Xunit; // ReSharper disable InconsistentNaming @@ -49,6 +49,20 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg // .Dispose(); } + [Theory] + [WithFile(TestImages.Jpeg.Baseline.ArithmeticCoding01, PixelTypes.Rgb24)] + [WithFile(TestImages.Jpeg.Baseline.ArithmeticCoding02, PixelTypes.Rgb24)] + [WithFile(TestImages.Jpeg.Baseline.ArithmeticCodingGray, PixelTypes.Rgb24)] + [WithFile(TestImages.Jpeg.Baseline.ArithmeticCodingInterleaved, PixelTypes.Rgb24)] + [WithFile(TestImages.Jpeg.Baseline.ArithmeticCodingWithRestart, PixelTypes.Rgb24)] + public void DecodeJpeg_WithArithmeticCoding(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + using Image image = provider.GetImage(JpegDecoder); + image.DebugSave(provider); + image.CompareToOriginal(provider, ImageComparer.Tolerant(0.002f), ReferenceDecoder); + } + [Theory] [WithFileCollection(nameof(UnrecoverableTestJpegs), PixelTypes.Rgba32)] public void UnrecoverableImage_Throws_InvalidImageContentException(TestImageProvider provider) diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs index 70cbc3af7..8db3f062f 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs @@ -72,10 +72,6 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg TestImages.Jpeg.Issues.Fuzz.NullReferenceException823, TestImages.Jpeg.Issues.MalformedUnsupportedComponentCount, - // Arithmetic coding - TestImages.Jpeg.Baseline.ArithmeticCoding, - TestImages.Jpeg.Baseline.ArithmeticCodingProgressive, - // Lossless jpeg TestImages.Jpeg.Baseline.Lossless }; diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Progressive.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Progressive.cs index e8533b9bc..30e5da4ef 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Progressive.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Progressive.cs @@ -4,6 +4,7 @@ using Microsoft.DotNet.RemoteExecutor; using SixLabors.ImageSharp.PixelFormats; using SixLabors.ImageSharp.Tests.TestUtilities; +using SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison; using Xunit; // ReSharper disable InconsistentNaming @@ -29,6 +30,17 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg appendPixelTypeToFileName: false); } + [Theory] + [WithFile(TestImages.Jpeg.Baseline.ArithmeticCodingProgressive01, PixelTypes.Rgb24)] + [WithFile(TestImages.Jpeg.Baseline.ArithmeticCodingProgressive02, PixelTypes.Rgb24)] + public void DecodeProgressiveJpeg_WithArithmeticCoding(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + using Image image = provider.GetImage(JpegDecoder); + image.DebugSave(provider); + image.CompareToOriginal(provider, ImageComparer.Tolerant(0.004f), ReferenceDecoder); + } + [Theory] [WithFile(TestImages.Jpeg.Progressive.Progress, PixelTypes.Rgb24)] public void DecodeProgressiveJpeg_WithLimitedAllocatorBufferCapacity(TestImageProvider provider) diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs index faf40ccf7..497479096 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs @@ -13,7 +13,7 @@ using SixLabors.ImageSharp.PixelFormats; using SixLabors.ImageSharp.Tests.Formats.Jpg.Utils; using SixLabors.ImageSharp.Tests.TestUtilities; using SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison; - +using SixLabors.ImageSharp.Tests.TestUtilities.ReferenceCodecs; using Xunit; using Xunit.Abstractions; @@ -24,6 +24,8 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg [Trait("Format", "Jpg")] public partial class JpegDecoderTests { + private static MagickReferenceDecoder ReferenceDecoder => new(); + public const PixelTypes CommonNonDefaultPixelTypes = PixelTypes.Rgba32 | PixelTypes.Argb32 | PixelTypes.Bgr24 | PixelTypes.RgbaVector; private const float BaselineTolerance = 0.001F / 100; diff --git a/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs index 6480c47d0..c4a448ff8 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/SpectralJpegTests.cs @@ -85,7 +85,6 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg // internal scan decoder which we substitute to assert spectral correctness var debugConverter = new DebugSpectralConverter(); - var scanDecoder = new HuffmanScanDecoder(bufferedStream, debugConverter, cancellationToken: default); // This would parse entire image decoder.ParseStream(bufferedStream, debugConverter, cancellationToken: default); diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index 07aff6fc1..060ed3f32 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -214,14 +214,21 @@ namespace SixLabors.ImageSharp.Tests public const string App13WithEmptyIptc = "Jpg/baseline/iptc-psAPP13-wIPTCempty.jpg"; public const string HistogramEqImage = "Jpg/baseline/640px-Unequalized_Hawkes_Bay_NZ.jpg"; public const string ForestBridgeDifferentComponentsQuality = "Jpg/baseline/forest_bridge.jpg"; - public const string ArithmeticCoding = "Jpg/baseline/arithmetic_coding.jpg"; - public const string ArithmeticCodingProgressive = "Jpg/progressive/arithmetic_progressive.jpg"; public const string Lossless = "Jpg/baseline/lossless.jpg"; public const string Winter444_Interleaved = "Jpg/baseline/winter444_interleaved.jpg"; public const string Metadata = "Jpg/baseline/Metadata-test-file.jpg"; public const string ExtendedXmp = "Jpg/baseline/extended-xmp.jpg"; public const string GrayscaleSampling2x2 = "Jpg/baseline/grayscale_sampling22.jpg"; + // Jpeg's with arithmetic coding. + public const string ArithmeticCoding01 = "Jpg/baseline/Calliphora_arithmetic.jpg"; + public const string ArithmeticCoding02 = "Jpg/baseline/arithmetic_coding.jpg"; + public const string ArithmeticCodingProgressive01 = "Jpg/progressive/arithmetic_progressive.jpg"; + public const string ArithmeticCodingProgressive02 = "Jpg/progressive/Calliphora-arithmetic-progressive-interleaved.jpg"; + public const string ArithmeticCodingGray = "Jpg/baseline/Calliphora-arithmetic-grayscale.jpg"; + public const string ArithmeticCodingInterleaved = "Jpg/baseline/Calliphora-arithmetic-interleaved.jpg"; + public const string ArithmeticCodingWithRestart = "Jpg/baseline/Calliphora-arithmetic-restart.jpg"; + public static readonly string[] All = { Cmyk, Ycck, Exif, Floorplan, diff --git a/tests/Images/Input/Jpg/baseline/Calliphora-arithmetic-grayscale.jpg b/tests/Images/Input/Jpg/baseline/Calliphora-arithmetic-grayscale.jpg new file mode 100644 index 000000000..59256be59 --- /dev/null +++ b/tests/Images/Input/Jpg/baseline/Calliphora-arithmetic-grayscale.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c5800857969f25773606ecb63154a7fee60b831f13932dc845e50276bac11b16 +size 177311 diff --git a/tests/Images/Input/Jpg/baseline/Calliphora-arithmetic-interleaved.jpg b/tests/Images/Input/Jpg/baseline/Calliphora-arithmetic-interleaved.jpg new file mode 100644 index 000000000..9dc93473d --- /dev/null +++ b/tests/Images/Input/Jpg/baseline/Calliphora-arithmetic-interleaved.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09bb5d75c3ca9d92d6e6489611f1d9b9815aaec70a16027f4ca17e371aa69e6e +size 234032 diff --git a/tests/Images/Input/Jpg/baseline/Calliphora-arithmetic-restart.jpg b/tests/Images/Input/Jpg/baseline/Calliphora-arithmetic-restart.jpg new file mode 100644 index 000000000..5ba56de1a --- /dev/null +++ b/tests/Images/Input/Jpg/baseline/Calliphora-arithmetic-restart.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ad547d0de50d1d623a49dc7794838c6d35372ea3fe4bda06365ff8b42daf65bf +size 234225 diff --git a/tests/Images/Input/Jpg/baseline/Calliphora_arithmetic.jpg b/tests/Images/Input/Jpg/baseline/Calliphora_arithmetic.jpg new file mode 100644 index 000000000..9dc93473d --- /dev/null +++ b/tests/Images/Input/Jpg/baseline/Calliphora_arithmetic.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:09bb5d75c3ca9d92d6e6489611f1d9b9815aaec70a16027f4ca17e371aa69e6e +size 234032 diff --git a/tests/Images/Input/Jpg/progressive/Calliphora-arithmetic-progressive-interleaved.jpg b/tests/Images/Input/Jpg/progressive/Calliphora-arithmetic-progressive-interleaved.jpg new file mode 100644 index 000000000..91879221c --- /dev/null +++ b/tests/Images/Input/Jpg/progressive/Calliphora-arithmetic-progressive-interleaved.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd688e22840892d7fd511782f3ff7043df1a3131fb17b000c6a3ca1d0e069950 +size 228527 From 223b665fc6520e5a8eff6394fa6fba28ef17fdcb Mon Sep 17 00:00:00 2001 From: Ynse Hoornenborg Date: Fri, 25 Mar 2022 12:25:50 +0100 Subject: [PATCH 183/244] Apply BorderWrappingMode to Gaussian Blur/Sharpen and BoxBlur --- .../Convolution/BoxBlurExtensions.cs | 21 +++++++++ .../Convolution/GaussianBlurExtensions.cs | 21 +++++++++ .../Convolution/GaussianSharpenExtensions.cs | 21 +++++++++ .../Convolution/BoxBlurProcessor.cs | 29 +++++++++++- .../Convolution/BoxBlurProcessor{TPixel}.cs | 36 ++++++++++++++- .../Convolution2PassProcessor{TPixel}.cs | 20 +++++++- .../Convolution/GaussianBlurProcessor.cs | 46 ++++++++++++++++++- .../GaussianBlurProcessor{TPixel}.cs | 36 ++++++++++++++- .../Convolution/GaussianSharpenProcessor.cs | 46 ++++++++++++++++++- .../GaussianSharpenProcessor{TPixel}.cs | 36 ++++++++++++++- 10 files changed, 302 insertions(+), 10 deletions(-) diff --git a/src/ImageSharp/Processing/Extensions/Convolution/BoxBlurExtensions.cs b/src/ImageSharp/Processing/Extensions/Convolution/BoxBlurExtensions.cs index f891ffa97..a7f93e23e 100644 --- a/src/ImageSharp/Processing/Extensions/Convolution/BoxBlurExtensions.cs +++ b/src/ImageSharp/Processing/Extensions/Convolution/BoxBlurExtensions.cs @@ -39,5 +39,26 @@ namespace SixLabors.ImageSharp.Processing /// The to allow chaining of operations. public static IImageProcessingContext BoxBlur(this IImageProcessingContext source, int radius, Rectangle rectangle) => source.ApplyProcessor(new BoxBlurProcessor(radius), rectangle); + + /// + /// Applies a box blur to the image. + /// + /// The image this method extends. + /// The 'radius' value representing the size of the area to sample. + /// + /// The structure that specifies the portion of the image object to alter. + /// + /// + /// The to use when mapping the pixels outside of the border, in X direction. + /// + /// + /// The to use when mapping the pixels outside of the border, in Y direction. + /// + /// The to allow chaining of operations. + public static IImageProcessingContext BoxBlur(this IImageProcessingContext source, int radius, Rectangle rectangle, BorderWrappingMode borderWrapModeX, BorderWrappingMode borderWrapModeY) + { + var processor = new BoxBlurProcessor(radius, borderWrapModeX, borderWrapModeY); + return source.ApplyProcessor(processor, rectangle); + } } } diff --git a/src/ImageSharp/Processing/Extensions/Convolution/GaussianBlurExtensions.cs b/src/ImageSharp/Processing/Extensions/Convolution/GaussianBlurExtensions.cs index bd4fb716d..49af591e9 100644 --- a/src/ImageSharp/Processing/Extensions/Convolution/GaussianBlurExtensions.cs +++ b/src/ImageSharp/Processing/Extensions/Convolution/GaussianBlurExtensions.cs @@ -39,5 +39,26 @@ namespace SixLabors.ImageSharp.Processing /// The to allow chaining of operations. public static IImageProcessingContext GaussianBlur(this IImageProcessingContext source, float sigma, Rectangle rectangle) => source.ApplyProcessor(new GaussianBlurProcessor(sigma), rectangle); + + /// + /// Applies a Gaussian blur to the image. + /// + /// The image this method extends. + /// The 'sigma' value representing the weight of the blur. + /// + /// The structure that specifies the portion of the image object to alter. + /// + /// + /// The to use when mapping the pixels outside of the border, in X direction. + /// + /// + /// The to use when mapping the pixels outside of the border, in Y direction. + /// + /// The to allow chaining of operations. + public static IImageProcessingContext GaussianBlur(this IImageProcessingContext source, float sigma, Rectangle rectangle, BorderWrappingMode borderWrapModeX, BorderWrappingMode borderWrapModeY) + { + var processor = new GaussianBlurProcessor(sigma, borderWrapModeX, borderWrapModeY); + return source.ApplyProcessor(processor, rectangle); + } } } diff --git a/src/ImageSharp/Processing/Extensions/Convolution/GaussianSharpenExtensions.cs b/src/ImageSharp/Processing/Extensions/Convolution/GaussianSharpenExtensions.cs index f5b8798f4..5ac9d6909 100644 --- a/src/ImageSharp/Processing/Extensions/Convolution/GaussianSharpenExtensions.cs +++ b/src/ImageSharp/Processing/Extensions/Convolution/GaussianSharpenExtensions.cs @@ -42,5 +42,26 @@ namespace SixLabors.ImageSharp.Processing float sigma, Rectangle rectangle) => source.ApplyProcessor(new GaussianSharpenProcessor(sigma), rectangle); + + /// + /// Applies a Gaussian sharpening filter to the image. + /// + /// The image this method extends. + /// The 'sigma' value representing the weight of the blur. + /// + /// The structure that specifies the portion of the image object to alter. + /// + /// + /// The to use when mapping the pixels outside of the border, in X direction. + /// + /// + /// The to use when mapping the pixels outside of the border, in Y direction. + /// + /// The to allow chaining of operations. + public static IImageProcessingContext GaussianSharpen(this IImageProcessingContext source, float sigma, Rectangle rectangle, BorderWrappingMode borderWrapModeX, BorderWrappingMode borderWrapModeY) + { + var processor = new GaussianSharpenProcessor(sigma, borderWrapModeX, borderWrapModeY); + return source.ApplyProcessor(processor, rectangle); + } } } diff --git a/src/ImageSharp/Processing/Processors/Convolution/BoxBlurProcessor.cs b/src/ImageSharp/Processing/Processors/Convolution/BoxBlurProcessor.cs index da6b96718..a622739fd 100644 --- a/src/ImageSharp/Processing/Processors/Convolution/BoxBlurProcessor.cs +++ b/src/ImageSharp/Processing/Processors/Convolution/BoxBlurProcessor.cs @@ -21,9 +21,24 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution /// /// The 'radius' value representing the size of the area to sample. /// - public BoxBlurProcessor(int radius) + /// The to use when mapping the pixels outside of the border, in X direction. + /// The to use when mapping the pixels outside of the border, in Y direction. + public BoxBlurProcessor(int radius, BorderWrappingMode borderWrapModeX, BorderWrappingMode borderWrapModeY) { this.Radius = radius; + this.BorderWrapModeX = borderWrapModeX; + this.BorderWrapModeY = borderWrapModeY; + } + + /// + /// Initializes a new instance of the class. + /// + /// + /// The 'radius' value representing the size of the area to sample. + /// + public BoxBlurProcessor(int radius) + : this(radius, BorderWrappingMode.Repeat, BorderWrappingMode.Repeat) + { } /// @@ -39,9 +54,19 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution /// public int Radius { get; } + /// + /// Gets the to use when mapping the pixels outside of the border, in X direction. + /// + public BorderWrappingMode BorderWrapModeX { get; } + + /// + /// Gets the to use when mapping the pixels outside of the border, in Y direction. + /// + public BorderWrappingMode BorderWrapModeY { get; } + /// public IImageProcessor CreatePixelSpecificProcessor(Configuration configuration, Image source, Rectangle sourceRectangle) where TPixel : unmanaged, IPixel - => new BoxBlurProcessor(configuration, this, source, sourceRectangle); + => new BoxBlurProcessor(configuration, this, source, sourceRectangle, this.BorderWrapModeX, this.BorderWrapModeY); } } diff --git a/src/ImageSharp/Processing/Processors/Convolution/BoxBlurProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Convolution/BoxBlurProcessor{TPixel}.cs index 5beadb0ce..ceebdf15a 100644 --- a/src/ImageSharp/Processing/Processors/Convolution/BoxBlurProcessor{TPixel}.cs +++ b/src/ImageSharp/Processing/Processors/Convolution/BoxBlurProcessor{TPixel}.cs @@ -27,15 +27,49 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution this.Kernel = CreateBoxKernel(kernelSize); } + /// + /// Initializes a new instance of the class. + /// + /// The configuration which allows altering default behaviour or extending the library. + /// The defining the processor parameters. + /// The source for the current processor instance. + /// The source area to process for the current processor instance. + /// The to use when mapping the pixels outside of the border, in X direction. + /// The to use when mapping the pixels outside of the border, in Y direction. + public BoxBlurProcessor( + Configuration configuration, + BoxBlurProcessor definition, + Image source, + Rectangle sourceRectangle, + BorderWrappingMode borderWrapModeX, + BorderWrappingMode borderWrapModeY) + : base(configuration, source, sourceRectangle) + { + int kernelSize = (definition.Radius * 2) + 1; + this.Kernel = CreateBoxKernel(kernelSize); + this.BorderWrapModeX = borderWrapModeX; + this.BorderWrapModeY = borderWrapModeY; + } + /// /// Gets the 1D convolution kernel. /// public float[] Kernel { get; } + /// + /// Gets the to use when mapping the pixels outside of the border, in X direction. + /// + public BorderWrappingMode BorderWrapModeX { get; } + + /// + /// Gets the to use when mapping the pixels outside of the border, in Y direction. + /// + public BorderWrappingMode BorderWrapModeY { get; } + /// protected override void OnFrameApply(ImageFrame source) { - using var processor = new Convolution2PassProcessor(this.Configuration, this.Kernel, false, this.Source, this.SourceRectangle); + using var processor = new Convolution2PassProcessor(this.Configuration, this.Kernel, false, this.Source, this.SourceRectangle, this.BorderWrapModeX, this.BorderWrapModeY); processor.Apply(source); } diff --git a/src/ImageSharp/Processing/Processors/Convolution/Convolution2PassProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Convolution/Convolution2PassProcessor{TPixel}.cs index fa58422dc..2fc0a5fe8 100644 --- a/src/ImageSharp/Processing/Processors/Convolution/Convolution2PassProcessor{TPixel}.cs +++ b/src/ImageSharp/Processing/Processors/Convolution/Convolution2PassProcessor{TPixel}.cs @@ -26,16 +26,22 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution /// Whether the convolution filter is applied to alpha as well as the color channels. /// The source for the current processor instance. /// The source area to process for the current processor instance. + /// The to use when mapping the pixels outside of the border, in X direction. + /// The to use when mapping the pixels outside of the border, in Y direction. public Convolution2PassProcessor( Configuration configuration, float[] kernel, bool preserveAlpha, Image source, - Rectangle sourceRectangle) + Rectangle sourceRectangle, + BorderWrappingMode borderWrapModeX, + BorderWrappingMode borderWrapModeY) : base(configuration, source, sourceRectangle) { this.Kernel = kernel; this.PreserveAlpha = preserveAlpha; + this.BorderWrapModeX = borderWrapModeX; + this.BorderWrapModeY = borderWrapModeY; } /// @@ -48,6 +54,16 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution /// public bool PreserveAlpha { get; } + /// + /// Gets the to use when mapping the pixels outside of the border, in X direction. + /// + public BorderWrappingMode BorderWrapModeX { get; } + + /// + /// Gets the to use when mapping the pixels outside of the border, in Y direction. + /// + public BorderWrappingMode BorderWrapModeY { get; } + /// protected override void OnFrameApply(ImageFrame source) { @@ -63,7 +79,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution // the two 1D kernels represent, and reuse it across both convolution steps, like in the bokeh blur. using var mapXY = new KernelSamplingMap(this.Configuration.MemoryAllocator); - mapXY.BuildSamplingOffsetMap(this.Kernel.Length, this.Kernel.Length, interest); + mapXY.BuildSamplingOffsetMap(this.Kernel.Length, this.Kernel.Length, interest, this.BorderWrapModeX, this.BorderWrapModeY); // Horizontal convolution var horizontalOperation = new HorizontalConvolutionRowOperation( diff --git a/src/ImageSharp/Processing/Processors/Convolution/GaussianBlurProcessor.cs b/src/ImageSharp/Processing/Processors/Convolution/GaussianBlurProcessor.cs index 1fa65b62c..3af9791dc 100644 --- a/src/ImageSharp/Processing/Processors/Convolution/GaussianBlurProcessor.cs +++ b/src/ImageSharp/Processing/Processors/Convolution/GaussianBlurProcessor.cs @@ -32,6 +32,17 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution { } + /// + /// Initializes a new instance of the class. + /// + /// The 'sigma' value representing the weight of the blur. + /// The to use when mapping the pixels outside of the border, in X direction. + /// The to use when mapping the pixels outside of the border, in Y direction. + public GaussianBlurProcessor(float sigma, BorderWrappingMode borderWrapModeX, BorderWrappingMode borderWrapModeY) + : this(sigma, ConvolutionProcessorHelpers.GetDefaultGaussianRadius(sigma), borderWrapModeX, borderWrapModeY) + { + } + /// /// Initializes a new instance of the class. /// @@ -54,9 +65,32 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution /// This should be at least twice the sigma value. /// public GaussianBlurProcessor(float sigma, int radius) + : this(sigma, radius, BorderWrappingMode.Repeat, BorderWrappingMode.Repeat) + { + } + + /// + /// Initializes a new instance of the class. + /// + /// + /// The 'sigma' value representing the weight of the blur. + /// + /// + /// The 'radius' value representing the size of the area to sample. + /// This should be at least twice the sigma value. + /// + /// + /// The to use when mapping the pixels outside of the border, in X direction. + /// + /// + /// The to use when mapping the pixels outside of the border, in Y direction. + /// + public GaussianBlurProcessor(float sigma, int radius, BorderWrappingMode borderWrapModeX, BorderWrappingMode borderWrapModeY) { this.Sigma = sigma; this.Radius = radius; + this.BorderWrapModeX = borderWrapModeX; + this.BorderWrapModeY = borderWrapModeY; } /// @@ -69,9 +103,19 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution /// public int Radius { get; } + /// + /// Gets the to use when mapping the pixels outside of the border, in X direction. + /// + public BorderWrappingMode BorderWrapModeX { get; } + + /// + /// Gets the to use when mapping the pixels outside of the border, in Y direction. + /// + public BorderWrappingMode BorderWrapModeY { get; } + /// public IImageProcessor CreatePixelSpecificProcessor(Configuration configuration, Image source, Rectangle sourceRectangle) where TPixel : unmanaged, IPixel - => new GaussianBlurProcessor(configuration, this, source, sourceRectangle); + => new GaussianBlurProcessor(configuration, this, source, sourceRectangle, this.BorderWrapModeX, this.BorderWrapModeY); } } diff --git a/src/ImageSharp/Processing/Processors/Convolution/GaussianBlurProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Convolution/GaussianBlurProcessor{TPixel}.cs index 4ade01f91..16b05b8bb 100644 --- a/src/ImageSharp/Processing/Processors/Convolution/GaussianBlurProcessor{TPixel}.cs +++ b/src/ImageSharp/Processing/Processors/Convolution/GaussianBlurProcessor{TPixel}.cs @@ -30,15 +30,49 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution this.Kernel = ConvolutionProcessorHelpers.CreateGaussianBlurKernel(kernelSize, definition.Sigma); } + /// + /// Initializes a new instance of the class. + /// + /// The configuration which allows altering default behaviour or extending the library. + /// The defining the processor parameters. + /// The source for the current processor instance. + /// The source area to process for the current processor instance. + /// The to use when mapping the pixels outside of the border, in X direction. + /// The to use when mapping the pixels outside of the border, in Y direction. + public GaussianBlurProcessor( + Configuration configuration, + GaussianBlurProcessor definition, + Image source, + Rectangle sourceRectangle, + BorderWrappingMode borderWrapModeX, + BorderWrappingMode borderWrapModeY) + : base(configuration, source, sourceRectangle) + { + int kernelSize = (definition.Radius * 2) + 1; + this.Kernel = ConvolutionProcessorHelpers.CreateGaussianBlurKernel(kernelSize, definition.Sigma); + this.BorderWrapModeX = borderWrapModeX; + this.BorderWrapModeY = borderWrapModeY; + } + /// /// Gets the 1D convolution kernel. /// public float[] Kernel { get; } + /// + /// Gets the to use when mapping the pixels outside of the border, in X direction. + /// + public BorderWrappingMode BorderWrapModeX { get; } + + /// + /// Gets the to use when mapping the pixels outside of the border, in Y direction. + /// + public BorderWrappingMode BorderWrapModeY { get; } + /// protected override void OnFrameApply(ImageFrame source) { - using var processor = new Convolution2PassProcessor(this.Configuration, this.Kernel, false, this.Source, this.SourceRectangle); + using var processor = new Convolution2PassProcessor(this.Configuration, this.Kernel, false, this.Source, this.SourceRectangle, this.BorderWrapModeX, this.BorderWrapModeY); processor.Apply(source); } diff --git a/src/ImageSharp/Processing/Processors/Convolution/GaussianSharpenProcessor.cs b/src/ImageSharp/Processing/Processors/Convolution/GaussianSharpenProcessor.cs index 7e1f02906..98c897c21 100644 --- a/src/ImageSharp/Processing/Processors/Convolution/GaussianSharpenProcessor.cs +++ b/src/ImageSharp/Processing/Processors/Convolution/GaussianSharpenProcessor.cs @@ -32,6 +32,17 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution { } + /// + /// Initializes a new instance of the class. + /// + /// The 'sigma' value representing the weight of the blur. + /// The to use when mapping the pixels outside of the border, in X direction. + /// The to use when mapping the pixels outside of the border, in Y direction. + public GaussianSharpenProcessor(float sigma, BorderWrappingMode borderWrapModeX, BorderWrappingMode borderWrapModeY) + : this(sigma, ConvolutionProcessorHelpers.GetDefaultGaussianRadius(sigma), borderWrapModeX, borderWrapModeY) + { + } + /// /// Initializes a new instance of the class. /// @@ -54,9 +65,32 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution /// This should be at least twice the sigma value. /// public GaussianSharpenProcessor(float sigma, int radius) + : this(sigma, radius, BorderWrappingMode.Repeat, BorderWrappingMode.Repeat) + { + } + + /// + /// Initializes a new instance of the class. + /// + /// + /// The 'sigma' value representing the weight of the blur. + /// + /// + /// The 'radius' value representing the size of the area to sample. + /// This should be at least twice the sigma value. + /// + /// + /// The to use when mapping the pixels outside of the border, in X direction. + /// + /// + /// The to use when mapping the pixels outside of the border, in Y direction. + /// + public GaussianSharpenProcessor(float sigma, int radius, BorderWrappingMode borderWrapModeX, BorderWrappingMode borderWrapModeY) { this.Sigma = sigma; this.Radius = radius; + this.BorderWrapModeX = borderWrapModeX; + this.BorderWrapModeY = borderWrapModeY; } /// @@ -69,9 +103,19 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution /// public int Radius { get; } + /// + /// Gets the to use when mapping the pixels outside of the border, in X direction. + /// + public BorderWrappingMode BorderWrapModeX { get; } + + /// + /// Gets the to use when mapping the pixels outside of the border, in Y direction. + /// + public BorderWrappingMode BorderWrapModeY { get; } + /// public IImageProcessor CreatePixelSpecificProcessor(Configuration configuration, Image source, Rectangle sourceRectangle) where TPixel : unmanaged, IPixel - => new GaussianSharpenProcessor(configuration, this, source, sourceRectangle); + => new GaussianSharpenProcessor(configuration, this, source, sourceRectangle, this.BorderWrapModeX, this.BorderWrapModeY); } } diff --git a/src/ImageSharp/Processing/Processors/Convolution/GaussianSharpenProcessor{TPixel}.cs b/src/ImageSharp/Processing/Processors/Convolution/GaussianSharpenProcessor{TPixel}.cs index 73aaaec18..bddaab233 100644 --- a/src/ImageSharp/Processing/Processors/Convolution/GaussianSharpenProcessor{TPixel}.cs +++ b/src/ImageSharp/Processing/Processors/Convolution/GaussianSharpenProcessor{TPixel}.cs @@ -16,7 +16,7 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution /// Initializes a new instance of the class. /// /// The configuration which allows altering default behaviour or extending the library. - /// The defining the processor parameters. + /// The defining the processor parameters. /// The source for the current processor instance. /// The source area to process for the current processor instance. public GaussianSharpenProcessor( @@ -24,10 +24,32 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution GaussianSharpenProcessor definition, Image source, Rectangle sourceRectangle) + : this(configuration, definition, source, sourceRectangle, BorderWrappingMode.Repeat, BorderWrappingMode.Repeat) + { + } + + /// + /// Initializes a new instance of the class. + /// + /// The configuration which allows altering default behaviour or extending the library. + /// The defining the processor parameters. + /// The source for the current processor instance. + /// The source area to process for the current processor instance. + /// The to use when mapping the pixels outside of the border, in X direction. + /// The to use when mapping the pixels outside of the border, in Y direction. + public GaussianSharpenProcessor( + Configuration configuration, + GaussianSharpenProcessor definition, + Image source, + Rectangle sourceRectangle, + BorderWrappingMode borderWrapModeX, + BorderWrappingMode borderWrapModeY) : base(configuration, source, sourceRectangle) { int kernelSize = (definition.Radius * 2) + 1; this.Kernel = ConvolutionProcessorHelpers.CreateGaussianSharpenKernel(kernelSize, definition.Sigma); + this.BorderWrapModeX = borderWrapModeX; + this.BorderWrapModeY = borderWrapModeY; } /// @@ -35,10 +57,20 @@ namespace SixLabors.ImageSharp.Processing.Processors.Convolution /// public float[] Kernel { get; } + /// + /// Gets the to use when mapping the pixels outside of the border, in X direction. + /// + public BorderWrappingMode BorderWrapModeX { get; } + + /// + /// Gets the to use when mapping the pixels outside of the border, in Y direction. + /// + public BorderWrappingMode BorderWrapModeY { get; } + /// protected override void OnFrameApply(ImageFrame source) { - using var processor = new Convolution2PassProcessor(this.Configuration, this.Kernel, false, this.Source, this.SourceRectangle); + using var processor = new Convolution2PassProcessor(this.Configuration, this.Kernel, false, this.Source, this.SourceRectangle, this.BorderWrapModeX, this.BorderWrapModeY); processor.Apply(source); } From d3936e2d3ff5342df8723244bc89479048a598e3 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Sun, 27 Mar 2022 22:47:44 +1100 Subject: [PATCH 184/244] Add check for App1 XMP marker length --- src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs index ef4e3ffac..51e067575 100644 --- a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs +++ b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs @@ -722,7 +722,14 @@ namespace SixLabors.ImageSharp.Formats.Jpeg if (ProfileResolver.IsProfile(this.temp, ProfileResolver.XmpMarker.Slice(0, ExifMarkerLength))) { - int remainingXmpMarkerBytes = XmpMarkerLength - ExifMarkerLength; + const int remainingXmpMarkerBytes = XmpMarkerLength - ExifMarkerLength; + if (remaining < remainingXmpMarkerBytes || this.IgnoreMetadata) + { + // Skip the application header length. + stream.Skip(remaining); + return; + } + stream.Read(this.temp, ExifMarkerLength, remainingXmpMarkerBytes); remaining -= remainingXmpMarkerBytes; if (ProfileResolver.IsProfile(this.temp, ProfileResolver.XmpMarker)) From 96f6fd45a316e33b78026c8c40868928643775ef Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sun, 27 Mar 2022 14:17:32 +0200 Subject: [PATCH 185/244] Add check, if enough data is read in LoadTables --- .../Formats/Jpeg/JpegDecoderCore.cs | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs index 51e067575..41effc865 100644 --- a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs +++ b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs @@ -232,7 +232,12 @@ namespace SixLabors.ImageSharp.Formats.Jpeg using var stream = new BufferedReadStream(this.Configuration, ms); // Check for the Start Of Image marker. - stream.Read(this.markerBuffer, 0, 2); + int bytesRead = stream.Read(this.markerBuffer, 0, 2); + if (bytesRead != 2) + { + JpegThrowHelper.ThrowInvalidImageContentException("Not enough data to read the SOI marker"); + } + var fileMarker = new JpegFileMarker(this.markerBuffer[1], 0); if (fileMarker.Marker != JpegConstants.Markers.SOI) { @@ -240,7 +245,12 @@ namespace SixLabors.ImageSharp.Formats.Jpeg } // Read next marker. - stream.Read(this.markerBuffer, 0, 2); + bytesRead = stream.Read(this.markerBuffer, 0, 2); + if (bytesRead != 2) + { + JpegThrowHelper.ThrowInvalidImageContentException("Not enough data to read marker"); + } + byte marker = this.markerBuffer[1]; fileMarker = new JpegFileMarker(marker, (int)stream.Position - 2); @@ -273,7 +283,12 @@ namespace SixLabors.ImageSharp.Formats.Jpeg } // Read next marker. - stream.Read(this.markerBuffer, 0, 2); + bytesRead = stream.Read(this.markerBuffer, 0, 2); + if (bytesRead != 2) + { + JpegThrowHelper.ThrowInvalidImageContentException("Not enough data to read marker"); + } + fileMarker = new JpegFileMarker(this.markerBuffer[1], 0); } } From 588a6d444a2aec33e4d93b65d2def63cd8a7ba2c Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sun, 27 Mar 2022 15:18:59 +0200 Subject: [PATCH 186/244] Fix lossy image with not enough exif bytes --- tests/Images/Input/Webp/exif_lossy.webp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/Images/Input/Webp/exif_lossy.webp b/tests/Images/Input/Webp/exif_lossy.webp index 35e454b96..5d6db3800 100644 --- a/tests/Images/Input/Webp/exif_lossy.webp +++ b/tests/Images/Input/Webp/exif_lossy.webp @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fdf4e9b20af4168f4177d33f7f502906343bbaaae2af9b90e1531bd4452b317b -size 40765 +oid sha256:5c53967bfefcfece8cd4411740c1c394e75864ca61a7a9751df3b28e727c0205 +size 68646 From f820b0b965716de398974a23a02ac95616580522 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sun, 27 Mar 2022 15:21:30 +0200 Subject: [PATCH 187/244] ParseOptional chunks now checks, if enough data is read --- .../Formats/Webp/WebpDecoderCore.cs | 29 ++++++++++++++++--- .../Formats/Webp/WebpThrowHelper.cs | 7 +++++ 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs b/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs index 9d18e5d82..412ec2760 100644 --- a/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs +++ b/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs @@ -426,6 +426,7 @@ namespace SixLabors.ImageSharp.Formats.Webp /// The webp image features. private void ParseOptionalExtendedChunks(WebpChunkType chunkType, WebpFeatures features) { + int bytesRead; switch (chunkType) { case WebpChunkType.Iccp: @@ -437,7 +438,12 @@ namespace SixLabors.ImageSharp.Formats.Webp else { byte[] iccpData = new byte[iccpChunkSize]; - this.currentStream.Read(iccpData, 0, (int)iccpChunkSize); + bytesRead = this.currentStream.Read(iccpData, 0, (int)iccpChunkSize); + if (bytesRead != iccpChunkSize) + { + WebpThrowHelper.ThrowInvalidImageContentException("Not enough data to read the iccp chunk"); + } + var profile = new IccProfile(iccpData); if (profile.CheckIsValid()) { @@ -456,7 +462,12 @@ namespace SixLabors.ImageSharp.Formats.Webp else { byte[] exifData = new byte[exifChunkSize]; - this.currentStream.Read(exifData, 0, (int)exifChunkSize); + bytesRead = this.currentStream.Read(exifData, 0, (int)exifChunkSize); + if (bytesRead != exifChunkSize) + { + WebpThrowHelper.ThrowInvalidImageContentException("Not enough data to read the exif chunk"); + } + var profile = new ExifProfile(exifData); this.Metadata.ExifProfile = profile; } @@ -472,7 +483,12 @@ namespace SixLabors.ImageSharp.Formats.Webp else { byte[] xmpData = new byte[xmpChunkSize]; - this.currentStream.Read(xmpData, 0, (int)xmpChunkSize); + bytesRead = this.currentStream.Read(xmpData, 0, (int)xmpChunkSize); + if (bytesRead != xmpChunkSize) + { + WebpThrowHelper.ThrowInvalidImageContentException("Not enough data to read the xmp chunk"); + } + var profile = new XmpProfile(xmpData); this.Metadata.XmpProfile = profile; } @@ -488,7 +504,12 @@ namespace SixLabors.ImageSharp.Formats.Webp features.AlphaChunkHeader = (byte)this.currentStream.ReadByte(); int alphaDataSize = (int)(alphaChunkSize - 1); features.AlphaData = this.memoryAllocator.Allocate(alphaDataSize); - this.currentStream.Read(features.AlphaData.Memory.Span, 0, alphaDataSize); + bytesRead = this.currentStream.Read(features.AlphaData.Memory.Span, 0, alphaDataSize); + if (bytesRead != alphaDataSize) + { + WebpThrowHelper.ThrowInvalidImageContentException("Not enough data to read the alpha chunk"); + } + break; default: WebpThrowHelper.ThrowImageFormatException("Unexpected chunk followed VP8X header"); diff --git a/src/ImageSharp/Formats/Webp/WebpThrowHelper.cs b/src/ImageSharp/Formats/Webp/WebpThrowHelper.cs index fffdd3410..5f063fd11 100644 --- a/src/ImageSharp/Formats/Webp/WebpThrowHelper.cs +++ b/src/ImageSharp/Formats/Webp/WebpThrowHelper.cs @@ -8,6 +8,13 @@ namespace SixLabors.ImageSharp.Formats.Webp { internal static class WebpThrowHelper { + /// + /// Cold path optimization for throwing 's. + /// + /// The error message for the exception. + [MethodImpl(InliningOptions.ColdPath)] + public static void ThrowInvalidImageContentException(string errorMessage) => throw new InvalidImageContentException(errorMessage); + /// /// Cold path optimization for throwing -s /// From 853b222af50851a9d46f73df0042ecc88b467bba Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sun, 27 Mar 2022 15:30:15 +0200 Subject: [PATCH 188/244] Add test for lossy with exif which does not contain enough data --- .../Formats/WebP/WebpMetaDataTests.cs | 12 ++++++++++++ tests/ImageSharp.Tests/TestImages.cs | 1 + .../Input/Webp/exif_lossy_not_enough_data.webp | 3 +++ 3 files changed, 16 insertions(+) create mode 100644 tests/Images/Input/Webp/exif_lossy_not_enough_data.webp diff --git a/tests/ImageSharp.Tests/Formats/WebP/WebpMetaDataTests.cs b/tests/ImageSharp.Tests/Formats/WebP/WebpMetaDataTests.cs index eaa7fb564..499b0579b 100644 --- a/tests/ImageSharp.Tests/Formats/WebP/WebpMetaDataTests.cs +++ b/tests/ImageSharp.Tests/Formats/WebP/WebpMetaDataTests.cs @@ -150,5 +150,17 @@ namespace SixLabors.ImageSharp.Tests.Formats.Webp Assert.NotNull(actualExif); Assert.Equal(expectedExif.Values.Count, actualExif.Values.Count); } + + [Theory] + [WithFile(TestImages.Webp.Lossy.WithExifNotEnoughData, PixelTypes.Rgba32)] + public void WebpDecoder_ThrowInvalidImageContentException_OnWithInvalidExifData(TestImageProvider provider) + where TPixel : unmanaged, IPixel => + Assert.Throws( + () => + { + using (provider.GetImage(WebpDecoder)) + { + } + }); } } diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index 07aff6fc1..ac060fd99 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -635,6 +635,7 @@ namespace SixLabors.ImageSharp.Tests { public const string Earth = "Webp/earth_lossy.webp"; public const string WithExif = "Webp/exif_lossy.webp"; + public const string WithExifNotEnoughData = "Webp/exif_lossy_not_enough_data.webp"; public const string WithIccp = "Webp/lossy_with_iccp.webp"; public const string WithXmp = "Webp/xmp_lossy.webp"; public const string BikeSmall = "Webp/bike_lossless_small.webp"; diff --git a/tests/Images/Input/Webp/exif_lossy_not_enough_data.webp b/tests/Images/Input/Webp/exif_lossy_not_enough_data.webp new file mode 100644 index 000000000..35e454b96 --- /dev/null +++ b/tests/Images/Input/Webp/exif_lossy_not_enough_data.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdf4e9b20af4168f4177d33f7f502906343bbaaae2af9b90e1531bd4452b317b +size 40765 From 5d04734c324a0930ff43f90b9f236a5e8d39e247 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sun, 27 Mar 2022 18:59:04 +0200 Subject: [PATCH 189/244] Add checks in ReadVp8Header() to make sure enough data is read --- .../Formats/Webp/WebpDecoderCore.cs | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs b/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs index 412ec2760..9d83591c3 100644 --- a/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs +++ b/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs @@ -272,7 +272,12 @@ namespace SixLabors.ImageSharp.Formats.Webp this.webpMetadata.FileFormat = WebpFileFormatType.Lossy; // VP8 data size (not including this 4 bytes). - this.currentStream.Read(this.buffer, 0, 4); + int bytesRead = this.currentStream.Read(this.buffer, 0, 4); + if (bytesRead != 4) + { + WebpThrowHelper.ThrowInvalidImageContentException("Not enough data to read the VP8 data size"); + } + uint dataSize = BinaryPrimitives.ReadUInt32LittleEndian(this.buffer); // remaining counts the available image data payload. @@ -284,7 +289,12 @@ namespace SixLabors.ImageSharp.Formats.Webp // - A 3-bit version number. // - A 1-bit show_frame flag. // - A 19-bit field containing the size of the first data partition in bytes. - this.currentStream.Read(this.buffer, 0, 3); + bytesRead = this.currentStream.Read(this.buffer, 0, 3); + if (bytesRead != 3) + { + WebpThrowHelper.ThrowInvalidImageContentException("Not enough data to read the VP8 frame tag"); + } + uint frameTag = (uint)(this.buffer[0] | (this.buffer[1] << 8) | (this.buffer[2] << 16)); remaining -= 3; bool isNoKeyFrame = (frameTag & 0x1) == 1; @@ -312,13 +322,23 @@ namespace SixLabors.ImageSharp.Formats.Webp } // Check for VP8 magic bytes. - this.currentStream.Read(this.buffer, 0, 3); + bytesRead = this.currentStream.Read(this.buffer, 0, 3); + if (bytesRead != 3) + { + WebpThrowHelper.ThrowInvalidImageContentException("Not enough data to read the VP8 magic bytes"); + } + if (!this.buffer.AsSpan(0, 3).SequenceEqual(WebpConstants.Vp8HeaderMagicBytes)) { WebpThrowHelper.ThrowImageFormatException("VP8 magic bytes not found"); } - this.currentStream.Read(this.buffer, 0, 4); + bytesRead = this.currentStream.Read(this.buffer, 0, 4); + if (bytesRead != 4) + { + WebpThrowHelper.ThrowInvalidImageContentException("VP8 header does not contain enough data to read the image width and height"); + } + uint tmp = (uint)BinaryPrimitives.ReadInt16LittleEndian(this.buffer); uint width = tmp & 0x3fff; sbyte xScale = (sbyte)(tmp >> 6); From 8cc5a6b6cad3bccd6b7a04855428b8f78ce0a517 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sun, 27 Mar 2022 19:14:42 +0200 Subject: [PATCH 190/244] Remove code duplication when reading the profile data --- .../Formats/Webp/WebpDecoderCore.cs | 145 ++++++++++-------- 1 file changed, 85 insertions(+), 60 deletions(-) diff --git a/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs b/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs index 9d83591c3..2a840ba70 100644 --- a/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs +++ b/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs @@ -450,68 +450,17 @@ namespace SixLabors.ImageSharp.Formats.Webp switch (chunkType) { case WebpChunkType.Iccp: - uint iccpChunkSize = this.ReadChunkSize(); - if (this.IgnoreMetadata) - { - this.currentStream.Skip((int)iccpChunkSize); - } - else - { - byte[] iccpData = new byte[iccpChunkSize]; - bytesRead = this.currentStream.Read(iccpData, 0, (int)iccpChunkSize); - if (bytesRead != iccpChunkSize) - { - WebpThrowHelper.ThrowInvalidImageContentException("Not enough data to read the iccp chunk"); - } - - var profile = new IccProfile(iccpData); - if (profile.CheckIsValid()) - { - this.Metadata.IccProfile = profile; - } - } + this.ReadIccProfile(); break; case WebpChunkType.Exif: - uint exifChunkSize = this.ReadChunkSize(); - if (this.IgnoreMetadata) - { - this.currentStream.Skip((int)exifChunkSize); - } - else - { - byte[] exifData = new byte[exifChunkSize]; - bytesRead = this.currentStream.Read(exifData, 0, (int)exifChunkSize); - if (bytesRead != exifChunkSize) - { - WebpThrowHelper.ThrowInvalidImageContentException("Not enough data to read the exif chunk"); - } - - var profile = new ExifProfile(exifData); - this.Metadata.ExifProfile = profile; - } + this.ReadExifProfile(); break; case WebpChunkType.Xmp: - uint xmpChunkSize = this.ReadChunkSize(); - if (this.IgnoreMetadata) - { - this.currentStream.Skip((int)xmpChunkSize); - } - else - { - byte[] xmpData = new byte[xmpChunkSize]; - bytesRead = this.currentStream.Read(xmpData, 0, (int)xmpChunkSize); - if (bytesRead != xmpChunkSize) - { - WebpThrowHelper.ThrowInvalidImageContentException("Not enough data to read the xmp chunk"); - } - - var profile = new XmpProfile(xmpData); - this.Metadata.XmpProfile = profile; - } + this.ReadXmpProfile(); break; @@ -555,22 +504,98 @@ namespace SixLabors.ImageSharp.Formats.Webp { // Read chunk header. WebpChunkType chunkType = this.ReadChunkType(); - uint chunkLength = this.ReadChunkSize(); - if (chunkType == WebpChunkType.Exif && this.Metadata.ExifProfile == null) { - byte[] exifData = new byte[chunkLength]; - this.currentStream.Read(exifData, 0, (int)chunkLength); - this.Metadata.ExifProfile = new ExifProfile(exifData); + this.ReadExifProfile(); + } + else if (chunkType == WebpChunkType.Xmp && this.Metadata.XmpProfile == null) + { + this.ReadXmpProfile(); } else { - // Skip XMP chunk data or any duplicate EXIF chunk. + // Skip duplicate XMP or EXIF chunk. + uint chunkLength = this.ReadChunkSize(); this.currentStream.Skip((int)chunkLength); } } } + /// + /// Reads the EXIF profile from the stream. + /// + private void ReadExifProfile() + { + uint exifChunkSize = this.ReadChunkSize(); + if (this.IgnoreMetadata) + { + this.currentStream.Skip((int)exifChunkSize); + } + else + { + byte[] exifData = new byte[exifChunkSize]; + int bytesRead = this.currentStream.Read(exifData, 0, (int)exifChunkSize); + if (bytesRead != exifChunkSize) + { + WebpThrowHelper.ThrowInvalidImageContentException("Not enough data to read the exif chunk"); + } + + var profile = new ExifProfile(exifData); + this.Metadata.ExifProfile = profile; + } + } + + /// + /// Reads the XMP profile the stream. + /// + private void ReadXmpProfile() + { + uint xmpChunkSize = this.ReadChunkSize(); + if (this.IgnoreMetadata) + { + this.currentStream.Skip((int)xmpChunkSize); + } + else + { + byte[] xmpData = new byte[xmpChunkSize]; + int bytesRead = this.currentStream.Read(xmpData, 0, (int)xmpChunkSize); + if (bytesRead != xmpChunkSize) + { + WebpThrowHelper.ThrowInvalidImageContentException("Not enough data to read the xmp chunk"); + } + + var profile = new XmpProfile(xmpData); + this.Metadata.XmpProfile = profile; + } + } + + /// + /// Reads the ICCP chunk from the stream. + /// + private void ReadIccProfile() + { + uint iccpChunkSize = this.ReadChunkSize(); + if (this.IgnoreMetadata) + { + this.currentStream.Skip((int)iccpChunkSize); + } + else + { + byte[] iccpData = new byte[iccpChunkSize]; + int bytesRead = this.currentStream.Read(iccpData, 0, (int)iccpChunkSize); + if (bytesRead != iccpChunkSize) + { + WebpThrowHelper.ThrowInvalidImageContentException("Not enough data to read the iccp chunk"); + } + + var profile = new IccProfile(iccpData); + if (profile.CheckIsValid()) + { + this.Metadata.IccProfile = profile; + } + } + } + /// /// Identifies the chunk type from the chunk. /// From 8e4129a7335ebb2a1a1f977654eeb7db6389cd1c Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sun, 27 Mar 2022 19:20:14 +0200 Subject: [PATCH 191/244] Make sure enough data is read in ReadVp8XHeader() --- .../Formats/Webp/WebpDecoderCore.cs | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs b/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs index 2a840ba70..91594a674 100644 --- a/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs +++ b/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs @@ -190,7 +190,11 @@ namespace SixLabors.ImageSharp.Formats.Webp uint fileSize = this.ReadChunkSize(); // The first byte contains information about the image features used. - byte imageFeatures = (byte)this.currentStream.ReadByte(); + int imageFeatures = this.currentStream.ReadByte(); + if (imageFeatures == -1) + { + WebpThrowHelper.ThrowInvalidImageContentException("VP8X header doe not contain enough data"); + } // The first two bit of it are reserved and should be 0. if (imageFeatures >> 6 != 0) @@ -214,19 +218,34 @@ namespace SixLabors.ImageSharp.Formats.Webp features.Animation = (imageFeatures & (1 << 1)) != 0; // 3 reserved bytes should follow which are supposed to be zero. - this.currentStream.Read(this.buffer, 0, 3); + int bytesRead = this.currentStream.Read(this.buffer, 0, 3); + if (bytesRead != 3) + { + WebpThrowHelper.ThrowInvalidImageContentException("VP8X header does not contain enough data"); + } + if (this.buffer[0] != 0 || this.buffer[1] != 0 || this.buffer[2] != 0) { WebpThrowHelper.ThrowImageFormatException("reserved bytes should be zero"); } // 3 bytes for the width. - this.currentStream.Read(this.buffer, 0, 3); + bytesRead = this.currentStream.Read(this.buffer, 0, 3); + if (bytesRead != 3) + { + WebpThrowHelper.ThrowInvalidImageContentException("VP8 header does not contain enough data to read the width"); + } + this.buffer[3] = 0; uint width = (uint)BinaryPrimitives.ReadInt32LittleEndian(this.buffer) + 1; // 3 bytes for the height. - this.currentStream.Read(this.buffer, 0, 3); + bytesRead = this.currentStream.Read(this.buffer, 0, 3); + if (bytesRead != 3) + { + WebpThrowHelper.ThrowInvalidImageContentException("VP8 header does not contain enough data to read the height"); + } + this.buffer[3] = 0; uint height = (uint)BinaryPrimitives.ReadInt32LittleEndian(this.buffer) + 1; From aac680fea60968320220c09492d8aa6216910295 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sun, 27 Mar 2022 19:28:03 +0200 Subject: [PATCH 192/244] Add check, if enough data was read for progressive scan decoding data --- src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs index 41effc865..56bdca5f8 100644 --- a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs +++ b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs @@ -1334,8 +1334,12 @@ namespace SixLabors.ImageSharp.Formats.Jpeg component.ACHuffmanTableId = acTableIndex; } - // 3 bytes: Progressive scan decoding data - stream.Read(this.temp, 0, 3); + // 3 bytes: Progressive scan decoding data. + int bytesRead = stream.Read(this.temp, 0, 3); + if (bytesRead != 3) + { + JpegThrowHelper.ThrowInvalidImageContentException("Not enough data to read progressive scan decoding data"); + } int spectralStart = this.temp[0]; this.scanDecoder.SpectralStart = spectralStart; From e6ad467503ed31af90d7a55920a021e0c8c723ef Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sun, 27 Mar 2022 19:29:12 +0200 Subject: [PATCH 193/244] Add check in ReadUint16 for enough data --- src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs index 56bdca5f8..e2d6cfcd2 100644 --- a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs +++ b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs @@ -1362,7 +1362,12 @@ namespace SixLabors.ImageSharp.Formats.Jpeg [MethodImpl(InliningOptions.ShortMethod)] private ushort ReadUint16(BufferedReadStream stream) { - stream.Read(this.markerBuffer, 0, 2); + int bytesRead = stream.Read(this.markerBuffer, 0, 2); + if (bytesRead != 2) + { + JpegThrowHelper.ThrowInvalidImageContentException("jpeg stream does not contain enough data, could not read ushort."); + } + return BinaryPrimitives.ReadUInt16BigEndian(this.markerBuffer); } } From d22e50c0d0b01b75ca02396d745617f7ad81d256 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Mon, 28 Mar 2022 12:22:58 +0200 Subject: [PATCH 194/244] Ignore invalid EXIF or XMP chunks --- .../Formats/Webp/WebpDecoderCore.cs | 12 +++++------- .../Formats/WebP/WebpMetaDataTests.cs | 19 ++++++++++--------- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs b/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs index 91594a674..9e709236c 100644 --- a/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs +++ b/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs @@ -465,22 +465,18 @@ namespace SixLabors.ImageSharp.Formats.Webp /// The webp image features. private void ParseOptionalExtendedChunks(WebpChunkType chunkType, WebpFeatures features) { - int bytesRead; switch (chunkType) { case WebpChunkType.Iccp: this.ReadIccProfile(); - break; case WebpChunkType.Exif: this.ReadExifProfile(); - break; case WebpChunkType.Xmp: this.ReadXmpProfile(); - break; case WebpChunkType.Animation: @@ -492,7 +488,7 @@ namespace SixLabors.ImageSharp.Formats.Webp features.AlphaChunkHeader = (byte)this.currentStream.ReadByte(); int alphaDataSize = (int)(alphaChunkSize - 1); features.AlphaData = this.memoryAllocator.Allocate(alphaDataSize); - bytesRead = this.currentStream.Read(features.AlphaData.Memory.Span, 0, alphaDataSize); + int bytesRead = this.currentStream.Read(features.AlphaData.Memory.Span, 0, alphaDataSize); if (bytesRead != alphaDataSize) { WebpThrowHelper.ThrowInvalidImageContentException("Not enough data to read the alpha chunk"); @@ -556,7 +552,8 @@ namespace SixLabors.ImageSharp.Formats.Webp int bytesRead = this.currentStream.Read(exifData, 0, (int)exifChunkSize); if (bytesRead != exifChunkSize) { - WebpThrowHelper.ThrowInvalidImageContentException("Not enough data to read the exif chunk"); + // Ignore invalid chunk. + return; } var profile = new ExifProfile(exifData); @@ -580,7 +577,8 @@ namespace SixLabors.ImageSharp.Formats.Webp int bytesRead = this.currentStream.Read(xmpData, 0, (int)xmpChunkSize); if (bytesRead != xmpChunkSize) { - WebpThrowHelper.ThrowInvalidImageContentException("Not enough data to read the xmp chunk"); + // Ignore invalid chunk. + return; } var profile = new XmpProfile(xmpData); diff --git a/tests/ImageSharp.Tests/Formats/WebP/WebpMetaDataTests.cs b/tests/ImageSharp.Tests/Formats/WebP/WebpMetaDataTests.cs index 499b0579b..456b9a3f5 100644 --- a/tests/ImageSharp.Tests/Formats/WebP/WebpMetaDataTests.cs +++ b/tests/ImageSharp.Tests/Formats/WebP/WebpMetaDataTests.cs @@ -1,6 +1,7 @@ // Copyright (c) Six Labors. // Licensed under the Apache License, Version 2.0. +using System; using System.IO; using System.Threading.Tasks; using SixLabors.ImageSharp.Formats.Webp; @@ -153,14 +154,14 @@ namespace SixLabors.ImageSharp.Tests.Formats.Webp [Theory] [WithFile(TestImages.Webp.Lossy.WithExifNotEnoughData, PixelTypes.Rgba32)] - public void WebpDecoder_ThrowInvalidImageContentException_OnWithInvalidExifData(TestImageProvider provider) - where TPixel : unmanaged, IPixel => - Assert.Throws( - () => - { - using (provider.GetImage(WebpDecoder)) - { - } - }); + public void WebpDecoder_IgnoresInvalidExifChunk(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + Exception ex = Record.Exception(() => + { + using Image image = provider.GetImage(); + }); + Assert.Null(ex); + } } } From 6a281b6c6d0d2a00e185260110443fee7b0ba050 Mon Sep 17 00:00:00 2001 From: Brian Popow <38701097+brianpopow@users.noreply.github.com> Date: Wed, 30 Mar 2022 13:18:39 +0200 Subject: [PATCH 195/244] Apply suggestions from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Günther Foidl --- .../Decoder/ArithmeticScanDecoder.cs | 27 +++++-------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticScanDecoder.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticScanDecoder.cs index 6b0ac5a62..9c80cdada 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticScanDecoder.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticScanDecoder.cs @@ -57,7 +57,8 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder private readonly CancellationToken cancellationToken; - private readonly byte[] fixedBin = { 113, 0, 0, 0 }; + // Uses C# compiler's optimization to refer to static data segement directly, without any further allocation. + private static ReadOnlySpan FixedBin => new byte[] { 113, 0, 0, 0 }; private static readonly int[] ArithmeticTable = { @@ -233,7 +234,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder } } - private ref byte GetFixedBinReference() => ref this.fixedBin[0]; + private ref byte GetFixedBinReference() => ref MemoryMarshal.GetReference(FixedBin); /// /// Decodes the entropy coded data. @@ -580,8 +581,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder for (int i = 0; i < mcusPerLine; i++) { // Scan an interleaved mcu... process components in order. - int mcuRow = mcu / mcusPerLine; - int mcuCol = mcu % mcusPerLine; + int mcuRow = Math.DivRem(mcu, mcusPerLine, out int mcuCol); for (int k = 0; k < this.scanComponentCount; k++) { int order = this.frame.ComponentOrder[k]; @@ -908,14 +908,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder { if (this.DecodeBinaryDecision(ref reader, ref Unsafe.Add(ref st, 2)) != 0) { - if (coef < 0) - { - coef = (short)(coef + m1); - } - else - { - coef = (short)(coef + p1); - } + coef = (short)(coef + (coef < 0 ? m1 : p1)); } break; @@ -923,14 +916,8 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder if (this.DecodeBinaryDecision(ref reader, ref Unsafe.Add(ref st, 1)) != 0) { - if (this.DecodeBinaryDecision(ref reader, ref this.GetFixedBinReference()) != 0) - { - coef = (short)(coef + m1); - } - else - { - coef = (short)(coef + p1); - } + bool flag = this.DecodeBinaryDecision(ref reader, ref this.GetFixedBinReference()) != 0) + coef = (short)(coef + (flag ? m1 : p1)); break; } From 0154e4ec8e59b344b72db1d4680cbdec2778bb16 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Wed, 30 Mar 2022 13:25:43 +0200 Subject: [PATCH 196/244] Fix build issue --- .../Jpeg/Components/Decoder/ArithmeticScanDecoder.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticScanDecoder.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticScanDecoder.cs index 9c80cdada..e653e505e 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticScanDecoder.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticScanDecoder.cs @@ -57,9 +57,6 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder private readonly CancellationToken cancellationToken; - // Uses C# compiler's optimization to refer to static data segement directly, without any further allocation. - private static ReadOnlySpan FixedBin => new byte[] { 113, 0, 0, 0 }; - private static readonly int[] ArithmeticTable = { Pack(0x5a1d, 1, 1, 1), @@ -200,6 +197,9 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder this.ct = -16; // Force reading 2 initial bytes to fill C. } + // Uses C# compiler's optimization to refer to static data segment directly, without any further allocation. + private static ReadOnlySpan FixedBin => new byte[] { 113, 0, 0, 0 }; + /// public int ResetInterval { @@ -916,7 +916,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder if (this.DecodeBinaryDecision(ref reader, ref Unsafe.Add(ref st, 1)) != 0) { - bool flag = this.DecodeBinaryDecision(ref reader, ref this.GetFixedBinReference()) != 0) + bool flag = this.DecodeBinaryDecision(ref reader, ref this.GetFixedBinReference()) != 0; coef = (short)(coef + (flag ? m1 : p1)); break; From 52c1f20dc6ed219156a34b57292f5f223e5a5363 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Wed, 30 Mar 2022 19:18:25 +0200 Subject: [PATCH 197/244] Fix issue with jpeg's embedded in tiff's: scan decoder is already created in LoadTables --- src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs index 979c3ca7b..e4a3ec1e8 100644 --- a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs +++ b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs @@ -297,7 +297,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg { bool metadataOnly = spectralConverter == null; - this.scanDecoder = new HuffmanScanDecoder(stream, spectralConverter, cancellationToken); + this.scanDecoder ??= new HuffmanScanDecoder(stream, spectralConverter, cancellationToken); this.Metadata = new ImageMetadata(); From 0bc0cd82ffea4b7a685ea28db5e03bbf04690bad Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Thu, 31 Mar 2022 11:42:07 +0200 Subject: [PATCH 198/244] Additional review changes --- .../Decoder/ArithmeticScanDecoder.cs | 22 ++++++++++--------- .../Jpeg/Components/Decoder/IJpegComponent.cs | 18 +++++++-------- 2 files changed, 21 insertions(+), 19 deletions(-) diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticScanDecoder.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticScanDecoder.cs index e653e505e..6d5d2548f 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticScanDecoder.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticScanDecoder.cs @@ -451,6 +451,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder // Scan out an mcu's worth of this component; that's just determined // by the basic H and V specified for the component. + int mcuColMulh = mcuCol * h; for (int y = 0; y < v; y++) { Span blockSpan = component.SpectralBlocks.DangerousGetRowSpan(y); @@ -466,11 +467,11 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder return; } - int blockCol = (mcuCol * h) + x; + int blockCol = mcuColMulh + x; this.DecodeBlockBaseline( component, - ref Unsafe.Add(ref blockRef, blockCol), + ref Unsafe.Add(ref blockRef, (nint)(uint)blockCol), ref acDecodingTable, ref dcDecodingTable); } @@ -521,7 +522,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder this.DecodeBlockBaseline( component, - ref Unsafe.Add(ref blockRef, k), + ref Unsafe.Add(ref blockRef, (nint)(uint)k), ref acDecodingTable, ref dcDecodingTable); @@ -560,7 +561,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder this.DecodeBlockBaseline( component, - ref Unsafe.Add(ref blockRef, i), + ref Unsafe.Add(ref blockRef, (nint)(uint)i), ref acDecodingTable, ref dcDecodingTable); @@ -593,6 +594,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder // Scan out an mcu's worth of this component; that's just determined // by the basic H and V specified for the component. + int mcuColMulh = mcuCol * h; for (int y = 0; y < v; y++) { int blockRow = (mcuRow * v) + y; @@ -606,11 +608,11 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder return; } - int blockCol = (mcuCol * h) + x; + int blockCol = mcuColMulh + x; this.DecodeBlockProgressiveDc( component, - ref Unsafe.Add(ref blockRef, blockCol), + ref Unsafe.Add(ref blockRef, (nint)(uint)blockCol), ref dcDecodingTable); } } @@ -652,7 +654,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder this.DecodeBlockProgressiveDc( component, - ref Unsafe.Add(ref blockRef, i), + ref Unsafe.Add(ref blockRef, (nint)(uint)i), ref dcDecodingTable); this.HandleRestart(); @@ -679,7 +681,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder this.DecodeBlockProgressiveAc( component, - ref Unsafe.Add(ref blockRef, i), + ref Unsafe.Add(ref blockRef, (nint)(uint)i), ref acDecodingTable); this.HandleRestart(); @@ -716,7 +718,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder // Figure F.21: Decoding nonzero value v. // Figure F.22: Decoding the sign of v. int sign = this.DecodeBinaryDecision(ref reader, ref Unsafe.Add(ref st, 1)); - st = ref Unsafe.Add(ref st, 2 + sign); + st = ref Unsafe.Add(ref st, (nint)(uint)(2 + sign)); // Figure F.23: Decoding the magnitude category of v. int m = this.DecodeBinaryDecision(ref reader, ref st); @@ -966,7 +968,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder // Figure F.21: Decoding nonzero value v // Figure F.22: Decoding the sign of v int sign = this.DecodeBinaryDecision(ref reader, ref Unsafe.Add(ref st, 1)); - st = ref Unsafe.Add(ref st, 2 + sign); + st = ref Unsafe.Add(ref st, (nint)(uint)(2 + sign)); // Figure F.23: Decoding the magnitude category of v. int m = this.DecodeBinaryDecision(ref reader, ref st); diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/IJpegComponent.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/IJpegComponent.cs index 63e0ac09c..adab8c2ec 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/IJpegComponent.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/IJpegComponent.cs @@ -13,7 +13,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder /// /// Gets the component id. /// - public byte Id { get; } + byte Id { get; } /// /// Gets the component's position in the components array. @@ -33,12 +33,12 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder /// /// Gets the horizontal sampling factor. /// - public int HorizontalSamplingFactor { get; } + int HorizontalSamplingFactor { get; } /// /// Gets the vertical sampling factor. /// - public int VerticalSamplingFactor { get; } + int VerticalSamplingFactor { get; } /// /// Gets the divisors needed to apply when calculating colors. @@ -63,34 +63,34 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder /// /// Gets or sets DC coefficient predictor. /// - public int DcPredictor { get; set; } + int DcPredictor { get; set; } /// /// Gets or sets the index for the DC table. /// - public int DcTableId { get; set; } + int DcTableId { get; set; } /// /// Gets or sets the index for the AC table. /// - public int AcTableId { get; set; } + int AcTableId { get; set; } /// /// Initializes component for future buffers initialization. /// /// Maximal horizontal subsampling factor among all the components. /// Maximal vertical subsampling factor among all the components. - public void Init(int maxSubFactorH, int maxSubFactorV); + void Init(int maxSubFactorH, int maxSubFactorV); /// /// Allocates the spectral blocks. /// /// if set to true, use the full height of a block, otherwise use the vertical sampling factor. - public void AllocateSpectral(bool fullScan); + void AllocateSpectral(bool fullScan); /// /// Releases resources. /// - public void Dispose(); + void Dispose(); } } From 7371ed051cf15e2bc75688e070ef74dd4272f4a9 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Thu, 31 Mar 2022 11:44:37 +0200 Subject: [PATCH 199/244] Revert fixedBin back to byte[] --- .../Jpeg/Components/Decoder/ArithmeticScanDecoder.cs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticScanDecoder.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticScanDecoder.cs index 6d5d2548f..d3a5ea15b 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticScanDecoder.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/ArithmeticScanDecoder.cs @@ -55,6 +55,8 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder private ArithmeticDecodingTable[] acDecodingTables; + private readonly byte[] fixedBin = { 113, 0, 0, 0 }; + private readonly CancellationToken cancellationToken; private static readonly int[] ArithmeticTable = @@ -197,9 +199,6 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder this.ct = -16; // Force reading 2 initial bytes to fill C. } - // Uses C# compiler's optimization to refer to static data segment directly, without any further allocation. - private static ReadOnlySpan FixedBin => new byte[] { 113, 0, 0, 0 }; - /// public int ResetInterval { @@ -234,7 +233,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder } } - private ref byte GetFixedBinReference() => ref MemoryMarshal.GetReference(FixedBin); + private ref byte GetFixedBinReference() => ref this.fixedBin[0]; /// /// Decodes the entropy coded data. From 77bb28711613023cea454820b8f0598aae8644ed Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Sat, 9 Apr 2022 20:20:36 +0100 Subject: [PATCH 200/244] xunit helper to track undisposed memory --- .../Diagnostics/MemoryDiagnostics.cs | 110 +++++++++++++----- .../Formats/Png/PngDecoderTests.cs | 4 + .../Image/ImageTests.LoadPixelData.cs | 1 + .../Image/LargeImageIntegrationTests.cs | 2 + .../MemoryAllocatorValidator.cs | 43 +++++++ .../ImageProviders/FileProvider.cs | 8 +- ...idateDisposedMemoryAllocationsAttribute.cs | 36 ++++++ 7 files changed, 177 insertions(+), 27 deletions(-) create mode 100644 tests/ImageSharp.Tests/MemoryAllocatorValidator.cs create mode 100644 tests/ImageSharp.Tests/ValidateDisposedMemoryAllocationsAttribute.cs diff --git a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs index d83e737f1..6af254413 100644 --- a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs +++ b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs @@ -15,10 +15,8 @@ namespace SixLabors.ImageSharp.Diagnostics /// public static class MemoryDiagnostics { - private static int totalUndisposedAllocationCount; - - private static UndisposedAllocationDelegate undisposedAllocation; - private static int undisposedAllocationSubscriptionCounter; + internal static readonly InteralMemoryDiagnostics Default = new(); + private static AsyncLocal localInstance = null; private static readonly object SyncRoot = new(); /// @@ -28,56 +26,116 @@ namespace SixLabors.ImageSharp.Diagnostics /// public static event UndisposedAllocationDelegate UndisposedAllocation { - add + add => Current.UndisposedAllocation += value; + remove => Current.UndisposedAllocation -= value; + } + + internal static InteralMemoryDiagnostics Current + { + get { - lock (SyncRoot) + if (localInstance != null && localInstance.Value != null) { - undisposedAllocationSubscriptionCounter++; - undisposedAllocation += value; + return localInstance.Value; } + + return Default; } - remove + set { - lock (SyncRoot) + if (localInstance == null) { - undisposedAllocation -= value; - undisposedAllocationSubscriptionCounter--; + lock (SyncRoot) + { + localInstance ??= new AsyncLocal(); + } } + + localInstance.Value = value; } } /// /// Gets a value indicating the total number of memory resource objects leaked to the finalizer. /// - public static int TotalUndisposedAllocationCount => totalUndisposedAllocationCount; + public static int TotalUndisposedAllocationCount => Current.TotalUndisposedAllocationCount; - internal static bool UndisposedAllocationSubscribed => Volatile.Read(ref undisposedAllocationSubscriptionCounter) > 0; + internal static bool UndisposedAllocationSubscribed => Current.UndisposedAllocationSubscribed; - internal static void IncrementTotalUndisposedAllocationCount() => - Interlocked.Increment(ref totalUndisposedAllocationCount); + internal static void IncrementTotalUndisposedAllocationCount() => Current.IncrementTotalUndisposedAllocationCount(); - internal static void DecrementTotalUndisposedAllocationCount() => - Interlocked.Decrement(ref totalUndisposedAllocationCount); + internal static void DecrementTotalUndisposedAllocationCount() => Current.DecrementTotalUndisposedAllocationCount(); internal static void RaiseUndisposedMemoryResource(string allocationStackTrace) + => Current.RaiseUndisposedMemoryResource(allocationStackTrace); + + internal class InteralMemoryDiagnostics { - if (undisposedAllocation is null) + private int totalUndisposedAllocationCount; + + private UndisposedAllocationDelegate undisposedAllocation; + private int undisposedAllocationSubscriptionCounter; + private readonly object syncRoot = new(); + + /// + /// Fires when an ImageSharp object's undisposed memory resource leaks to the finalizer. + /// The event brings significant overhead, and is intended to be used for troubleshooting only. + /// For production diagnostics, use . + /// + public event UndisposedAllocationDelegate UndisposedAllocation { - return; + add + { + lock (this.syncRoot) + { + this.undisposedAllocationSubscriptionCounter++; + this.undisposedAllocation += value; + } + } + + remove + { + lock (this.syncRoot) + { + this.undisposedAllocation -= value; + this.undisposedAllocationSubscriptionCounter--; + } + } } - // Schedule on the ThreadPool, to avoid user callback messing up the finalizer thread. + /// + /// Gets a value indicating the total number of memory resource objects leaked to the finalizer. + /// + public int TotalUndisposedAllocationCount => this.totalUndisposedAllocationCount; + + internal bool UndisposedAllocationSubscribed => Volatile.Read(ref this.undisposedAllocationSubscriptionCounter) > 0; + + internal void IncrementTotalUndisposedAllocationCount() => + Interlocked.Increment(ref this.totalUndisposedAllocationCount); + + internal void DecrementTotalUndisposedAllocationCount() => + Interlocked.Decrement(ref this.totalUndisposedAllocationCount); + + internal void RaiseUndisposedMemoryResource(string allocationStackTrace) + { + if (this.undisposedAllocation is null) + { + return; + } + + // Schedule on the ThreadPool, to avoid user callback messing up the finalizer thread. #if NETSTANDARD2_1 || NETCOREAPP2_1_OR_GREATER - ThreadPool.QueueUserWorkItem( - stackTrace => undisposedAllocation?.Invoke(stackTrace), - allocationStackTrace, - preferLocal: false); + ThreadPool.QueueUserWorkItem( + stackTrace => this.undisposedAllocation?.Invoke(stackTrace), + allocationStackTrace, + preferLocal: false); #else ThreadPool.QueueUserWorkItem( - stackTrace => undisposedAllocation?.Invoke((string)stackTrace), + stackTrace => this.undisposedAllocation?.Invoke((string)stackTrace), allocationStackTrace); #endif + } } } } diff --git a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs index 752036126..0a796b514 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs @@ -103,10 +103,14 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png [Theory] [WithFileCollection(nameof(CommonTestImages), PixelTypes.Rgba32)] + [ValidateDisposedMemoryAllocations] public void Decode(TestImageProvider provider) where TPixel : unmanaged, IPixel { using Image image = provider.GetImage(PngDecoder); + //var testFile = TestFile.Create(provider.SourceFileOrDescription); + //using Image image = Image.Load(provider.Configuration, testFile.Bytes, PngDecoder); + image.DebugSave(provider); image.CompareToOriginal(provider, ImageComparer.Exact); } diff --git a/tests/ImageSharp.Tests/Image/ImageTests.LoadPixelData.cs b/tests/ImageSharp.Tests/Image/ImageTests.LoadPixelData.cs index a4044b906..7683ee688 100644 --- a/tests/ImageSharp.Tests/Image/ImageTests.LoadPixelData.cs +++ b/tests/ImageSharp.Tests/Image/ImageTests.LoadPixelData.cs @@ -14,6 +14,7 @@ namespace SixLabors.ImageSharp.Tests [Theory] [InlineData(false)] [InlineData(true)] + [ValidateDisposedMemoryAllocations] public void FromPixels(bool useSpan) { Rgba32[] data = { Color.Black, Color.White, Color.White, Color.Black, }; diff --git a/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs b/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs index 357d02be4..ce1f902e5 100644 --- a/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs +++ b/tests/ImageSharp.Tests/Image/LargeImageIntegrationTests.cs @@ -55,6 +55,8 @@ namespace SixLabors.ImageSharp.Tests static void RunTest(string formatInner) { + using IDisposable mem = MemoryAllocatorValidator.MonitorAllocations(); + Configuration configuration = Configuration.Default.Clone(); configuration.PreferContiguousImageBuffers = true; IImageEncoder encoder = configuration.ImageFormatsManager.FindEncoder( diff --git a/tests/ImageSharp.Tests/MemoryAllocatorValidator.cs b/tests/ImageSharp.Tests/MemoryAllocatorValidator.cs new file mode 100644 index 000000000..2c3d98eb1 --- /dev/null +++ b/tests/ImageSharp.Tests/MemoryAllocatorValidator.cs @@ -0,0 +1,43 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System; +using System.Diagnostics; +using SixLabors.ImageSharp.Diagnostics; +using Xunit; + +namespace SixLabors.ImageSharp.Tests +{ + public static class MemoryAllocatorValidator + { + public static IDisposable MonitorAllocations(int max = 0) + { + MemoryDiagnostics.Current = new(); + return new TestMemoryAllocatorDisposable(max); + } + + public static void ValidateAllocation(int max = 0) + { + var count = MemoryDiagnostics.TotalUndisposedAllocationCount; + var pass = count <= max; + Assert.True(pass, $"Expected a max of {max} undisposed buffers but found {count}"); + + if (count > 0) + { + Debug.WriteLine("We should have Zero undisposed memory allocations."); + } + + MemoryDiagnostics.Current = null; + } + + public struct TestMemoryAllocatorDisposable : IDisposable + { + private readonly int max; + + public TestMemoryAllocatorDisposable(int max) => this.max = max; + + public void Dispose() + => ValidateAllocation(this.max); + } + } +} diff --git a/tests/ImageSharp.Tests/TestUtilities/ImageProviders/FileProvider.cs b/tests/ImageSharp.Tests/TestUtilities/ImageProviders/FileProvider.cs index e2e7d73bc..3675356c3 100644 --- a/tests/ImageSharp.Tests/TestUtilities/ImageProviders/FileProvider.cs +++ b/tests/ImageSharp.Tests/TestUtilities/ImageProviders/FileProvider.cs @@ -7,6 +7,7 @@ using System.Collections.Generic; using System.IO; using System.Reflection; using System.Threading.Tasks; +using SixLabors.ImageSharp.Diagnostics; using SixLabors.ImageSharp.Formats; using SixLabors.ImageSharp.Memory; using SixLabors.ImageSharp.PixelFormats; @@ -158,8 +159,13 @@ namespace SixLabors.ImageSharp.Tests return this.LoadImage(decoder); } - var key = new Key(this.PixelType, this.FilePath, decoder); + // do cache so we can track allocation correctly when validating memory + if (MemoryDiagnostics.Current != MemoryDiagnostics.Default) + { + return this.LoadImage(decoder); + } + var key = new Key(this.PixelType, this.FilePath, decoder); Image cachedImage = Cache.GetOrAdd(key, _ => this.LoadImage(decoder)); return cachedImage.Clone(this.Configuration); diff --git a/tests/ImageSharp.Tests/ValidateDisposedMemoryAllocationsAttribute.cs b/tests/ImageSharp.Tests/ValidateDisposedMemoryAllocationsAttribute.cs new file mode 100644 index 000000000..95d13b595 --- /dev/null +++ b/tests/ImageSharp.Tests/ValidateDisposedMemoryAllocationsAttribute.cs @@ -0,0 +1,36 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System; +using System.Diagnostics; +using System.Reflection; +using Xunit.Sdk; + +namespace SixLabors.ImageSharp.Tests +{ + [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)] + public class ValidateDisposedMemoryAllocationsAttribute : BeforeAfterTestAttribute + { + private readonly int max = 0; + + public ValidateDisposedMemoryAllocationsAttribute() + : this(0) + { + } + + public ValidateDisposedMemoryAllocationsAttribute(int max) + { + this.max = max; + if (max > 0) + { + Debug.WriteLine("Needs fixing, we shoudl have Zero undisposed memory allocations."); + } + } + + public override void Before(MethodInfo methodUnderTest) + => MemoryAllocatorValidator.MonitorAllocations(this.max); // the disposable isn't important cause the validate below does the same thing + + public override void After(MethodInfo methodUnderTest) + => MemoryAllocatorValidator.ValidateAllocation(this.max); + } +} From 3872c6000c74f29cb6069e40e2a3fe09fce3d3a0 Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Sat, 9 Apr 2022 20:21:37 +0100 Subject: [PATCH 201/244] revert loader change --- tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs | 3 --- 1 file changed, 3 deletions(-) diff --git a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs index 0a796b514..eadbf138a 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs @@ -108,9 +108,6 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png where TPixel : unmanaged, IPixel { using Image image = provider.GetImage(PngDecoder); - //var testFile = TestFile.Create(provider.SourceFileOrDescription); - //using Image image = Image.Load(provider.Configuration, testFile.Bytes, PngDecoder); - image.DebugSave(provider); image.CompareToOriginal(provider, ImageComparer.Exact); } From af7d84a376379afd9f7214ff5f34f12f5785ff2f Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Sat, 9 Apr 2022 21:06:37 +0100 Subject: [PATCH 202/244] check disposed buffers for decoders --- src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs | 9 ++- src/ImageSharp/Formats/Gif/GifDecoderCore.cs | 5 ++ .../Decompressors/JpegTiffCompression.cs | 6 +- .../Formats/Tiff/TiffDecoderCore.cs | 6 +- .../Formats/Webp/WebpDecoderCore.cs | 62 +++++++++++-------- .../Formats/Bmp/BmpDecoderTests.cs | 1 + .../Formats/Gif/GifDecoderTests.cs | 1 + .../Formats/Jpg/JpegDecoderTests.Metadata.cs | 15 +++-- .../Formats/Jpg/JpegDecoderTests.cs | 1 + .../Formats/Pbm/PbmDecoderTests.cs | 1 + .../Formats/Png/PngDecoderTests.cs | 2 +- .../Formats/Tga/TgaDecoderTests.cs | 1 + .../Formats/Tiff/TiffDecoderTests.cs | 1 + .../Formats/WebP/WebpDecoderTests.cs | 1 + .../ImageComparison/ImageComparingUtils.cs | 2 +- 15 files changed, 74 insertions(+), 40 deletions(-) diff --git a/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs b/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs index 962c9f0d6..ee0a31280 100644 --- a/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs +++ b/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs @@ -122,11 +122,12 @@ namespace SixLabors.ImageSharp.Formats.Bmp public Image Decode(BufferedReadStream stream, CancellationToken cancellationToken) where TPixel : unmanaged, IPixel { + Image image = null; try { int bytesPerColorMapEntry = this.ReadImageHeaders(stream, out bool inverted, out byte[] palette); - var image = new Image(this.Configuration, this.infoHeader.Width, this.infoHeader.Height, this.metadata); + image = new Image(this.Configuration, this.infoHeader.Width, this.infoHeader.Height, this.metadata); Buffer2D pixels = image.GetRootFramePixelBuffer(); @@ -193,8 +194,14 @@ namespace SixLabors.ImageSharp.Formats.Bmp } catch (IndexOutOfRangeException e) { + image?.Dispose(); throw new ImageFormatException("Bitmap does not have a valid format.", e); } + catch + { + image?.Dispose(); + throw; + } } /// diff --git a/src/ImageSharp/Formats/Gif/GifDecoderCore.cs b/src/ImageSharp/Formats/Gif/GifDecoderCore.cs index 16dca3324..ab857a404 100644 --- a/src/ImageSharp/Formats/Gif/GifDecoderCore.cs +++ b/src/ImageSharp/Formats/Gif/GifDecoderCore.cs @@ -151,6 +151,11 @@ namespace SixLabors.ImageSharp.Formats.Gif } } } + //catch + //{ + // image?.Dispose(); + // throw; + //} finally { this.globalColorTable?.Dispose(); diff --git a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/JpegTiffCompression.cs b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/JpegTiffCompression.cs index cfbc32f4f..4e788c76a 100644 --- a/src/ImageSharp/Formats/Tiff/Compression/Decompressors/JpegTiffCompression.cs +++ b/src/ImageSharp/Formats/Tiff/Compression/Decompressors/JpegTiffCompression.cs @@ -65,7 +65,8 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression.Decompressors jpegDecoder.ParseStream(stream, scanDecoderGray, CancellationToken.None); // TODO: Should we pass through the CancellationToken from the tiff decoder? - CopyImageBytesToBuffer(buffer, spectralConverterGray.GetPixelBuffer(CancellationToken.None)); + using var decompressedBuffer = spectralConverterGray.GetPixelBuffer(CancellationToken.None); + CopyImageBytesToBuffer(buffer, decompressedBuffer); break; } @@ -81,7 +82,8 @@ namespace SixLabors.ImageSharp.Formats.Tiff.Compression.Decompressors jpegDecoder.ParseStream(stream, scanDecoder, CancellationToken.None); // TODO: Should we pass through the CancellationToken from the tiff decoder? - CopyImageBytesToBuffer(buffer, spectralConverter.GetPixelBuffer(CancellationToken.None)); + using var decompressedBuffer = spectralConverter.GetPixelBuffer(CancellationToken.None); + CopyImageBytesToBuffer(buffer, decompressedBuffer); break; } diff --git a/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs b/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs index 1198c519a..5dd99fafc 100644 --- a/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs +++ b/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs @@ -240,8 +240,8 @@ namespace SixLabors.ImageSharp.Formats.Tiff var stripOffsetsArray = (Array)tags.GetValueInternal(ExifTag.StripOffsets).GetValue(); var stripByteCountsArray = (Array)tags.GetValueInternal(ExifTag.StripByteCounts).GetValue(); - IMemoryOwner stripOffsetsMemory = this.ConvertNumbers(stripOffsetsArray, out Span stripOffsets); - IMemoryOwner stripByteCountsMemory = this.ConvertNumbers(stripByteCountsArray, out Span stripByteCounts); + using IMemoryOwner stripOffsetsMemory = this.ConvertNumbers(stripOffsetsArray, out Span stripOffsets); + using IMemoryOwner stripByteCountsMemory = this.ConvertNumbers(stripByteCountsArray, out Span stripByteCounts); if (this.PlanarConfiguration == TiffPlanarConfiguration.Planar) { @@ -262,8 +262,6 @@ namespace SixLabors.ImageSharp.Formats.Tiff cancellationToken); } - stripOffsetsMemory?.Dispose(); - stripByteCountsMemory?.Dispose(); return frame; } diff --git a/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs b/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs index 9d18e5d82..5646f71fa 100644 --- a/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs +++ b/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs @@ -82,38 +82,48 @@ namespace SixLabors.ImageSharp.Formats.Webp public Image Decode(BufferedReadStream stream, CancellationToken cancellationToken) where TPixel : unmanaged, IPixel { - this.Metadata = new ImageMetadata(); - this.currentStream = stream; + Image image = null; + try + { - uint fileSize = this.ReadImageHeader(); + this.Metadata = new ImageMetadata(); + this.currentStream = stream; - using (this.webImageInfo = this.ReadVp8Info()) - { - if (this.webImageInfo.Features is { Animation: true }) - { - WebpThrowHelper.ThrowNotSupportedException("Animations are not supported"); - } + uint fileSize = this.ReadImageHeader(); - var image = new Image(this.Configuration, (int)this.webImageInfo.Width, (int)this.webImageInfo.Height, this.Metadata); - Buffer2D pixels = image.GetRootFramePixelBuffer(); - if (this.webImageInfo.IsLossless) + using (this.webImageInfo = this.ReadVp8Info()) { - var losslessDecoder = new WebpLosslessDecoder(this.webImageInfo.Vp8LBitReader, this.memoryAllocator, this.Configuration); - losslessDecoder.Decode(pixels, image.Width, image.Height); - } - else - { - var lossyDecoder = new WebpLossyDecoder(this.webImageInfo.Vp8BitReader, this.memoryAllocator, this.Configuration); - lossyDecoder.Decode(pixels, image.Width, image.Height, this.webImageInfo); - } + if (this.webImageInfo.Features is { Animation: true }) + { + WebpThrowHelper.ThrowNotSupportedException("Animations are not supported"); + } - // There can be optional chunks after the image data, like EXIF and XMP. - if (this.webImageInfo.Features != null) - { - this.ParseOptionalChunks(this.webImageInfo.Features); - } + image = new Image(this.Configuration, (int)this.webImageInfo.Width, (int)this.webImageInfo.Height, this.Metadata); + Buffer2D pixels = image.GetRootFramePixelBuffer(); + if (this.webImageInfo.IsLossless) + { + var losslessDecoder = new WebpLosslessDecoder(this.webImageInfo.Vp8LBitReader, this.memoryAllocator, this.Configuration); + losslessDecoder.Decode(pixels, image.Width, image.Height); + } + else + { + var lossyDecoder = new WebpLossyDecoder(this.webImageInfo.Vp8BitReader, this.memoryAllocator, this.Configuration); + lossyDecoder.Decode(pixels, image.Width, image.Height, this.webImageInfo); + } - return image; + // There can be optional chunks after the image data, like EXIF and XMP. + if (this.webImageInfo.Features != null) + { + this.ParseOptionalChunks(this.webImageInfo.Features); + } + + return image; + } + } + catch + { + image?.Dispose(); + throw; } } diff --git a/tests/ImageSharp.Tests/Formats/Bmp/BmpDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Bmp/BmpDecoderTests.cs index 71d0ab34a..43ec45a34 100644 --- a/tests/ImageSharp.Tests/Formats/Bmp/BmpDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Bmp/BmpDecoderTests.cs @@ -20,6 +20,7 @@ using static SixLabors.ImageSharp.Tests.TestImages.Bmp; namespace SixLabors.ImageSharp.Tests.Formats.Bmp { [Trait("Format", "Bmp")] + [ValidateDisposedMemoryAllocations] public class BmpDecoderTests { public const PixelTypes CommonNonDefaultPixelTypes = PixelTypes.Rgba32 | PixelTypes.Bgra32 | PixelTypes.RgbaVector; diff --git a/tests/ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs index 1922b161f..7a5241c5a 100644 --- a/tests/ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Gif/GifDecoderTests.cs @@ -18,6 +18,7 @@ using Xunit; namespace SixLabors.ImageSharp.Tests.Formats.Gif { [Trait("Format", "Gif")] + [ValidateDisposedMemoryAllocations] public class GifDecoderTests { private const PixelTypes TestPixelTypes = PixelTypes.Rgba32 | PixelTypes.RgbaVector | PixelTypes.Argb32; diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs index 9864d62b8..d9915f17d 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Metadata.cs @@ -179,11 +179,16 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg var testFile = TestFile.Create(imagePath); using (var stream = new MemoryStream(testFile.Bytes, false)) { - IImageInfo imageInfo = useIdentify - ? ((IImageInfoDetector)decoder).Identify(Configuration.Default, stream, default) - : decoder.Decode(Configuration.Default, stream, default); - - test(imageInfo); + if (useIdentify) + { + IImageInfo imageInfo = ((IImageInfoDetector)decoder).Identify(Configuration.Default, stream, default); + test(imageInfo); + } + else + { + using var img = decoder.Decode(Configuration.Default, stream, default); + test(img); + } } } diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs index faf40ccf7..1faa6f0f4 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.cs @@ -22,6 +22,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg { // TODO: Scatter test cases into multiple test classes [Trait("Format", "Jpg")] + [ValidateDisposedMemoryAllocations] public partial class JpegDecoderTests { public const PixelTypes CommonNonDefaultPixelTypes = PixelTypes.Rgba32 | PixelTypes.Argb32 | PixelTypes.Bgr24 | PixelTypes.RgbaVector; diff --git a/tests/ImageSharp.Tests/Formats/Pbm/PbmDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Pbm/PbmDecoderTests.cs index 97237bca5..eb3bc8c9a 100644 --- a/tests/ImageSharp.Tests/Formats/Pbm/PbmDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Pbm/PbmDecoderTests.cs @@ -11,6 +11,7 @@ using static SixLabors.ImageSharp.Tests.TestImages.Pbm; namespace SixLabors.ImageSharp.Tests.Formats.Pbm { [Trait("Format", "Pbm")] + [ValidateDisposedMemoryAllocations] public class PbmDecoderTests { [Theory] diff --git a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs index eadbf138a..a4fcf63ba 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngDecoderTests.cs @@ -19,6 +19,7 @@ using Xunit; namespace SixLabors.ImageSharp.Tests.Formats.Png { [Trait("Format", "Png")] + [ValidateDisposedMemoryAllocations] public partial class PngDecoderTests { private const PixelTypes TestPixelTypes = PixelTypes.Rgba32 | PixelTypes.RgbaVector | PixelTypes.Argb32; @@ -103,7 +104,6 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png [Theory] [WithFileCollection(nameof(CommonTestImages), PixelTypes.Rgba32)] - [ValidateDisposedMemoryAllocations] public void Decode(TestImageProvider provider) where TPixel : unmanaged, IPixel { diff --git a/tests/ImageSharp.Tests/Formats/Tga/TgaDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Tga/TgaDecoderTests.cs index 55dc2ecdd..e83c5a98c 100644 --- a/tests/ImageSharp.Tests/Formats/Tga/TgaDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Tga/TgaDecoderTests.cs @@ -16,6 +16,7 @@ using static SixLabors.ImageSharp.Tests.TestImages.Tga; namespace SixLabors.ImageSharp.Tests.Formats.Tga { [Trait("Format", "Tga")] + [ValidateDisposedMemoryAllocations] public class TgaDecoderTests { private static TgaDecoder TgaDecoder => new(); diff --git a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs index 39fa50c93..9460f3a35 100644 --- a/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Tiff/TiffDecoderTests.cs @@ -14,6 +14,7 @@ using static SixLabors.ImageSharp.Tests.TestImages.Tiff; namespace SixLabors.ImageSharp.Tests.Formats.Tiff { [Trait("Format", "Tiff")] + [ValidateDisposedMemoryAllocations] public class TiffDecoderTests : TiffDecoderBaseTester { public static readonly string[] MultiframeTestImages = Multiframes; diff --git a/tests/ImageSharp.Tests/Formats/WebP/WebpDecoderTests.cs b/tests/ImageSharp.Tests/Formats/WebP/WebpDecoderTests.cs index 1c92fdf33..f29fa5d79 100644 --- a/tests/ImageSharp.Tests/Formats/WebP/WebpDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/WebP/WebpDecoderTests.cs @@ -13,6 +13,7 @@ using static SixLabors.ImageSharp.Tests.TestImages.Webp; namespace SixLabors.ImageSharp.Tests.Formats.Webp { [Trait("Format", "Webp")] + [ValidateDisposedMemoryAllocations] public class WebpDecoderTests { private static WebpDecoder WebpDecoder => new(); diff --git a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageComparingUtils.cs b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageComparingUtils.cs index 1801d6b59..fa2584674 100644 --- a/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageComparingUtils.cs +++ b/tests/ImageSharp.Tests/TestUtilities/ImageComparison/ImageComparingUtils.cs @@ -26,7 +26,7 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.ImageComparison } var testFile = TestFile.Create(path); - Image magickImage = DecodeWithMagick(new FileInfo(testFile.FullPath)); + using Image magickImage = DecodeWithMagick(new FileInfo(testFile.FullPath)); if (useExactComparer) { ImageComparer.Exact.VerifySimilarity(magickImage, image); From 1557baea5932d87f050febe7a443c81a83db1376 Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Sat, 9 Apr 2022 21:30:59 +0100 Subject: [PATCH 203/244] dispose the next chunk --- src/ImageSharp/Formats/Png/PngDecoderCore.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/ImageSharp/Formats/Png/PngDecoderCore.cs b/src/ImageSharp/Formats/Png/PngDecoderCore.cs index 497dc3967..12770bc52 100644 --- a/src/ImageSharp/Formats/Png/PngDecoderCore.cs +++ b/src/ImageSharp/Formats/Png/PngDecoderCore.cs @@ -227,10 +227,16 @@ namespace SixLabors.ImageSharp.Formats.Png return image; } + catch + { + image?.Dispose(); + throw; + } finally { this.scanline?.Dispose(); this.previousScanline?.Dispose(); + this.nextChunk?.Data?.Dispose(); } } @@ -472,6 +478,8 @@ namespace SixLabors.ImageSharp.Formats.Png this.bytesPerSample = this.header.BitDepth / 8; } + this.previousScanline?.Dispose(); + this.scanline?.Dispose(); this.previousScanline = this.memoryAllocator.Allocate(this.bytesPerScanline, AllocationOptions.Clean); this.scanline = this.Configuration.MemoryAllocator.Allocate(this.bytesPerScanline, AllocationOptions.Clean); } @@ -1359,6 +1367,7 @@ namespace SixLabors.ImageSharp.Formats.Png { if (chunk.Type == PngChunkType.Data) { + chunk.Data?.Dispose(); return chunk.Length; } @@ -1453,6 +1462,9 @@ namespace SixLabors.ImageSharp.Formats.Png if (validCrc != inputCrc) { string chunkTypeName = Encoding.ASCII.GetString(chunkType); + + // ensure when throwing we dispose the data back to the memory allocator + chunk.Data?.Dispose(); PngThrowHelper.ThrowInvalidChunkCrc(chunkTypeName); } } From 2a1ae5cc4ccef9da590d44387ead974c78004845 Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Sat, 9 Apr 2022 22:21:19 +0100 Subject: [PATCH 204/244] ensure we dispose beffers when decoders throw --- src/Directory.Build.props | 1 + .../Decoder/SpectralConverter{TPixel}.cs | 5 +- .../Formats/Jpeg/JpegDecoderCore.cs | 35 ++++++----- .../Formats/Tiff/TiffDecoderCore.cs | 58 +++++++++++-------- 4 files changed, 61 insertions(+), 38 deletions(-) diff --git a/src/Directory.Build.props b/src/Directory.Build.props index d211992a9..faa29865f 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -27,6 +27,7 @@ + diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/SpectralConverter{TPixel}.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/SpectralConverter{TPixel}.cs index 430adeb21..532892e06 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/SpectralConverter{TPixel}.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/SpectralConverter{TPixel}.cs @@ -95,7 +95,9 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder } } - return this.pixelBuffer; + var buffer = this.pixelBuffer; + this.pixelBuffer = null; + return buffer; } /// @@ -210,6 +212,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder this.rgbBuffer?.Dispose(); this.paddedProxyPixelRow?.Dispose(); + this.pixelBuffer?.Dispose(); } } } diff --git a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs index ef4e3ffac..a4b42b994 100644 --- a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs +++ b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs @@ -187,20 +187,27 @@ namespace SixLabors.ImageSharp.Formats.Jpeg where TPixel : unmanaged, IPixel { using var spectralConverter = new SpectralConverter(this.Configuration); - - var scanDecoder = new HuffmanScanDecoder(stream, spectralConverter, cancellationToken); - - this.ParseStream(stream, scanDecoder, cancellationToken); - this.InitExifProfile(); - this.InitIccProfile(); - this.InitIptcProfile(); - this.InitXmpProfile(); - this.InitDerivedMetadataProperties(); - - return new Image( - this.Configuration, - spectralConverter.GetPixelBuffer(cancellationToken), - this.Metadata); + try + { + var scanDecoder = new HuffmanScanDecoder(stream, spectralConverter, cancellationToken); + + this.ParseStream(stream, scanDecoder, cancellationToken); + this.InitExifProfile(); + this.InitIccProfile(); + this.InitIptcProfile(); + this.InitXmpProfile(); + this.InitDerivedMetadataProperties(); + + return new Image( + this.Configuration, + spectralConverter.GetPixelBuffer(cancellationToken), + this.Metadata); + } + catch + { + this.Frame?.Dispose(); + throw; + } } /// diff --git a/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs b/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs index 5dd99fafc..1cd3d2c0c 100644 --- a/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs +++ b/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs @@ -157,40 +157,52 @@ namespace SixLabors.ImageSharp.Formats.Tiff public Image Decode(BufferedReadStream stream, CancellationToken cancellationToken) where TPixel : unmanaged, IPixel { - this.inputStream = stream; - var reader = new DirectoryReader(stream, this.Configuration.MemoryAllocator); - - IEnumerable directories = reader.Read(); - this.byteOrder = reader.ByteOrder; - this.isBigTiff = reader.IsBigTiff; - var frames = new List>(); - foreach (ExifProfile ifd in directories) + try { - cancellationToken.ThrowIfCancellationRequested(); - ImageFrame frame = this.DecodeFrame(ifd, cancellationToken); - frames.Add(frame); + this.inputStream = stream; + var reader = new DirectoryReader(stream, this.Configuration.MemoryAllocator); + + IEnumerable directories = reader.Read(); + this.byteOrder = reader.ByteOrder; + this.isBigTiff = reader.IsBigTiff; - if (this.decodingMode is FrameDecodingMode.First) + foreach (ExifProfile ifd in directories) { - break; + cancellationToken.ThrowIfCancellationRequested(); + ImageFrame frame = this.DecodeFrame(ifd, cancellationToken); + frames.Add(frame); + + if (this.decodingMode is FrameDecodingMode.First) + { + break; + } } - } - ImageMetadata metadata = TiffDecoderMetadataCreator.Create(frames, this.ignoreMetadata, reader.ByteOrder, reader.IsBigTiff); + ImageMetadata metadata = TiffDecoderMetadataCreator.Create(frames, this.ignoreMetadata, reader.ByteOrder, reader.IsBigTiff); - // TODO: Tiff frames can have different sizes. - ImageFrame root = frames[0]; - this.Dimensions = root.Size(); - foreach (ImageFrame frame in frames) - { - if (frame.Size() != root.Size()) + // TODO: Tiff frames can have different sizes. + ImageFrame root = frames[0]; + this.Dimensions = root.Size(); + foreach (ImageFrame frame in frames) { - TiffThrowHelper.ThrowNotSupported("Images with different sizes are not supported"); + if (frame.Size() != root.Size()) + { + TiffThrowHelper.ThrowNotSupported("Images with different sizes are not supported"); + } } + + return new Image(this.Configuration, metadata, frames); } + catch + { + foreach (ImageFrame f in frames) + { + f.Dispose(); + } - return new Image(this.Configuration, metadata, frames); + throw; + } } /// From a30c468f2757906c581e95adb7e6750fffdad0fe Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Sat, 9 Apr 2022 22:35:21 +0100 Subject: [PATCH 205/244] drop commented code --- src/ImageSharp/Formats/Gif/GifDecoderCore.cs | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/ImageSharp/Formats/Gif/GifDecoderCore.cs b/src/ImageSharp/Formats/Gif/GifDecoderCore.cs index ab857a404..16dca3324 100644 --- a/src/ImageSharp/Formats/Gif/GifDecoderCore.cs +++ b/src/ImageSharp/Formats/Gif/GifDecoderCore.cs @@ -151,11 +151,6 @@ namespace SixLabors.ImageSharp.Formats.Gif } } } - //catch - //{ - // image?.Dispose(); - // throw; - //} finally { this.globalColorTable?.Dispose(); From 399d71ddf16c77ec660294c5a1142d5ecc736afd Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Sat, 9 Apr 2022 22:39:42 +0100 Subject: [PATCH 206/244] stylecopped --- src/ImageSharp/Formats/Webp/WebpDecoderCore.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs b/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs index 5646f71fa..7052be4ea 100644 --- a/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs +++ b/src/ImageSharp/Formats/Webp/WebpDecoderCore.cs @@ -85,7 +85,6 @@ namespace SixLabors.ImageSharp.Formats.Webp Image image = null; try { - this.Metadata = new ImageMetadata(); this.currentStream = stream; From d9af2395ee7fd6b3cc5b7032a13d0f68689eacc2 Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Sat, 9 Apr 2022 22:48:48 +0100 Subject: [PATCH 207/244] indent for full framwork --- src/ImageSharp/Diagnostics/MemoryDiagnostics.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs index 6af254413..f2a433ef1 100644 --- a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs +++ b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs @@ -131,9 +131,9 @@ namespace SixLabors.ImageSharp.Diagnostics allocationStackTrace, preferLocal: false); #else - ThreadPool.QueueUserWorkItem( - stackTrace => this.undisposedAllocation?.Invoke((string)stackTrace), - allocationStackTrace); + ThreadPool.QueueUserWorkItem( + stackTrace => this.undisposedAllocation?.Invoke((string)stackTrace), + allocationStackTrace); #endif } } From 99d12664a2cc558510cf97ecebe67f869dfb60b1 Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Sun, 10 Apr 2022 09:32:50 +0100 Subject: [PATCH 208/244] Async local doesn't actually work for the finalizers, revert that piece. --- .../Diagnostics/MemoryDiagnostics.cs | 96 ++++++++----------- 1 file changed, 40 insertions(+), 56 deletions(-) diff --git a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs index f2a433ef1..057242bae 100644 --- a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs +++ b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs @@ -17,6 +17,10 @@ namespace SixLabors.ImageSharp.Diagnostics { internal static readonly InteralMemoryDiagnostics Default = new(); private static AsyncLocal localInstance = null; + + // the async local end up out of scope during finalizers so putting into thte internal class is useless + private static UndisposedAllocationDelegate undisposedAllocation; + private static int undisposedAllocationSubscriptionCounter; private static readonly object SyncRoot = new(); /// @@ -26,8 +30,23 @@ namespace SixLabors.ImageSharp.Diagnostics /// public static event UndisposedAllocationDelegate UndisposedAllocation { - add => Current.UndisposedAllocation += value; - remove => Current.UndisposedAllocation -= value; + add + { + lock (SyncRoot) + { + undisposedAllocationSubscriptionCounter++; + undisposedAllocation += value; + } + } + + remove + { + lock (SyncRoot) + { + undisposedAllocation -= value; + undisposedAllocationSubscriptionCounter--; + } + } } internal static InteralMemoryDiagnostics Current @@ -61,81 +80,46 @@ namespace SixLabors.ImageSharp.Diagnostics /// public static int TotalUndisposedAllocationCount => Current.TotalUndisposedAllocationCount; - internal static bool UndisposedAllocationSubscribed => Current.UndisposedAllocationSubscribed; + internal static bool UndisposedAllocationSubscribed => Volatile.Read(ref undisposedAllocationSubscriptionCounter) > 0; internal static void IncrementTotalUndisposedAllocationCount() => Current.IncrementTotalUndisposedAllocationCount(); internal static void DecrementTotalUndisposedAllocationCount() => Current.DecrementTotalUndisposedAllocationCount(); internal static void RaiseUndisposedMemoryResource(string allocationStackTrace) - => Current.RaiseUndisposedMemoryResource(allocationStackTrace); + { + if (undisposedAllocation is null) + { + return; + } + + // Schedule on the ThreadPool, to avoid user callback messing up the finalizer thread. +#if NETSTANDARD2_1 || NETCOREAPP2_1_OR_GREATER + ThreadPool.QueueUserWorkItem( + stackTrace => undisposedAllocation?.Invoke(stackTrace), + allocationStackTrace, + preferLocal: false); +#else + ThreadPool.QueueUserWorkItem( + stackTrace => undisposedAllocation?.Invoke((string)stackTrace), + allocationStackTrace); +#endif + } internal class InteralMemoryDiagnostics { private int totalUndisposedAllocationCount; - private UndisposedAllocationDelegate undisposedAllocation; - private int undisposedAllocationSubscriptionCounter; - private readonly object syncRoot = new(); - - /// - /// Fires when an ImageSharp object's undisposed memory resource leaks to the finalizer. - /// The event brings significant overhead, and is intended to be used for troubleshooting only. - /// For production diagnostics, use . - /// - public event UndisposedAllocationDelegate UndisposedAllocation - { - add - { - lock (this.syncRoot) - { - this.undisposedAllocationSubscriptionCounter++; - this.undisposedAllocation += value; - } - } - - remove - { - lock (this.syncRoot) - { - this.undisposedAllocation -= value; - this.undisposedAllocationSubscriptionCounter--; - } - } - } - /// /// Gets a value indicating the total number of memory resource objects leaked to the finalizer. /// public int TotalUndisposedAllocationCount => this.totalUndisposedAllocationCount; - internal bool UndisposedAllocationSubscribed => Volatile.Read(ref this.undisposedAllocationSubscriptionCounter) > 0; - internal void IncrementTotalUndisposedAllocationCount() => Interlocked.Increment(ref this.totalUndisposedAllocationCount); internal void DecrementTotalUndisposedAllocationCount() => Interlocked.Decrement(ref this.totalUndisposedAllocationCount); - - internal void RaiseUndisposedMemoryResource(string allocationStackTrace) - { - if (this.undisposedAllocation is null) - { - return; - } - - // Schedule on the ThreadPool, to avoid user callback messing up the finalizer thread. -#if NETSTANDARD2_1 || NETCOREAPP2_1_OR_GREATER - ThreadPool.QueueUserWorkItem( - stackTrace => this.undisposedAllocation?.Invoke(stackTrace), - allocationStackTrace, - preferLocal: false); -#else - ThreadPool.QueueUserWorkItem( - stackTrace => this.undisposedAllocation?.Invoke((string)stackTrace), - allocationStackTrace); -#endif - } } } } From 558ff99b08d9a316b8a3f6502b0dc465677a9b16 Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Sun, 10 Apr 2022 09:42:48 +0100 Subject: [PATCH 209/244] revert Frame Dispose --- .../Formats/Jpeg/JpegDecoderCore.cs | 35 ++++++++----------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs index a4b42b994..ef4e3ffac 100644 --- a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs +++ b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs @@ -187,27 +187,20 @@ namespace SixLabors.ImageSharp.Formats.Jpeg where TPixel : unmanaged, IPixel { using var spectralConverter = new SpectralConverter(this.Configuration); - try - { - var scanDecoder = new HuffmanScanDecoder(stream, spectralConverter, cancellationToken); - - this.ParseStream(stream, scanDecoder, cancellationToken); - this.InitExifProfile(); - this.InitIccProfile(); - this.InitIptcProfile(); - this.InitXmpProfile(); - this.InitDerivedMetadataProperties(); - - return new Image( - this.Configuration, - spectralConverter.GetPixelBuffer(cancellationToken), - this.Metadata); - } - catch - { - this.Frame?.Dispose(); - throw; - } + + var scanDecoder = new HuffmanScanDecoder(stream, spectralConverter, cancellationToken); + + this.ParseStream(stream, scanDecoder, cancellationToken); + this.InitExifProfile(); + this.InitIccProfile(); + this.InitIptcProfile(); + this.InitXmpProfile(); + this.InitDerivedMetadataProperties(); + + return new Image( + this.Configuration, + spectralConverter.GetPixelBuffer(cancellationToken), + this.Metadata); } /// From ced98879ddb048860732aafb1f0678a51e9df1d5 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Mon, 11 Apr 2022 14:49:41 +0200 Subject: [PATCH 210/244] Add checks, if enough data was read --- src/ImageSharp/Formats/Gif/GifDecoderCore.cs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/ImageSharp/Formats/Gif/GifDecoderCore.cs b/src/ImageSharp/Formats/Gif/GifDecoderCore.cs index 16dca3324..d17e89cd4 100644 --- a/src/ImageSharp/Formats/Gif/GifDecoderCore.cs +++ b/src/ImageSharp/Formats/Gif/GifDecoderCore.cs @@ -221,7 +221,11 @@ namespace SixLabors.ImageSharp.Formats.Gif /// private void ReadGraphicalControlExtension() { - this.stream.Read(this.buffer, 0, 6); + int bytesRead = this.stream.Read(this.buffer, 0, 6); + if (bytesRead != 6) + { + GifThrowHelper.ThrowInvalidImageContentException("Not enough data to read the graphic control extension"); + } this.graphicsControlExtension = GifGraphicControlExtension.Parse(this.buffer); } @@ -231,7 +235,11 @@ namespace SixLabors.ImageSharp.Formats.Gif /// private void ReadImageDescriptor() { - this.stream.Read(this.buffer, 0, 9); + int bytesRead = this.stream.Read(this.buffer, 0, 9); + if (bytesRead != 9) + { + GifThrowHelper.ThrowInvalidImageContentException("Not enough data to read the image descriptor"); + } this.imageDescriptor = GifImageDescriptor.Parse(this.buffer); if (this.imageDescriptor.Height == 0 || this.imageDescriptor.Width == 0) @@ -245,7 +253,11 @@ namespace SixLabors.ImageSharp.Formats.Gif /// private void ReadLogicalScreenDescriptor() { - this.stream.Read(this.buffer, 0, 7); + int bytesRead = this.stream.Read(this.buffer, 0, 7); + if (bytesRead != 7) + { + GifThrowHelper.ThrowInvalidImageContentException("Not enough data to read the logical screen descriptor"); + } this.logicalScreenDescriptor = GifLogicalScreenDescriptor.Parse(this.buffer); } From cd7c91ccdf5a55e24fc62e63a7f4fca803341210 Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Mon, 11 Apr 2022 16:20:30 +0100 Subject: [PATCH 211/244] move AsyncLocal out of core lib and into testing --- .../Diagnostics/MemoryDiagnostics.cs | 67 ++++++------------- .../MemoryAllocatorValidator.cs | 64 +++++++++++++----- .../ImageProviders/FileProvider.cs | 4 +- ...idateDisposedMemoryAllocationsAttribute.cs | 19 +++--- 4 files changed, 80 insertions(+), 74 deletions(-) diff --git a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs index 057242bae..237f85b0f 100644 --- a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs +++ b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs @@ -1,6 +1,7 @@ // Copyright (c) Six Labors. // Licensed under the Apache License, Version 2.0. +using System; using System.Threading; namespace SixLabors.ImageSharp.Diagnostics @@ -15,10 +16,8 @@ namespace SixLabors.ImageSharp.Diagnostics /// public static class MemoryDiagnostics { - internal static readonly InteralMemoryDiagnostics Default = new(); - private static AsyncLocal localInstance = null; + private static int totalUndisposedAllocationCount; - // the async local end up out of scope during finalizers so putting into thte internal class is useless private static UndisposedAllocationDelegate undisposedAllocation; private static int undisposedAllocationSubscriptionCounter; private static readonly object SyncRoot = new(); @@ -49,42 +48,34 @@ namespace SixLabors.ImageSharp.Diagnostics } } - internal static InteralMemoryDiagnostics Current - { - get - { - if (localInstance != null && localInstance.Value != null) - { - return localInstance.Value; - } - - return Default; - } - - set - { - if (localInstance == null) - { - lock (SyncRoot) - { - localInstance ??= new AsyncLocal(); - } - } + /// + /// Fires when ImageSharp allocates memory from a MemoryAllocator + /// + internal static event Action MemoryAllocated; - localInstance.Value = value; - } - } + /// + /// Fires when ImageSharp releases allocated from a MemoryAllocator + /// + internal static event Action MemoryReleased; /// /// Gets a value indicating the total number of memory resource objects leaked to the finalizer. /// - public static int TotalUndisposedAllocationCount => Current.TotalUndisposedAllocationCount; + public static int TotalUndisposedAllocationCount => totalUndisposedAllocationCount; internal static bool UndisposedAllocationSubscribed => Volatile.Read(ref undisposedAllocationSubscriptionCounter) > 0; - internal static void IncrementTotalUndisposedAllocationCount() => Current.IncrementTotalUndisposedAllocationCount(); + internal static void IncrementTotalUndisposedAllocationCount() + { + Interlocked.Increment(ref totalUndisposedAllocationCount); + MemoryAllocated?.Invoke(); + } - internal static void DecrementTotalUndisposedAllocationCount() => Current.DecrementTotalUndisposedAllocationCount(); + internal static void DecrementTotalUndisposedAllocationCount() + { + Interlocked.Decrement(ref totalUndisposedAllocationCount); + MemoryReleased?.Invoke(); + } internal static void RaiseUndisposedMemoryResource(string allocationStackTrace) { @@ -105,21 +96,5 @@ namespace SixLabors.ImageSharp.Diagnostics allocationStackTrace); #endif } - - internal class InteralMemoryDiagnostics - { - private int totalUndisposedAllocationCount; - - /// - /// Gets a value indicating the total number of memory resource objects leaked to the finalizer. - /// - public int TotalUndisposedAllocationCount => this.totalUndisposedAllocationCount; - - internal void IncrementTotalUndisposedAllocationCount() => - Interlocked.Increment(ref this.totalUndisposedAllocationCount); - - internal void DecrementTotalUndisposedAllocationCount() => - Interlocked.Decrement(ref this.totalUndisposedAllocationCount); - } } } diff --git a/tests/ImageSharp.Tests/MemoryAllocatorValidator.cs b/tests/ImageSharp.Tests/MemoryAllocatorValidator.cs index 2c3d98eb1..13664ee9b 100644 --- a/tests/ImageSharp.Tests/MemoryAllocatorValidator.cs +++ b/tests/ImageSharp.Tests/MemoryAllocatorValidator.cs @@ -2,7 +2,7 @@ // Licensed under the Apache License, Version 2.0. using System; -using System.Diagnostics; +using System.Threading; using SixLabors.ImageSharp.Diagnostics; using Xunit; @@ -10,34 +10,68 @@ namespace SixLabors.ImageSharp.Tests { public static class MemoryAllocatorValidator { - public static IDisposable MonitorAllocations(int max = 0) + private static readonly AsyncLocal LocalInstance = new(); + + public static bool MonitoringAllocations => LocalInstance.Value != null; + + static MemoryAllocatorValidator() { - MemoryDiagnostics.Current = new(); - return new TestMemoryAllocatorDisposable(max); + MemoryDiagnostics.MemoryAllocated += MemoryDiagnostics_MemoryAllocated; + MemoryDiagnostics.MemoryReleased += MemoryDiagnostics_MemoryReleased; } - public static void ValidateAllocation(int max = 0) + private static void MemoryDiagnostics_MemoryReleased() { - var count = MemoryDiagnostics.TotalUndisposedAllocationCount; - var pass = count <= max; - Assert.True(pass, $"Expected a max of {max} undisposed buffers but found {count}"); + TestMemoryDiagnostics backing = LocalInstance.Value; + if (backing != null) + { + backing.TotalRemainingAllocated--; + } + } - if (count > 0) + private static void MemoryDiagnostics_MemoryAllocated() + { + TestMemoryDiagnostics backing = LocalInstance.Value; + if (backing != null) { - Debug.WriteLine("We should have Zero undisposed memory allocations."); + backing.TotalAllocated++; + backing.TotalRemainingAllocated++; } + } - MemoryDiagnostics.Current = null; + public static TestMemoryDiagnostics MonitorAllocations() + { + var diag = new TestMemoryDiagnostics(); + LocalInstance.Value = diag; + return diag; } - public struct TestMemoryAllocatorDisposable : IDisposable + public static void StopMonitoringAllocations() => LocalInstance.Value = null; + + public static void ValidateAllocations(int expectedAllocationCount = 0) + => LocalInstance.Value?.Validate(expectedAllocationCount); + + public class TestMemoryDiagnostics : IDisposable { - private readonly int max; + public int TotalAllocated { get; set; } - public TestMemoryAllocatorDisposable(int max) => this.max = max; + public int TotalRemainingAllocated { get; set; } + + public void Validate(int expectedAllocationCount) + { + var count = this.TotalRemainingAllocated; + var pass = expectedAllocationCount == count; + Assert.True(pass, $"Expected a {expectedAllocationCount} undisposed buffers but found {count}"); + } public void Dispose() - => ValidateAllocation(this.max); + { + this.Validate(0); + if (LocalInstance.Value == this) + { + StopMonitoringAllocations(); + } + } } } } diff --git a/tests/ImageSharp.Tests/TestUtilities/ImageProviders/FileProvider.cs b/tests/ImageSharp.Tests/TestUtilities/ImageProviders/FileProvider.cs index 3675356c3..63c5ce31a 100644 --- a/tests/ImageSharp.Tests/TestUtilities/ImageProviders/FileProvider.cs +++ b/tests/ImageSharp.Tests/TestUtilities/ImageProviders/FileProvider.cs @@ -159,8 +159,8 @@ namespace SixLabors.ImageSharp.Tests return this.LoadImage(decoder); } - // do cache so we can track allocation correctly when validating memory - if (MemoryDiagnostics.Current != MemoryDiagnostics.Default) + // do not cache so we can track allocation correctly when validating memory + if (MemoryAllocatorValidator.MonitoringAllocations) { return this.LoadImage(decoder); } diff --git a/tests/ImageSharp.Tests/ValidateDisposedMemoryAllocationsAttribute.cs b/tests/ImageSharp.Tests/ValidateDisposedMemoryAllocationsAttribute.cs index 95d13b595..65ed990dd 100644 --- a/tests/ImageSharp.Tests/ValidateDisposedMemoryAllocationsAttribute.cs +++ b/tests/ImageSharp.Tests/ValidateDisposedMemoryAllocationsAttribute.cs @@ -11,26 +11,23 @@ namespace SixLabors.ImageSharp.Tests [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)] public class ValidateDisposedMemoryAllocationsAttribute : BeforeAfterTestAttribute { - private readonly int max = 0; + private readonly int expected = 0; public ValidateDisposedMemoryAllocationsAttribute() : this(0) { } - public ValidateDisposedMemoryAllocationsAttribute(int max) - { - this.max = max; - if (max > 0) - { - Debug.WriteLine("Needs fixing, we shoudl have Zero undisposed memory allocations."); - } - } + public ValidateDisposedMemoryAllocationsAttribute(int expected) + => this.expected = expected; public override void Before(MethodInfo methodUnderTest) - => MemoryAllocatorValidator.MonitorAllocations(this.max); // the disposable isn't important cause the validate below does the same thing + => MemoryAllocatorValidator.MonitorAllocations(); public override void After(MethodInfo methodUnderTest) - => MemoryAllocatorValidator.ValidateAllocation(this.max); + { + MemoryAllocatorValidator.ValidateAllocations(this.expected); + MemoryAllocatorValidator.StopMonitoringAllocations(); + } } } From f5975075006934c25afea64868b99ab9d598e9bc Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Mon, 11 Apr 2022 16:23:59 +0100 Subject: [PATCH 212/244] fix comment --- src/ImageSharp/Diagnostics/MemoryDiagnostics.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs index 237f85b0f..89f18cff6 100644 --- a/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs +++ b/src/ImageSharp/Diagnostics/MemoryDiagnostics.cs @@ -54,7 +54,7 @@ namespace SixLabors.ImageSharp.Diagnostics internal static event Action MemoryAllocated; /// - /// Fires when ImageSharp releases allocated from a MemoryAllocator + /// Fires when ImageSharp releases memory allocated from a MemoryAllocator /// internal static event Action MemoryReleased; From f4f521cc5beccaa3b1ecf4f41dfacc6a0cb298a8 Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Tue, 12 Apr 2022 17:56:08 +0100 Subject: [PATCH 213/244] revert to allow easier merge --- src/ImageSharp/Formats/Png/PngDecoderCore.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/ImageSharp/Formats/Png/PngDecoderCore.cs b/src/ImageSharp/Formats/Png/PngDecoderCore.cs index 12770bc52..05ce8d92e 100644 --- a/src/ImageSharp/Formats/Png/PngDecoderCore.cs +++ b/src/ImageSharp/Formats/Png/PngDecoderCore.cs @@ -1367,7 +1367,6 @@ namespace SixLabors.ImageSharp.Formats.Png { if (chunk.Type == PngChunkType.Data) { - chunk.Data?.Dispose(); return chunk.Length; } From 03d0b63c7c5ddf487f351238395f771976624544 Mon Sep 17 00:00:00 2001 From: miere43 Date: Sat, 9 Apr 2022 17:57:06 +0300 Subject: [PATCH 214/244] Fix chunk data memory leak when decoding PNG. Fix #2080 --- src/ImageSharp/Formats/Png/PngDecoderCore.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ImageSharp/Formats/Png/PngDecoderCore.cs b/src/ImageSharp/Formats/Png/PngDecoderCore.cs index 05ce8d92e..12770bc52 100644 --- a/src/ImageSharp/Formats/Png/PngDecoderCore.cs +++ b/src/ImageSharp/Formats/Png/PngDecoderCore.cs @@ -1367,6 +1367,7 @@ namespace SixLabors.ImageSharp.Formats.Png { if (chunk.Type == PngChunkType.Data) { + chunk.Data?.Dispose(); return chunk.Length; } From 8cdcda343b5004b9f41da9884ffbce162e361400 Mon Sep 17 00:00:00 2001 From: Dmitry Pentin Date: Wed, 13 Apr 2022 15:56:23 +0300 Subject: [PATCH 215/244] Added sanity check for every jpeg marker --- .../Formats/Jpeg/JpegDecoderCore.cs | 40 +++++++++++-------- .../Formats/Jpeg/JpegThrowHelper.cs | 3 ++ src/ImageSharp/IO/BufferedReadStream.cs | 9 +++++ 3 files changed, 36 insertions(+), 16 deletions(-) diff --git a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs index ef4e3ffac..52cd41191 100644 --- a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs +++ b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs @@ -315,14 +315,22 @@ namespace SixLabors.ImageSharp.Formats.Jpeg if (!fileMarker.Invalid) { // Get the marker length. - int remaining = this.ReadUint16(stream) - 2; + int markerContentByteSize = this.ReadUint16(stream) - 2; + + // Check whether stream actually has enought bytes to read + // markerContentByteSize is always positive so we cast + // to uint to avoid sign extension + if (stream.RemainingBytes < (uint)markerContentByteSize) + { + JpegThrowHelper.ThrowNotEnoughBytesForMarker(fileMarker.Marker); + } switch (fileMarker.Marker) { case JpegConstants.Markers.SOF0: case JpegConstants.Markers.SOF1: case JpegConstants.Markers.SOF2: - this.ProcessStartOfFrameMarker(stream, remaining, fileMarker, metadataOnly); + this.ProcessStartOfFrameMarker(stream, markerContentByteSize, fileMarker, metadataOnly); break; case JpegConstants.Markers.SOF5: @@ -350,7 +358,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg case JpegConstants.Markers.SOS: if (!metadataOnly) { - this.ProcessStartOfScanMarker(stream, remaining); + this.ProcessStartOfScanMarker(stream, markerContentByteSize); break; } else @@ -364,41 +372,41 @@ namespace SixLabors.ImageSharp.Formats.Jpeg if (metadataOnly) { - stream.Skip(remaining); + stream.Skip(markerContentByteSize); } else { - this.ProcessDefineHuffmanTablesMarker(stream, remaining); + this.ProcessDefineHuffmanTablesMarker(stream, markerContentByteSize); } break; case JpegConstants.Markers.DQT: - this.ProcessDefineQuantizationTablesMarker(stream, remaining); + this.ProcessDefineQuantizationTablesMarker(stream, markerContentByteSize); break; case JpegConstants.Markers.DRI: if (metadataOnly) { - stream.Skip(remaining); + stream.Skip(markerContentByteSize); } else { - this.ProcessDefineRestartIntervalMarker(stream, remaining); + this.ProcessDefineRestartIntervalMarker(stream, markerContentByteSize); } break; case JpegConstants.Markers.APP0: - this.ProcessApplicationHeaderMarker(stream, remaining); + this.ProcessApplicationHeaderMarker(stream, markerContentByteSize); break; case JpegConstants.Markers.APP1: - this.ProcessApp1Marker(stream, remaining); + this.ProcessApp1Marker(stream, markerContentByteSize); break; case JpegConstants.Markers.APP2: - this.ProcessApp2Marker(stream, remaining); + this.ProcessApp2Marker(stream, markerContentByteSize); break; case JpegConstants.Markers.APP3: @@ -411,20 +419,20 @@ namespace SixLabors.ImageSharp.Formats.Jpeg case JpegConstants.Markers.APP10: case JpegConstants.Markers.APP11: case JpegConstants.Markers.APP12: - stream.Skip(remaining); + stream.Skip(markerContentByteSize); break; case JpegConstants.Markers.APP13: - this.ProcessApp13Marker(stream, remaining); + this.ProcessApp13Marker(stream, markerContentByteSize); break; case JpegConstants.Markers.APP14: - this.ProcessApp14Marker(stream, remaining); + this.ProcessApp14Marker(stream, markerContentByteSize); break; case JpegConstants.Markers.APP15: case JpegConstants.Markers.COM: - stream.Skip(remaining); + stream.Skip(markerContentByteSize); break; case JpegConstants.Markers.DAC: @@ -1260,7 +1268,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg int selectorsBytes = selectorsCount * 2; if (remaining != 4 + selectorsBytes) { - JpegThrowHelper.ThrowBadMarker("SOS", remaining); + JpegThrowHelper.ThrowBadMarker(nameof(JpegConstants.Markers.SOS), remaining); } // selectorsCount*2 bytes: component index + huffman tables indices diff --git a/src/ImageSharp/Formats/Jpeg/JpegThrowHelper.cs b/src/ImageSharp/Formats/Jpeg/JpegThrowHelper.cs index b238e45ef..1073ffff7 100644 --- a/src/ImageSharp/Formats/Jpeg/JpegThrowHelper.cs +++ b/src/ImageSharp/Formats/Jpeg/JpegThrowHelper.cs @@ -25,6 +25,9 @@ namespace SixLabors.ImageSharp.Formats.Jpeg [MethodImpl(InliningOptions.ColdPath)] public static void ThrowBadMarker(string marker, int length) => throw new InvalidImageContentException($"Marker {marker} has bad length {length}."); + [MethodImpl(InliningOptions.ColdPath)] + public static void ThrowNotEnoughBytesForMarker(byte marker) => throw new InvalidImageContentException($"Input stream does not have enough bytes to parse declared contents of the {marker:X2} marker."); + [MethodImpl(InliningOptions.ColdPath)] public static void ThrowBadQuantizationTableIndex(int index) => throw new InvalidImageContentException($"Bad Quantization Table index {index}."); diff --git a/src/ImageSharp/IO/BufferedReadStream.cs b/src/ImageSharp/IO/BufferedReadStream.cs index 4ab7f312b..2823b8ed6 100644 --- a/src/ImageSharp/IO/BufferedReadStream.cs +++ b/src/ImageSharp/IO/BufferedReadStream.cs @@ -114,6 +114,15 @@ namespace SixLabors.ImageSharp.IO /// public override bool CanWrite { get; } = false; + /// + /// Gets remaining byte count available to read. + /// + public long RemainingBytes + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get => this.Length - this.Position; + } + /// /// Gets the underlying stream. /// From 64d9146a8d6def56c5970c774193e36aeb202f90 Mon Sep 17 00:00:00 2001 From: Dmitry Pentin Date: Wed, 13 Apr 2022 22:00:40 +0300 Subject: [PATCH 216/244] Added malformed image --- tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs | 1 + tests/ImageSharp.Tests/TestImages.cs | 1 + .../Input/Jpg/issues/fuzz/Issue2085-NullReferenceException.jpg | 3 +++ 3 files changed, 5 insertions(+) create mode 100644 tests/Images/Input/Jpg/issues/fuzz/Issue2085-NullReferenceException.jpg diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs index 70cbc3af7..d5e0f081b 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs @@ -105,6 +105,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg TestImages.Jpeg.Issues.Fuzz.IndexOutOfRangeException1693A, TestImages.Jpeg.Issues.Fuzz.IndexOutOfRangeException1693B, TestImages.Jpeg.Issues.Fuzz.IndexOutOfRangeException824C, + TestImages.Jpeg.Issues.Fuzz.NullReferenceException2085, }; private static readonly Dictionary CustomToleranceValues = new() diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index 07aff6fc1..bbc0b1e3d 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -292,6 +292,7 @@ namespace SixLabors.ImageSharp.Tests public const string AccessViolationException922 = "Jpg/issues/fuzz/Issue922-AccessViolationException.jpg"; public const string IndexOutOfRangeException1693A = "Jpg/issues/fuzz/Issue1693-IndexOutOfRangeException-A.jpg"; public const string IndexOutOfRangeException1693B = "Jpg/issues/fuzz/Issue1693-IndexOutOfRangeException-B.jpg"; + public const string NullReferenceException2085 = "Jpg/issues/fuzz/Issue2085-NullReferenceException.jpg"; } } diff --git a/tests/Images/Input/Jpg/issues/fuzz/Issue2085-NullReferenceException.jpg b/tests/Images/Input/Jpg/issues/fuzz/Issue2085-NullReferenceException.jpg new file mode 100644 index 000000000..8a680ff6a --- /dev/null +++ b/tests/Images/Input/Jpg/issues/fuzz/Issue2085-NullReferenceException.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d478beff34179fda26238a44434607c276f55438ee96824c5af8c0188d358d8d +size 234 From c7f9d54705f617e14a415346a2c8f7ce199091c7 Mon Sep 17 00:00:00 2001 From: Dmitry Pentin Date: Thu, 14 Apr 2022 14:01:01 +0300 Subject: [PATCH 217/244] Fixed string exif value corner case null ref exception --- .../Profiles/Exif/ExifEncodedStringHelpers.cs | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs index 5fd613b1f..6e697029e 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs @@ -79,16 +79,8 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif return CharacterCodeBytesLength + count; } - public static unsafe int Write(Encoding encoding, string value, Span destination) - { - fixed (char* c = value) - { - fixed (byte* b = destination) - { - return encoding.GetBytes(c, value.Length, b, destination.Length); - } - } - } + public static unsafe int Write(Encoding encoding, string value, Span destination) => + encoding.GetBytes(value.AsSpan(), destination); private static bool TryDetect(ReadOnlySpan buffer, out CharacterCode code) { From 210945f93909ab903e08456ef51a964841127b43 Mon Sep 17 00:00:00 2001 From: Dmitry Pentin Date: Thu, 14 Apr 2022 15:01:54 +0300 Subject: [PATCH 218/244] Fixed compilation error for older frameworks --- .../Profiles/Exif/ExifEncodedStringHelpers.cs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs index 6e697029e..4dc7f8398 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs @@ -79,8 +79,20 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif return CharacterCodeBytesLength + count; } - public static unsafe int Write(Encoding encoding, string value, Span destination) => - encoding.GetBytes(value.AsSpan(), destination); + public static unsafe int Write(Encoding encoding, string value, Span destination) +#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP2_1_OR_GREATER || NET + => encoding.GetBytes(value.AsSpan(), destination); +#else + { + fixed (char* c = value) + { + fixed (byte* b = destination) + { + return encoding.GetBytes(c, value.Length, b, destination.Length); + } + } + } +#endif private static bool TryDetect(ReadOnlySpan buffer, out CharacterCode code) { From 55d01f231f840f3d57e997be43040e85fb3dc205 Mon Sep 17 00:00:00 2001 From: Dmitry Pentin Date: Thu, 14 Apr 2022 15:03:59 +0300 Subject: [PATCH 219/244] Added guard clause of empty exif strings --- .../Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs b/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs index 4dc7f8398..4ec9b3267 100644 --- a/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs +++ b/src/ImageSharp/Metadata/Profiles/Exif/ExifEncodedStringHelpers.cs @@ -84,6 +84,11 @@ namespace SixLabors.ImageSharp.Metadata.Profiles.Exif => encoding.GetBytes(value.AsSpan(), destination); #else { + if (value.Length == 0) + { + return 0; + } + fixed (char* c = value) { fixed (byte* b = destination) From d1c6e5042900dbbe8668e82e3213764453506b76 Mon Sep 17 00:00:00 2001 From: Dmitry Pentin Date: Fri, 15 Apr 2022 12:08:58 +0300 Subject: [PATCH 220/244] Added test image --- .../Formats/Jpg/JpegDecoderTests.Images.cs | 1 + .../Formats/Jpg/JpegEncoderTests.Metadata.cs | 33 +++++++++++++++++++ .../Formats/Jpg/JpegEncoderTests.cs | 2 +- tests/ImageSharp.Tests/TestImages.cs | 1 + ...ssue2087-exif-null-reference-on-encode.jpg | 3 ++ 5 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.Metadata.cs create mode 100644 tests/Images/Input/Jpg/issues/Issue2087-exif-null-reference-on-encode.jpg diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs index 70cbc3af7..60439bc3d 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs @@ -33,6 +33,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg TestImages.Jpeg.Issues.ExifGetString750Load, TestImages.Jpeg.Issues.ExifGetString750Transform, TestImages.Jpeg.Issues.BadSubSampling1076, + TestImages.Jpeg.Issues.ValidExifArgumentNullExceptionOnEncode, // LibJpeg can open this despite the invalid density units. TestImages.Jpeg.Issues.Fuzz.ArgumentOutOfRangeException825B, diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.Metadata.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.Metadata.cs new file mode 100644 index 000000000..46ac23be1 --- /dev/null +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.Metadata.cs @@ -0,0 +1,33 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +using System; +using System.IO; +using SixLabors.ImageSharp.Formats.Jpeg; +using SixLabors.ImageSharp.PixelFormats; + +using Xunit; + +namespace SixLabors.ImageSharp.Tests.Formats.Jpg +{ + [Trait("Format", "Jpg")] + public partial class JpegEncoderTests + { + [Theory] + [WithFile(TestImages.Jpeg.Issues.ValidExifArgumentNullExceptionOnEncode, PixelTypes.Rgba32)] + public void Encode_WithValidExifProfile_DoesNotThrowException(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + Exception exception = Record.Exception(() => + { + var encoder = new JpegEncoder(); + var stream = new MemoryStream(); + + using Image image = provider.GetImage(JpegDecoder); + image.Save(stream, encoder); + }); + + Assert.Null(exception); + } + } +} diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.cs index 18eae9fbd..d860836e0 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.cs @@ -20,7 +20,7 @@ using Xunit; namespace SixLabors.ImageSharp.Tests.Formats.Jpg { [Trait("Format", "Jpg")] - public class JpegEncoderTests + public partial class JpegEncoderTests { private static JpegEncoder JpegEncoder => new(); diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index 07aff6fc1..4ea740266 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -264,6 +264,7 @@ namespace SixLabors.ImageSharp.Tests public const string InvalidIptcTag = "Jpg/issues/Issue1942InvalidIptcTag.jpg"; public const string Issue2057App1Parsing = "Jpg/issues/Issue2057-App1Parsing.jpg"; public const string ExifNullArrayTag = "Jpg/issues/issue-2056-exif-null-array.jpg"; + public const string ValidExifArgumentNullExceptionOnEncode = "Jpg/issues/Issue2087-exif-null-reference-on-encode.jpg"; public static class Fuzz { diff --git a/tests/Images/Input/Jpg/issues/Issue2087-exif-null-reference-on-encode.jpg b/tests/Images/Input/Jpg/issues/Issue2087-exif-null-reference-on-encode.jpg new file mode 100644 index 000000000..e95ef7a73 --- /dev/null +++ b/tests/Images/Input/Jpg/issues/Issue2087-exif-null-reference-on-encode.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d41a41180a3371d0c4a724b40a4c86f6f975dab6be9da96964a484818770394 +size 30715 From cde4a88c22d461375aabc4dd632dd96c154b88e5 Mon Sep 17 00:00:00 2001 From: Dmitry Pentin Date: Fri, 15 Apr 2022 12:13:57 +0300 Subject: [PATCH 221/244] Removed invalid image from test suite --- tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs | 1 - .../ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.Metadata.cs | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs index 60439bc3d..70cbc3af7 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.Images.cs @@ -33,7 +33,6 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg TestImages.Jpeg.Issues.ExifGetString750Load, TestImages.Jpeg.Issues.ExifGetString750Transform, TestImages.Jpeg.Issues.BadSubSampling1076, - TestImages.Jpeg.Issues.ValidExifArgumentNullExceptionOnEncode, // LibJpeg can open this despite the invalid density units. TestImages.Jpeg.Issues.Fuzz.ArgumentOutOfRangeException825B, diff --git a/tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.Metadata.cs b/tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.Metadata.cs index 46ac23be1..2bbce6cb1 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.Metadata.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.Metadata.cs @@ -18,7 +18,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg public void Encode_WithValidExifProfile_DoesNotThrowException(TestImageProvider provider) where TPixel : unmanaged, IPixel { - Exception exception = Record.Exception(() => + Exception ex = Record.Exception(() => { var encoder = new JpegEncoder(); var stream = new MemoryStream(); @@ -27,7 +27,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg image.Save(stream, encoder); }); - Assert.Null(exception); + Assert.Null(ex); } } } From 2ac18d816f0074f51a19983662594090516a0a7a Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Sat, 16 Apr 2022 18:39:49 +1000 Subject: [PATCH 222/244] Optimize tiff/jpeg checks --- .../Formats/Jpeg/JpegDecoderCore.cs | 35 ++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs index a7f93b0e8..533ffa719 100644 --- a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs +++ b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs @@ -228,16 +228,17 @@ namespace SixLabors.ImageSharp.Formats.Jpeg this.Metadata = new ImageMetadata(); this.QuantizationTables = new Block8x8F[4]; this.scanDecoder = huffmanScanDecoder; + + if (tableBytes.Length < 4) + { + JpegThrowHelper.ThrowInvalidImageContentException("Not enough data to read marker"); + } + using var ms = new MemoryStream(tableBytes); using var stream = new BufferedReadStream(this.Configuration, ms); // Check for the Start Of Image marker. int bytesRead = stream.Read(this.markerBuffer, 0, 2); - if (bytesRead != 2) - { - JpegThrowHelper.ThrowInvalidImageContentException("Not enough data to read the SOI marker"); - } - var fileMarker = new JpegFileMarker(this.markerBuffer[1], 0); if (fileMarker.Marker != JpegConstants.Markers.SOI) { @@ -246,20 +247,22 @@ namespace SixLabors.ImageSharp.Formats.Jpeg // Read next marker. bytesRead = stream.Read(this.markerBuffer, 0, 2); - if (bytesRead != 2) - { - JpegThrowHelper.ThrowInvalidImageContentException("Not enough data to read marker"); - } - - byte marker = this.markerBuffer[1]; - fileMarker = new JpegFileMarker(marker, (int)stream.Position - 2); + fileMarker = new JpegFileMarker(this.markerBuffer[1], (int)stream.Position - 2); while (fileMarker.Marker != JpegConstants.Markers.EOI || (fileMarker.Marker == JpegConstants.Markers.EOI && fileMarker.Invalid)) { if (!fileMarker.Invalid) { // Get the marker length. - int remaining = this.ReadUint16(stream) - 2; + int markerContentByteSize = this.ReadUint16(stream) - 2; + + // Check whether stream actually has enought bytes to read + // markerContentByteSize is always positive so we cast + // to uint to avoid sign extension + if (stream.RemainingBytes < (uint)markerContentByteSize) + { + JpegThrowHelper.ThrowNotEnoughBytesForMarker(fileMarker.Marker); + } switch (fileMarker.Marker) { @@ -269,13 +272,13 @@ namespace SixLabors.ImageSharp.Formats.Jpeg case JpegConstants.Markers.RST7: break; case JpegConstants.Markers.DHT: - this.ProcessDefineHuffmanTablesMarker(stream, remaining); + this.ProcessDefineHuffmanTablesMarker(stream, markerContentByteSize); break; case JpegConstants.Markers.DQT: - this.ProcessDefineQuantizationTablesMarker(stream, remaining); + this.ProcessDefineQuantizationTablesMarker(stream, markerContentByteSize); break; case JpegConstants.Markers.DRI: - this.ProcessDefineRestartIntervalMarker(stream, remaining); + this.ProcessDefineRestartIntervalMarker(stream, markerContentByteSize); break; case JpegConstants.Markers.EOI: return; From d8012cab6fe86f7dc95c44f55e0322a94c120918 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Fri, 22 Apr 2022 16:46:01 +1000 Subject: [PATCH 223/244] Use .NET 6 only --- .github/workflows/build-and-test.yml | 49 +++++-------------- .github/workflows/code-coverage.yml | 8 ++- ImageSharp.sln | 18 ------- src/ImageSharp/ImageSharp.csproj | 31 ++---------- .../ImageSharp.Benchmarks.csproj | 11 ++--- .../ImageSharp.Tests.ProfilingSandbox.csproj | 11 ++--- .../LoadResizeSaveParallelMemoryStress.cs | 1 - .../ImageSharp.Tests/ImageSharp.Tests.csproj | 12 ++--- 8 files changed, 34 insertions(+), 107 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 43a4a1708..551d2e052 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -15,59 +15,38 @@ jobs: matrix: options: - os: ubuntu-latest - framework: net6.0 - sdk: 6.0.x + framework: net7.0 + sdk: 7.0.x sdk-preview: true runtime: -x64 codecov: false - os: macos-latest - framework: net6.0 - sdk: 6.0.x + framework: net7.0 + sdk: 7.0.x sdk-preview: true runtime: -x64 codecov: false - os: windows-latest - framework: net6.0 - sdk: 6.0.x + framework: net7.0 + sdk: 7.0.x sdk-preview: true runtime: -x64 codecov: false - os: ubuntu-latest - framework: net5.0 - runtime: -x64 - codecov: false - - os: macos-latest - framework: net5.0 - runtime: -x64 - codecov: false - - os: windows-latest - framework: net5.0 - runtime: -x64 - codecov: false - - os: ubuntu-latest - framework: netcoreapp3.1 + framework: net6.0 + sdk: 6.0.x runtime: -x64 codecov: false - os: macos-latest - framework: netcoreapp3.1 - runtime: -x64 - codecov: false - - os: windows-latest - framework: netcoreapp3.1 - runtime: -x64 - codecov: false - - os: windows-latest - framework: netcoreapp2.1 + framework: net6.0 + sdk: 6.0.x runtime: -x64 codecov: false - os: windows-latest - framework: net472 + framework: net6.0 + sdk: 6.0.x runtime: -x64 codecov: false - - os: windows-latest - framework: net472 - runtime: -x86 - codecov: false runs-on: ${{matrix.options.os}} @@ -113,10 +92,8 @@ jobs: uses: actions/setup-dotnet@v1 with: dotnet-version: | + 7.0.x 6.0.x - 5.0.x - 3.1.x - 2.1.x - name: DotNet Build if: ${{ matrix.options.sdk-preview != true }} diff --git a/.github/workflows/code-coverage.yml b/.github/workflows/code-coverage.yml index 2b14f2a4b..3f8a82031 100644 --- a/.github/workflows/code-coverage.yml +++ b/.github/workflows/code-coverage.yml @@ -10,7 +10,7 @@ jobs: matrix: options: - os: ubuntu-latest - framework: netcoreapp3.1 + framework: net6.0 runtime: -x64 codecov: true @@ -54,6 +54,12 @@ jobs: key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj', '**/*.props', '**/*.targets') }} restore-keys: ${{ runner.os }}-nuget- + - name: DotNet Setup + uses: actions/setup-dotnet@v1 + with: + dotnet-version: | + 6.0.x + - name: DotNet Build shell: pwsh run: ./ci-build.ps1 "${{matrix.options.framework}}" diff --git a/ImageSharp.sln b/ImageSharp.sln index 5428f3394..fbf1ca24b 100644 --- a/ImageSharp.sln +++ b/ImageSharp.sln @@ -654,43 +654,25 @@ Global EndGlobalSection GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU - Debug-InnerLoop|Any CPU = Debug-InnerLoop|Any CPU Release|Any CPU = Release|Any CPU - Release-InnerLoop|Any CPU = Release-InnerLoop|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {2AA31A1F-142C-43F4-8687-09ABCA4B3A26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2AA31A1F-142C-43F4-8687-09ABCA4B3A26}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2AA31A1F-142C-43F4-8687-09ABCA4B3A26}.Debug-InnerLoop|Any CPU.ActiveCfg = Debug-InnerLoop|Any CPU - {2AA31A1F-142C-43F4-8687-09ABCA4B3A26}.Debug-InnerLoop|Any CPU.Build.0 = Debug-InnerLoop|Any CPU {2AA31A1F-142C-43F4-8687-09ABCA4B3A26}.Release|Any CPU.ActiveCfg = Release|Any CPU {2AA31A1F-142C-43F4-8687-09ABCA4B3A26}.Release|Any CPU.Build.0 = Release|Any CPU - {2AA31A1F-142C-43F4-8687-09ABCA4B3A26}.Release-InnerLoop|Any CPU.ActiveCfg = Release-InnerLoop|Any CPU - {2AA31A1F-142C-43F4-8687-09ABCA4B3A26}.Release-InnerLoop|Any CPU.Build.0 = Release-InnerLoop|Any CPU {EA3000E9-2A91-4EC4-8A68-E566DEBDC4F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {EA3000E9-2A91-4EC4-8A68-E566DEBDC4F6}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EA3000E9-2A91-4EC4-8A68-E566DEBDC4F6}.Debug-InnerLoop|Any CPU.ActiveCfg = Debug-InnerLoop|Any CPU - {EA3000E9-2A91-4EC4-8A68-E566DEBDC4F6}.Debug-InnerLoop|Any CPU.Build.0 = Debug-InnerLoop|Any CPU {EA3000E9-2A91-4EC4-8A68-E566DEBDC4F6}.Release|Any CPU.ActiveCfg = Release|Any CPU {EA3000E9-2A91-4EC4-8A68-E566DEBDC4F6}.Release|Any CPU.Build.0 = Release|Any CPU - {EA3000E9-2A91-4EC4-8A68-E566DEBDC4F6}.Release-InnerLoop|Any CPU.ActiveCfg = Release-InnerLoop|Any CPU - {EA3000E9-2A91-4EC4-8A68-E566DEBDC4F6}.Release-InnerLoop|Any CPU.Build.0 = Release-InnerLoop|Any CPU {2BF743D8-2A06-412D-96D7-F448F00C5EA5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {2BF743D8-2A06-412D-96D7-F448F00C5EA5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2BF743D8-2A06-412D-96D7-F448F00C5EA5}.Debug-InnerLoop|Any CPU.ActiveCfg = Debug-InnerLoop|Any CPU - {2BF743D8-2A06-412D-96D7-F448F00C5EA5}.Debug-InnerLoop|Any CPU.Build.0 = Debug-InnerLoop|Any CPU {2BF743D8-2A06-412D-96D7-F448F00C5EA5}.Release|Any CPU.ActiveCfg = Release|Any CPU {2BF743D8-2A06-412D-96D7-F448F00C5EA5}.Release|Any CPU.Build.0 = Release|Any CPU - {2BF743D8-2A06-412D-96D7-F448F00C5EA5}.Release-InnerLoop|Any CPU.ActiveCfg = Release-InnerLoop|Any CPU - {2BF743D8-2A06-412D-96D7-F448F00C5EA5}.Release-InnerLoop|Any CPU.Build.0 = Release-InnerLoop|Any CPU {FC527290-2F22-432C-B77B-6E815726B02C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FC527290-2F22-432C-B77B-6E815726B02C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FC527290-2F22-432C-B77B-6E815726B02C}.Debug-InnerLoop|Any CPU.ActiveCfg = Debug-InnerLoop|Any CPU - {FC527290-2F22-432C-B77B-6E815726B02C}.Debug-InnerLoop|Any CPU.Build.0 = Debug-InnerLoop|Any CPU {FC527290-2F22-432C-B77B-6E815726B02C}.Release|Any CPU.ActiveCfg = Release|Any CPU {FC527290-2F22-432C-B77B-6E815726B02C}.Release|Any CPU.Build.0 = Release|Any CPU - {FC527290-2F22-432C-B77B-6E815726B02C}.Release-InnerLoop|Any CPU.ActiveCfg = Release-InnerLoop|Any CPU - {FC527290-2F22-432C-B77B-6E815726B02C}.Release-InnerLoop|Any CPU.Build.0 = Release-InnerLoop|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/ImageSharp/ImageSharp.csproj b/src/ImageSharp/ImageSharp.csproj index 39c85c4f2..7e58607dd 100644 --- a/src/ImageSharp/ImageSharp.csproj +++ b/src/ImageSharp/ImageSharp.csproj @@ -12,33 +12,23 @@ $(RepositoryUrl) Image Resize Crop Gif Jpg Jpeg Bitmap Pbm Png Tga Tiff WebP NetCore A new, fully featured, fully managed, cross-platform, 2D graphics API for .NET - Debug;Release;Debug-InnerLoop;Release-InnerLoop + Debug;Release - - 2.0 + + 3.0 - net6.0;net5.0;netcoreapp3.1;netcoreapp2.1;netstandard2.1;netstandard2.0;net472 - - - - - net5.0;netcoreapp3.1;netcoreapp2.1;netstandard2.1;netstandard2.0;net472 - - - - - netcoreapp3.1 + net7.0;net6.0 - netcoreapp3.1;netcoreapp2.1;netstandard2.1;netstandard2.0;net472 + net6.0 @@ -47,17 +37,6 @@ - - - - - - - - - - - True diff --git a/tests/ImageSharp.Benchmarks/ImageSharp.Benchmarks.csproj b/tests/ImageSharp.Benchmarks/ImageSharp.Benchmarks.csproj index 9a9274199..24f618d11 100644 --- a/tests/ImageSharp.Benchmarks/ImageSharp.Benchmarks.csproj +++ b/tests/ImageSharp.Benchmarks/ImageSharp.Benchmarks.csproj @@ -9,7 +9,7 @@ portable false - Debug;Release;Debug-InnerLoop;Release-InnerLoop + Debug;Release @@ -17,17 +17,12 @@ - net6.0;net5.0;netcoreapp3.1;netcoreapp2.1;net472 - - - - - netcoreapp3.1 + net7.0;net6.0 - net5.0;netcoreapp3.1;netcoreapp2.1;net472 + net6.0 diff --git a/tests/ImageSharp.Tests.ProfilingSandbox/ImageSharp.Tests.ProfilingSandbox.csproj b/tests/ImageSharp.Tests.ProfilingSandbox/ImageSharp.Tests.ProfilingSandbox.csproj index 6ff5a4cc7..492ce36b8 100644 --- a/tests/ImageSharp.Tests.ProfilingSandbox/ImageSharp.Tests.ProfilingSandbox.csproj +++ b/tests/ImageSharp.Tests.ProfilingSandbox/ImageSharp.Tests.ProfilingSandbox.csproj @@ -12,24 +12,19 @@ false false - Debug;Release;Debug-InnerLoop;Release-InnerLoop + Debug;Release false - net6.0;net5.0;netcoreapp3.1;netcoreapp2.1;net472 - - - - - netcoreapp3.1 + net7.0;net6.0 - net5.0;netcoreapp3.1;netcoreapp2.1;net472 + net6.0 diff --git a/tests/ImageSharp.Tests.ProfilingSandbox/LoadResizeSaveParallelMemoryStress.cs b/tests/ImageSharp.Tests.ProfilingSandbox/LoadResizeSaveParallelMemoryStress.cs index 95e64b153..0c7b157b2 100644 --- a/tests/ImageSharp.Tests.ProfilingSandbox/LoadResizeSaveParallelMemoryStress.cs +++ b/tests/ImageSharp.Tests.ProfilingSandbox/LoadResizeSaveParallelMemoryStress.cs @@ -5,7 +5,6 @@ using System; using System.Diagnostics; using System.Globalization; using System.IO; -using System.Runtime.CompilerServices; using System.Text; using System.Threading; using CommandLine; diff --git a/tests/ImageSharp.Tests/ImageSharp.Tests.csproj b/tests/ImageSharp.Tests/ImageSharp.Tests.csproj index 28c778787..a4f1de17b 100644 --- a/tests/ImageSharp.Tests/ImageSharp.Tests.csproj +++ b/tests/ImageSharp.Tests/ImageSharp.Tests.csproj @@ -6,23 +6,18 @@ SixLabors.ImageSharp.Tests AnyCPU;x64;x86 SixLabors.ImageSharp.Tests - Debug;Release;Debug-InnerLoop;Release-InnerLoop + Debug;Release - net6.0;net5.0;netcoreapp3.1;netcoreapp2.1;net472 - - - - - netcoreapp3.1 + net7.0;net6.0 - net5.0;netcoreapp3.1;netcoreapp2.1;net472 + net6.0 @@ -47,7 +42,6 @@ - From 78017247a962d8ef18b7e67f7ccea7f12234dd5c Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Fri, 22 Apr 2022 16:52:40 +1000 Subject: [PATCH 224/244] Update build-and-test.yml --- .github/workflows/build-and-test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 551d2e052..16f8ebb06 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -91,6 +91,7 @@ jobs: - name: DotNet Setup uses: actions/setup-dotnet@v1 with: + include-prerelease: true dotnet-version: | 7.0.x 6.0.x From bda5418356eaacedbc625c4dca01d216c4850fd3 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Fri, 22 Apr 2022 20:51:42 +1000 Subject: [PATCH 225/244] Update FeatureTestRunnerTests.cs --- .../TestUtilities/Tests/FeatureTestRunnerTests.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/ImageSharp.Tests/TestUtilities/Tests/FeatureTestRunnerTests.cs b/tests/ImageSharp.Tests/TestUtilities/Tests/FeatureTestRunnerTests.cs index a2f36c85a..a46e4341d 100644 --- a/tests/ImageSharp.Tests/TestUtilities/Tests/FeatureTestRunnerTests.cs +++ b/tests/ImageSharp.Tests/TestUtilities/Tests/FeatureTestRunnerTests.cs @@ -55,6 +55,9 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.Tests HwIntrinsics.AllowAll); } +#if !NET7_0_OR_GREATER + // COMPlus_EnableSIMD isn't thing anymore. + // https://github.com/dotnet/runtime/issues/66206 [Fact] public void CanLimitHwIntrinsicSIMDFeatures() { @@ -62,6 +65,7 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.Tests () => Assert.False(Vector.IsHardwareAccelerated), HwIntrinsics.DisableSIMD); } +#endif #if SUPPORTS_RUNTIME_INTRINSICS [Fact] @@ -101,9 +105,13 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.Tests switch ((HwIntrinsics)Enum.Parse(typeof(HwIntrinsics), intrinsic)) { +#if !NET7_0_OR_GREATER + // COMPlus_EnableSIMD isn't thing anymore. + // https://github.com/dotnet/runtime/issues/66206 case HwIntrinsics.DisableSIMD: Assert.False(Vector.IsHardwareAccelerated); break; +#endif #if SUPPORTS_RUNTIME_INTRINSICS case HwIntrinsics.DisableHWIntrinsic: Assert.False(Sse.IsSupported); @@ -206,9 +214,13 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.Tests switch ((HwIntrinsics)Enum.Parse(typeof(HwIntrinsics), intrinsic)) { +#if !NET7_0_OR_GREATER + // COMPlus_EnableSIMD isn't thing anymore. + // https://github.com/dotnet/runtime/issues/66206 case HwIntrinsics.DisableSIMD: Assert.False(Vector.IsHardwareAccelerated, nameof(Vector.IsHardwareAccelerated)); break; +#endif #if SUPPORTS_RUNTIME_INTRINSICS case HwIntrinsics.DisableHWIntrinsic: Assert.False(Sse.IsSupported); From 0a08940eb2a9062ff7d18c1aed98d0a29c2ac332 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Fri, 22 Apr 2022 16:49:50 +0200 Subject: [PATCH 226/244] IJpegComponent -> JpegComponent --- .../Formats/Jpeg/Components/Decoder/IRawJpegData.cs | 2 +- src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegFrame.cs | 2 +- src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/IRawJpegData.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/IRawJpegData.cs index 33815e539..dd7ca4e7f 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/IRawJpegData.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/IRawJpegData.cs @@ -18,7 +18,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder /// /// Gets the components. /// - IJpegComponent[] Components { get; } + JpegComponent[] Components { get; } /// /// Gets the quantization tables, in natural order. diff --git a/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegFrame.cs b/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegFrame.cs index 1b1cf57c6..db1febd39 100644 --- a/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegFrame.cs +++ b/src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegFrame.cs @@ -86,7 +86,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder /// /// Gets or sets the frame component collection. /// - public IJpegComponent[] Components { get; set; } + public JpegComponent[] Components { get; set; } /// /// Gets or sets the number of MCU's per line. diff --git a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs index 6ff64a3fa..a07db1c95 100644 --- a/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs +++ b/src/ImageSharp/Formats/Jpeg/JpegDecoderCore.cs @@ -148,10 +148,10 @@ namespace SixLabors.ImageSharp.Formats.Jpeg /// /// Gets the components. /// - public IJpegComponent[] Components => this.Frame.Components; + public JpegComponent[] Components => this.Frame.Components; /// - IJpegComponent[] IRawJpegData.Components => this.Components; + JpegComponent[] IRawJpegData.Components => this.Components; /// public Block8x8F[] QuantizationTables { get; private set; } @@ -1244,7 +1244,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg new JpegComponent(this.Configuration.MemoryAllocator, this.Frame, componentId, h, v, quantTableIndex, i) : new ArithmeticDecodingComponent(this.Configuration.MemoryAllocator, this.Frame, componentId, h, v, quantTableIndex, i); - this.Frame.Components[i] = component; + this.Frame.Components[i] = (JpegComponent)component; this.Frame.ComponentIds[i] = componentId; index += componentBytes; From 205df12e4ec6c52805f66ea293067d7ee1ee7b1b Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Sun, 24 Apr 2022 18:20:58 +1000 Subject: [PATCH 227/244] Remove DisableSIMD --- .../ImageSharp.Tests/Formats/Jpg/DCTTests.cs | 8 ++-- .../Formats/Png/PngEncoderFilterTests.cs | 8 ++-- .../FeatureTesting/FeatureTestRunner.cs | 39 ++++++++----------- .../Tests/FeatureTestRunnerTests.cs | 30 +------------- 4 files changed, 27 insertions(+), 58 deletions(-) diff --git a/tests/ImageSharp.Tests/Formats/Jpg/DCTTests.cs b/tests/ImageSharp.Tests/Formats/Jpg/DCTTests.cs index 9c467a1cc..a40ae2af5 100644 --- a/tests/ImageSharp.Tests/Formats/Jpg/DCTTests.cs +++ b/tests/ImageSharp.Tests/Formats/Jpg/DCTTests.cs @@ -149,11 +149,11 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg // 1. AllowAll - call avx/fma implementation // 2. DisableFMA - call avx without fma implementation // 3. DisableAvx - call sse implementation - // 4. DisableSIMD - call Vector4 fallback implementation + // 4. DisableHWIntrinsic - call Vector4 fallback implementation FeatureTestRunner.RunWithHwIntrinsicsFeature( RunTest, seed, - HwIntrinsics.AllowAll | HwIntrinsics.DisableFMA | HwIntrinsics.DisableAVX | HwIntrinsics.DisableSIMD); + HwIntrinsics.AllowAll | HwIntrinsics.DisableFMA | HwIntrinsics.DisableAVX | HwIntrinsics.DisableHWIntrinsic); } // Forward transform @@ -200,11 +200,11 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg // 1. AllowAll - call avx/fma implementation // 2. DisableFMA - call avx without fma implementation // 3. DisableAvx - call Vector4 implementation - // 4. DisableSIMD - call scalar fallback implementation + // 4. DisableHWIntrinsic - call scalar fallback implementation FeatureTestRunner.RunWithHwIntrinsicsFeature( RunTest, seed, - HwIntrinsics.AllowAll | HwIntrinsics.DisableFMA | HwIntrinsics.DisableAVX | HwIntrinsics.DisableSIMD); + HwIntrinsics.AllowAll | HwIntrinsics.DisableFMA | HwIntrinsics.DisableAVX | HwIntrinsics.DisableHWIntrinsic); } } } diff --git a/tests/ImageSharp.Tests/Formats/Png/PngEncoderFilterTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngEncoderFilterTests.cs index 11e3fbb23..90fa5777b 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngEncoderFilterTests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngEncoderFilterTests.cs @@ -39,7 +39,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png FeatureTestRunner.RunWithHwIntrinsicsFeature( RunTest, - HwIntrinsics.DisableSIMD); + HwIntrinsics.DisableHWIntrinsic); } [Fact] @@ -95,7 +95,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png FeatureTestRunner.RunWithHwIntrinsicsFeature( RunTest, - HwIntrinsics.DisableSIMD); + HwIntrinsics.DisableHWIntrinsic); } [Fact] @@ -137,7 +137,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png FeatureTestRunner.RunWithHwIntrinsicsFeature( RunTest, - HwIntrinsics.DisableSIMD); + HwIntrinsics.DisableHWIntrinsic); } [Fact] @@ -179,7 +179,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png FeatureTestRunner.RunWithHwIntrinsicsFeature( RunTest, - HwIntrinsics.DisableSIMD); + HwIntrinsics.DisableHWIntrinsic); } [Fact] diff --git a/tests/ImageSharp.Tests/TestUtilities/FeatureTesting/FeatureTestRunner.cs b/tests/ImageSharp.Tests/TestUtilities/FeatureTesting/FeatureTestRunner.cs index 0d2f3fcef..fc0374bbd 100644 --- a/tests/ImageSharp.Tests/TestUtilities/FeatureTesting/FeatureTestRunner.cs +++ b/tests/ImageSharp.Tests/TestUtilities/FeatureTesting/FeatureTestRunner.cs @@ -356,10 +356,6 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities var key = (HwIntrinsics)Enum.Parse(typeof(HwIntrinsics), intrinsic); switch (intrinsic) { - case nameof(HwIntrinsics.DisableSIMD): - features.Add(key, "FeatureSIMD"); - break; - case nameof(HwIntrinsics.AllowAll): // Not a COMPlus value. We filter in calling method. @@ -390,23 +386,22 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities { // Use flags so we can pass multiple values without using params. // Don't base on 0 or use inverse for All as that doesn't translate to string values. - DisableSIMD = 1 << 0, - DisableHWIntrinsic = 1 << 1, - DisableSSE = 1 << 2, - DisableSSE2 = 1 << 3, - DisableAES = 1 << 4, - DisablePCLMULQDQ = 1 << 5, - DisableSSE3 = 1 << 6, - DisableSSSE3 = 1 << 7, - DisableSSE41 = 1 << 8, - DisableSSE42 = 1 << 9, - DisablePOPCNT = 1 << 10, - DisableAVX = 1 << 11, - DisableFMA = 1 << 12, - DisableAVX2 = 1 << 13, - DisableBMI1 = 1 << 14, - DisableBMI2 = 1 << 15, - DisableLZCNT = 1 << 16, - AllowAll = 1 << 17 + DisableHWIntrinsic = 1 << 0, + DisableSSE = 1 << 1, + DisableSSE2 = 1 << 2, + DisableAES = 1 << 3, + DisablePCLMULQDQ = 1 << 4, + DisableSSE3 = 1 << 5, + DisableSSSE3 = 1 << 6, + DisableSSE41 = 1 << 7, + DisableSSE42 = 1 << 8, + DisablePOPCNT = 1 << 9, + DisableAVX = 1 << 10, + DisableFMA = 1 << 11, + DisableAVX2 = 1 << 12, + DisableBMI1 = 1 << 13, + DisableBMI2 = 1 << 14, + DisableLZCNT = 1 << 15, + AllowAll = 1 << 16 } } diff --git a/tests/ImageSharp.Tests/TestUtilities/Tests/FeatureTestRunnerTests.cs b/tests/ImageSharp.Tests/TestUtilities/Tests/FeatureTestRunnerTests.cs index a46e4341d..6dd59a750 100644 --- a/tests/ImageSharp.Tests/TestUtilities/Tests/FeatureTestRunnerTests.cs +++ b/tests/ImageSharp.Tests/TestUtilities/Tests/FeatureTestRunnerTests.cs @@ -16,10 +16,10 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.Tests public class FeatureTestRunnerTests { public static TheoryData Intrinsics => - new TheoryData + new() { { HwIntrinsics.DisableAES | HwIntrinsics.AllowAll, new string[] { "EnableAES", "AllowAll" } }, - { HwIntrinsics.DisableSIMD | HwIntrinsics.DisableHWIntrinsic, new string[] { "FeatureSIMD", "EnableHWIntrinsic" } }, + { HwIntrinsics.DisableHWIntrinsic, new string[] { "EnableHWIntrinsic" } }, { HwIntrinsics.DisableSSE42 | HwIntrinsics.DisableAVX, new string[] { "EnableSSE42", "EnableAVX" } } }; @@ -55,18 +55,6 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.Tests HwIntrinsics.AllowAll); } -#if !NET7_0_OR_GREATER - // COMPlus_EnableSIMD isn't thing anymore. - // https://github.com/dotnet/runtime/issues/66206 - [Fact] - public void CanLimitHwIntrinsicSIMDFeatures() - { - FeatureTestRunner.RunWithHwIntrinsicsFeature( - () => Assert.False(Vector.IsHardwareAccelerated), - HwIntrinsics.DisableSIMD); - } -#endif - #if SUPPORTS_RUNTIME_INTRINSICS [Fact] public void CanLimitHwIntrinsicBaseFeatures() @@ -105,13 +93,6 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.Tests switch ((HwIntrinsics)Enum.Parse(typeof(HwIntrinsics), intrinsic)) { -#if !NET7_0_OR_GREATER - // COMPlus_EnableSIMD isn't thing anymore. - // https://github.com/dotnet/runtime/issues/66206 - case HwIntrinsics.DisableSIMD: - Assert.False(Vector.IsHardwareAccelerated); - break; -#endif #if SUPPORTS_RUNTIME_INTRINSICS case HwIntrinsics.DisableHWIntrinsic: Assert.False(Sse.IsSupported); @@ -214,13 +195,6 @@ namespace SixLabors.ImageSharp.Tests.TestUtilities.Tests switch ((HwIntrinsics)Enum.Parse(typeof(HwIntrinsics), intrinsic)) { -#if !NET7_0_OR_GREATER - // COMPlus_EnableSIMD isn't thing anymore. - // https://github.com/dotnet/runtime/issues/66206 - case HwIntrinsics.DisableSIMD: - Assert.False(Vector.IsHardwareAccelerated, nameof(Vector.IsHardwareAccelerated)); - break; -#endif #if SUPPORTS_RUNTIME_INTRINSICS case HwIntrinsics.DisableHWIntrinsic: Assert.False(Sse.IsSupported); From ed3cda5070bbacc1c1884a3ac872a089010afd9d Mon Sep 17 00:00:00 2001 From: Berkan Diler Date: Tue, 26 Apr 2022 20:26:53 +0200 Subject: [PATCH 228/244] Use ReadOnlySpan static data compiler optimization in more places --- src/ImageSharp/Formats/Webp/Lossy/QuantEnc.cs | 5 +++-- src/ImageSharp/Formats/Webp/Lossy/Vp8Matrix.cs | 11 +++++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/ImageSharp/Formats/Webp/Lossy/QuantEnc.cs b/src/ImageSharp/Formats/Webp/Lossy/QuantEnc.cs index 2a40cffdc..b6703d739 100644 --- a/src/ImageSharp/Formats/Webp/Lossy/QuantEnc.cs +++ b/src/ImageSharp/Formats/Webp/Lossy/QuantEnc.cs @@ -16,8 +16,6 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy /// internal static unsafe class QuantEnc { - private static readonly byte[] Zigzag = { 0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15 }; - private static readonly ushort[] WeightY = { 38, 32, 20, 9, 32, 28, 17, 7, 20, 17, 10, 4, 9, 7, 4, 2 }; private const int MaxLevel = 2047; @@ -47,6 +45,9 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy private const int DSHIFT = 4; private const int DSCALE = 1; // storage descaling, needed to make the error fit byte + // This uses C#'s optimization to refer to the static data segment of the assembly, no allocation occurs. + private static ReadOnlySpan Zigzag => new byte[] { 0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15 }; + public static void PickBestIntra16(Vp8EncIterator it, ref Vp8ModeScore rd, Vp8SegmentInfo[] segmentInfos, Vp8EncProba proba) { const int numBlocks = 16; diff --git a/src/ImageSharp/Formats/Webp/Lossy/Vp8Matrix.cs b/src/ImageSharp/Formats/Webp/Lossy/Vp8Matrix.cs index 66c91e44a..7ee7a7008 100644 --- a/src/ImageSharp/Formats/Webp/Lossy/Vp8Matrix.cs +++ b/src/ImageSharp/Formats/Webp/Lossy/Vp8Matrix.cs @@ -1,6 +1,8 @@ // Copyright (c) Six Labors. // Licensed under the Apache License, Version 2.0. +using System; + namespace SixLabors.ImageSharp.Formats.Webp.Lossy { internal unsafe struct Vp8Matrix @@ -13,10 +15,6 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy new[] { 110, 115 } }; - // Sharpening by (slightly) raising the hi-frequency coeffs. - // Hack-ish but helpful for mid-bitrate range. Use with care. - private static readonly byte[] FreqSharpening = { 0, 30, 60, 90, 30, 60, 90, 90, 60, 90, 90, 90, 90, 90, 90, 90 }; - /// /// Number of descaling bits for sharpening bias. /// @@ -47,6 +45,11 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy /// public fixed short Sharpen[16]; + // Sharpening by (slightly) raising the hi-frequency coeffs. + // Hack-ish but helpful for mid-bitrate range. Use with care. + // This uses C#'s optimization to refer to the static data segment of the assembly, no allocation occurs. + private static ReadOnlySpan FreqSharpening => new byte[] { 0, 30, 60, 90, 30, 60, 90, 90, 60, 90, 90, 90, 90, 90, 90, 90 }; + /// /// Returns the average quantizer. /// From 0661f14789ee73c37e90b5d2fa6aa2c5924ca25d Mon Sep 17 00:00:00 2001 From: Berkan Diler Date: Sun, 1 May 2022 17:29:26 +0200 Subject: [PATCH 229/244] Replace Array.Clear(array, 0, array.Length) calls with Array.Clear(array) --- src/ImageSharp/Formats/Webp/Lossy/Vp8EncIterator.cs | 2 +- src/ImageSharp/Formats/Webp/Lossy/Vp8ModeScore.cs | 10 +++++----- src/ImageSharp/Formats/Webp/Lossy/YuvConversion.cs | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/ImageSharp/Formats/Webp/Lossy/Vp8EncIterator.cs b/src/ImageSharp/Formats/Webp/Lossy/Vp8EncIterator.cs index eb8d92110..9470a94d9 100644 --- a/src/ImageSharp/Formats/Webp/Lossy/Vp8EncIterator.cs +++ b/src/ImageSharp/Formats/Webp/Lossy/Vp8EncIterator.cs @@ -874,7 +874,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy this.SetCountDown(this.mbw * this.mbh); this.InitTop(); - Array.Clear(this.BitCount, 0, this.BitCount.Length); + Array.Clear(this.BitCount); } /// diff --git a/src/ImageSharp/Formats/Webp/Lossy/Vp8ModeScore.cs b/src/ImageSharp/Formats/Webp/Lossy/Vp8ModeScore.cs index 69841b557..72a3e971a 100644 --- a/src/ImageSharp/Formats/Webp/Lossy/Vp8ModeScore.cs +++ b/src/ImageSharp/Formats/Webp/Lossy/Vp8ModeScore.cs @@ -97,11 +97,11 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy public void Clear() { - Array.Clear(this.YDcLevels, 0, this.YDcLevels.Length); - Array.Clear(this.YAcLevels, 0, this.YAcLevels.Length); - Array.Clear(this.UvLevels, 0, this.UvLevels.Length); - Array.Clear(this.ModesI4, 0, this.ModesI4.Length); - Array.Clear(this.Derr, 0, this.Derr.Length); + Array.Clear(this.YDcLevels); + Array.Clear(this.YAcLevels); + Array.Clear(this.UvLevels); + Array.Clear(this.ModesI4); + Array.Clear(this.Derr); } public void InitScore() diff --git a/src/ImageSharp/Formats/Webp/Lossy/YuvConversion.cs b/src/ImageSharp/Formats/Webp/Lossy/YuvConversion.cs index 878bebd10..d0374d637 100644 --- a/src/ImageSharp/Formats/Webp/Lossy/YuvConversion.cs +++ b/src/ImageSharp/Formats/Webp/Lossy/YuvConversion.cs @@ -159,7 +159,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy private static void UpSampleSse41(Span topY, Span bottomY, Span topU, Span topV, Span curU, Span curV, Span topDst, Span bottomDst, int len, byte[] uvBuffer) { const int xStep = 3; - Array.Clear(uvBuffer, 0, uvBuffer.Length); + Array.Clear(uvBuffer); Span ru = uvBuffer.AsSpan(15); Span rv = ru.Slice(32); From f74dbac80be8e0eed97a0ac5268bddeb63dfb1bd Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Fri, 6 May 2022 16:13:41 +0200 Subject: [PATCH 230/244] Add parsing bitmap V5 header --- src/ImageSharp/Formats/Bmp/BmpColorSpace.cs | 37 +++++++ src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs | 12 ++- src/ImageSharp/Formats/Bmp/BmpFileHeader.cs | 5 +- src/ImageSharp/Formats/Bmp/BmpInfoHeader.cs | 96 ++++++++++++++----- .../Formats/Bmp/BmpRenderingIntent.cs | 37 +++++++ 5 files changed, 158 insertions(+), 29 deletions(-) create mode 100644 src/ImageSharp/Formats/Bmp/BmpColorSpace.cs create mode 100644 src/ImageSharp/Formats/Bmp/BmpRenderingIntent.cs diff --git a/src/ImageSharp/Formats/Bmp/BmpColorSpace.cs b/src/ImageSharp/Formats/Bmp/BmpColorSpace.cs new file mode 100644 index 000000000..864087121 --- /dev/null +++ b/src/ImageSharp/Formats/Bmp/BmpColorSpace.cs @@ -0,0 +1,37 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +// ReSharper disable InconsistentNaming +namespace SixLabors.ImageSharp.Formats.Bmp +{ + /// + /// Enum for the different color spaces. + /// + internal enum BmpColorSpace + { + /// + /// This value implies that endpoints and gamma values are given in the appropriate fields. + /// + LCS_CALIBRATED_RGB = 0, + + /// + /// The Windows default color space ('Win '). + /// + LCS_WINDOWS_COLOR_SPACE = 1466527264, + + /// + /// Specifies that the bitmap is in sRGB color space ('sRGB'). + /// + LCS_sRGB = 1934772034, + + /// + /// This value indicates that bV5ProfileData points to the file name of the profile to use (gamma and endpoints values are ignored). + /// + PROFILE_LINKED = 1279872587, + + /// + /// This value indicates that bV5ProfileData points to a memory buffer that contains the profile to be used (gamma and endpoints values are ignored). + /// + PROFILE_EMBEDDED = 1296188740 + } +} diff --git a/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs b/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs index a22a04980..ab0f1bd03 100644 --- a/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs +++ b/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs @@ -1271,12 +1271,18 @@ namespace SixLabors.ImageSharp.Formats.Bmp infoHeaderType = BmpInfoHeaderType.Os2Version2; this.infoHeader = BmpInfoHeader.ParseOs2Version2(buffer); } - else if (headerSize >= BmpInfoHeader.SizeV4) + else if (headerSize == BmpInfoHeader.SizeV4) { - // >= 108 bytes - infoHeaderType = headerSize == BmpInfoHeader.SizeV4 ? BmpInfoHeaderType.WinVersion4 : BmpInfoHeaderType.WinVersion5; + // == 108 bytes + infoHeaderType = BmpInfoHeaderType.WinVersion4; this.infoHeader = BmpInfoHeader.ParseV4(buffer); } + else if (headerSize > BmpInfoHeader.SizeV4) + { + // > 108 bytes + infoHeaderType = BmpInfoHeaderType.WinVersion5; + this.infoHeader = BmpInfoHeader.ParseV5(buffer); + } else { BmpThrowHelper.ThrowNotSupportedException($"ImageSharp does not support this BMP file. HeaderSize '{headerSize}'."); diff --git a/src/ImageSharp/Formats/Bmp/BmpFileHeader.cs b/src/ImageSharp/Formats/Bmp/BmpFileHeader.cs index acbcdaef3..ab56bd246 100644 --- a/src/ImageSharp/Formats/Bmp/BmpFileHeader.cs +++ b/src/ImageSharp/Formats/Bmp/BmpFileHeader.cs @@ -57,10 +57,7 @@ namespace SixLabors.ImageSharp.Formats.Bmp /// public int Offset { get; } - public static BmpFileHeader Parse(Span data) - { - return MemoryMarshal.Cast(data)[0]; - } + public static BmpFileHeader Parse(Span data) => MemoryMarshal.Cast(data)[0]; public void WriteTo(Span buffer) { diff --git a/src/ImageSharp/Formats/Bmp/BmpInfoHeader.cs b/src/ImageSharp/Formats/Bmp/BmpInfoHeader.cs index 0d0c05c9f..70462b73a 100644 --- a/src/ImageSharp/Formats/Bmp/BmpInfoHeader.cs +++ b/src/ImageSharp/Formats/Bmp/BmpInfoHeader.cs @@ -82,7 +82,7 @@ namespace SixLabors.ImageSharp.Formats.Bmp int greenMask = 0, int blueMask = 0, int alphaMask = 0, - int csType = 0, + BmpColorSpace csType = 0, int redX = 0, int redY = 0, int redZ = 0, @@ -94,7 +94,11 @@ namespace SixLabors.ImageSharp.Formats.Bmp int blueZ = 0, int gammeRed = 0, int gammeGreen = 0, - int gammeBlue = 0) + int gammeBlue = 0, + BmpRenderingIntent intent = BmpRenderingIntent.Invalid, + int profileData = 0, + int profileSize = 0, + int reserved = 0) { this.HeaderSize = headerSize; this.Width = width; @@ -124,6 +128,10 @@ namespace SixLabors.ImageSharp.Formats.Bmp this.GammaRed = gammeRed; this.GammaGreen = gammeGreen; this.GammaBlue = gammeBlue; + this.Intent = intent; + this.ProfileData = profileData; + this.ProfileSize = profileSize; + this.Reserved = reserved; } /// @@ -211,7 +219,7 @@ namespace SixLabors.ImageSharp.Formats.Bmp /// /// Gets or sets the Color space type. Not used yet. /// - public int CsType { get; set; } + public BmpColorSpace CsType { get; set; } /// /// Gets or sets the X coordinate of red endpoint. Not used yet. @@ -273,21 +281,38 @@ namespace SixLabors.ImageSharp.Formats.Bmp /// public int GammaBlue { get; set; } + /// + /// Gets or sets the rendering intent for bitmap. + /// + public BmpRenderingIntent Intent { get; set; } + + /// + /// Gets or sets the offset, in bytes, from the beginning of the BITMAPV5HEADER structure to the start of the profile data. + /// + public int ProfileData { get; set; } + + /// + /// Gets or sets the size, in bytes, of embedded profile data. + /// + public int ProfileSize { get; set; } + + /// + /// Gets or sets the reserved value. + /// + public int Reserved { get; set; } + /// /// Parses the BITMAPCOREHEADER (BMP Version 2) consisting of the headerSize, width, height, planes, and bitsPerPixel fields (12 bytes). /// /// The data to parse. /// The parsed header. /// - public static BmpInfoHeader ParseCore(ReadOnlySpan data) - { - return new BmpInfoHeader( + public static BmpInfoHeader ParseCore(ReadOnlySpan data) => new( headerSize: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(0, 4)), width: BinaryPrimitives.ReadUInt16LittleEndian(data.Slice(4, 2)), height: BinaryPrimitives.ReadUInt16LittleEndian(data.Slice(6, 2)), planes: BinaryPrimitives.ReadInt16LittleEndian(data.Slice(8, 2)), bitsPerPixel: BinaryPrimitives.ReadInt16LittleEndian(data.Slice(10, 2))); - } /// /// Parses a short variant of the OS22XBITMAPHEADER. It is identical to the BITMAPCOREHEADER, except that the width and height @@ -296,15 +321,12 @@ namespace SixLabors.ImageSharp.Formats.Bmp /// The data to parse. /// The parsed header. /// - public static BmpInfoHeader ParseOs22Short(ReadOnlySpan data) - { - return new BmpInfoHeader( + public static BmpInfoHeader ParseOs22Short(ReadOnlySpan data) => new( headerSize: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(0, 4)), width: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(4, 4)), height: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(8, 4)), planes: BinaryPrimitives.ReadInt16LittleEndian(data.Slice(12, 2)), bitsPerPixel: BinaryPrimitives.ReadInt16LittleEndian(data.Slice(14, 2))); - } /// /// Parses the full BMP Version 3 BITMAPINFOHEADER header (40 bytes). @@ -312,9 +334,7 @@ namespace SixLabors.ImageSharp.Formats.Bmp /// The data to parse. /// The parsed header. /// - public static BmpInfoHeader ParseV3(ReadOnlySpan data) - { - return new BmpInfoHeader( + public static BmpInfoHeader ParseV3(ReadOnlySpan data) => new( headerSize: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(0, 4)), width: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(4, 4)), height: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(8, 4)), @@ -326,7 +346,6 @@ namespace SixLabors.ImageSharp.Formats.Bmp yPelsPerMeter: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(28, 4)), clrUsed: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(32, 4)), clrImportant: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(36, 4))); - } /// /// Special case of the BITMAPINFOHEADER V3 used by adobe where the color bitmasks are part of the info header instead of following it. @@ -336,9 +355,7 @@ namespace SixLabors.ImageSharp.Formats.Bmp /// Indicates, if the alpha bitmask is present. /// The parsed header. /// - public static BmpInfoHeader ParseAdobeV3(ReadOnlySpan data, bool withAlpha = true) - { - return new BmpInfoHeader( + public static BmpInfoHeader ParseAdobeV3(ReadOnlySpan data, bool withAlpha = true) => new( headerSize: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(0, 4)), width: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(4, 4)), height: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(8, 4)), @@ -354,7 +371,6 @@ namespace SixLabors.ImageSharp.Formats.Bmp greenMask: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(44, 4)), blueMask: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(48, 4)), alphaMask: withAlpha ? BinaryPrimitives.ReadInt32LittleEndian(data.Slice(52, 4)) : 0); - } /// /// Parses a OS/2 version 2 bitmap header (64 bytes). Only the first 40 bytes are parsed which are @@ -413,11 +429,47 @@ namespace SixLabors.ImageSharp.Formats.Bmp /// The data to parse. /// The parsed header. /// - public static BmpInfoHeader ParseV4(ReadOnlySpan data) + public static BmpInfoHeader ParseV4(ReadOnlySpan data) => new( + headerSize: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(0, 4)), + width: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(4, 4)), + height: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(8, 4)), + planes: BinaryPrimitives.ReadInt16LittleEndian(data.Slice(12, 2)), + bitsPerPixel: BinaryPrimitives.ReadInt16LittleEndian(data.Slice(14, 2)), + compression: (BmpCompression)BinaryPrimitives.ReadInt32LittleEndian(data.Slice(16, 4)), + imageSize: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(20, 4)), + xPelsPerMeter: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(24, 4)), + yPelsPerMeter: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(28, 4)), + clrUsed: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(32, 4)), + clrImportant: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(36, 4)), + redMask: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(40, 4)), + greenMask: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(44, 4)), + blueMask: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(48, 4)), + alphaMask: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(52, 4)), + csType: (BmpColorSpace)BinaryPrimitives.ReadInt32LittleEndian(data.Slice(56, 4)), + redX: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(60, 4)), + redY: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(64, 4)), + redZ: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(68, 4)), + greenX: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(72, 4)), + greenY: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(76, 4)), + greenZ: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(80, 4)), + blueX: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(84, 4)), + blueY: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(88, 4)), + blueZ: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(92, 4)), + gammeRed: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(96, 4)), + gammeGreen: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(100, 4)), + gammeBlue: BinaryPrimitives.ReadInt32LittleEndian(data.Slice(104, 4))); + + /// + /// Parses the full BMP Version 5 BITMAPINFOHEADER header (124 bytes). + /// + /// The data to parse. + /// The parsed header. + /// + public static BmpInfoHeader ParseV5(ReadOnlySpan data) { - if (data.Length < SizeV4) + if (data.Length < SizeV5) { - throw new ArgumentException(nameof(data), $"Must be {SizeV4} bytes. Was {data.Length} bytes."); + throw new ArgumentException(nameof(data), $"Must be {SizeV5} bytes. Was {data.Length} bytes."); } return MemoryMarshal.Cast(data)[0]; diff --git a/src/ImageSharp/Formats/Bmp/BmpRenderingIntent.cs b/src/ImageSharp/Formats/Bmp/BmpRenderingIntent.cs new file mode 100644 index 000000000..8e0362595 --- /dev/null +++ b/src/ImageSharp/Formats/Bmp/BmpRenderingIntent.cs @@ -0,0 +1,37 @@ +// Copyright (c) Six Labors. +// Licensed under the Apache License, Version 2.0. + +// ReSharper disable InconsistentNaming +namespace SixLabors.ImageSharp.Formats.Bmp +{ + /// + /// Enum for the different rendering intent's. + /// + internal enum BmpRenderingIntent + { + /// + /// Invalid default value. + /// + Invalid = 0, + + /// + /// TMaintains saturation. Used for business charts and other situations in which undithered colors are required. + /// + LCS_GM_BUSINESS = 1, + + /// + /// Maintains colorimetric match. Used for graphic designs and named colors. + /// + LCS_GM_GRAPHICS = 2, + + /// + /// Maintains contrast. Used for photographs and natural images. + /// + LCS_GM_IMAGES = 4, + + /// + /// Maintains the white point. Matches the colors to their nearest color in the destination gamut. + /// + LCS_GM_ABS_COLORIMETRIC = 8, + } +} From fa86a04464effdb47a14d4780aeacb8d3fdaee8d Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Fri, 6 May 2022 17:32:22 +0200 Subject: [PATCH 231/244] Fix writing bitmap v4 header --- src/ImageSharp/Formats/Bmp/BmpInfoHeader.cs | 32 +++++++++++++++++++-- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/src/ImageSharp/Formats/Bmp/BmpInfoHeader.cs b/src/ImageSharp/Formats/Bmp/BmpInfoHeader.cs index 70462b73a..9b6e4e652 100644 --- a/src/ImageSharp/Formats/Bmp/BmpInfoHeader.cs +++ b/src/ImageSharp/Formats/Bmp/BmpInfoHeader.cs @@ -501,9 +501,35 @@ namespace SixLabors.ImageSharp.Formats.Bmp /// The buffer to write to. public void WriteV4Header(Span buffer) { - ref BmpInfoHeader dest = ref Unsafe.As(ref MemoryMarshal.GetReference(buffer)); - - dest = this; + buffer.Clear(); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(0, 4), SizeV4); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(4, 4), this.Width); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(8, 4), this.Height); + BinaryPrimitives.WriteInt16LittleEndian(buffer.Slice(12, 2), this.Planes); + BinaryPrimitives.WriteInt16LittleEndian(buffer.Slice(14, 2), this.BitsPerPixel); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(16, 4), (int)this.Compression); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(20, 4), this.ImageSize); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(24, 4), this.XPelsPerMeter); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(28, 4), this.YPelsPerMeter); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(32, 4), this.ClrUsed); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(36, 4), this.ClrImportant); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(40, 4), this.RedMask); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(44, 4), this.GreenMask); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(48, 4), this.BlueMask); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(52, 4), this.AlphaMask); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(56, 4), (int)this.CsType); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(60, 4), this.RedX); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(64, 4), this.RedY); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(68, 4), this.RedZ); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(72, 4), this.GreenX); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(76, 4), this.GreenY); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(80, 4), this.GreenZ); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(84, 4), this.BlueX); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(88, 4), this.BlueY); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(92, 4), this.BlueZ); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(96, 4), this.GammaRed); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(100, 4), this.GammaGreen); + BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(104, 4), this.GammaBlue); } internal void VerifyDimensions() From 6991fd13bd64becce280b63ab99bcf9a01de61ee Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Fri, 6 May 2022 17:50:37 +0200 Subject: [PATCH 232/244] Read ICC profile from v5 header --- src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs | 41 ++++++++++++-------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs b/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs index ab0f1bd03..f88e5762d 100644 --- a/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs +++ b/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs @@ -11,6 +11,7 @@ using SixLabors.ImageSharp.Common.Helpers; using SixLabors.ImageSharp.IO; using SixLabors.ImageSharp.Memory; using SixLabors.ImageSharp.Metadata; +using SixLabors.ImageSharp.Metadata.Profiles.Icc; using SixLabors.ImageSharp.PixelFormats; namespace SixLabors.ImageSharp.Formats.Bmp @@ -185,7 +186,7 @@ namespace SixLabors.ImageSharp.Formats.Bmp break; default: - BmpThrowHelper.ThrowNotSupportedException("Does not support this kind of bitmap files."); + BmpThrowHelper.ThrowNotSupportedException("ImageSharp does not support this kind of bitmap files."); break; } @@ -1199,6 +1200,13 @@ namespace SixLabors.ImageSharp.Formats.Bmp private void ReadInfoHeader() { Span buffer = stackalloc byte[BmpInfoHeader.MaxHeaderSize]; + var infoHeaderStart = this.stream.Position; + + // Resolution is stored in PPM. + this.metadata = new ImageMetadata + { + ResolutionUnits = PixelResolutionUnit.PixelsPerMeter + }; // Read the header size. this.stream.Read(buffer, 0, BmpInfoHeader.HeaderSizeSize); @@ -1282,31 +1290,34 @@ namespace SixLabors.ImageSharp.Formats.Bmp // > 108 bytes infoHeaderType = BmpInfoHeaderType.WinVersion5; this.infoHeader = BmpInfoHeader.ParseV5(buffer); + if (this.infoHeader.ProfileData != 0 && this.infoHeader.ProfileSize != 0) + { + // Read color profile. + long streamPosition = this.stream.Position; + byte[] iccProfileData = new byte[this.infoHeader.ProfileSize]; + this.stream.Position = infoHeaderStart + this.infoHeader.ProfileData; + this.stream.Read(iccProfileData); + this.metadata.IccProfile = new IccProfile(iccProfileData); + this.stream.Position = streamPosition; + } } else { BmpThrowHelper.ThrowNotSupportedException($"ImageSharp does not support this BMP file. HeaderSize '{headerSize}'."); } - // Resolution is stored in PPM. - var meta = new ImageMetadata - { - ResolutionUnits = PixelResolutionUnit.PixelsPerMeter - }; if (this.infoHeader.XPelsPerMeter > 0 && this.infoHeader.YPelsPerMeter > 0) { - meta.HorizontalResolution = this.infoHeader.XPelsPerMeter; - meta.VerticalResolution = this.infoHeader.YPelsPerMeter; + this.metadata.HorizontalResolution = this.infoHeader.XPelsPerMeter; + this.metadata.VerticalResolution = this.infoHeader.YPelsPerMeter; } else { // Convert default metadata values to PPM. - meta.HorizontalResolution = Math.Round(UnitConverter.InchToMeter(ImageMetadata.DefaultHorizontalResolution)); - meta.VerticalResolution = Math.Round(UnitConverter.InchToMeter(ImageMetadata.DefaultVerticalResolution)); + this.metadata.HorizontalResolution = Math.Round(UnitConverter.InchToMeter(ImageMetadata.DefaultHorizontalResolution)); + this.metadata.VerticalResolution = Math.Round(UnitConverter.InchToMeter(ImageMetadata.DefaultVerticalResolution)); } - this.metadata = meta; - short bitsPerPixel = this.infoHeader.BitsPerPixel; this.bmpMetadata = this.metadata.GetBmpMetadata(); this.bmpMetadata.InfoHeaderType = infoHeaderType; @@ -1376,9 +1387,7 @@ namespace SixLabors.ImageSharp.Formats.Bmp int colorMapSizeBytes = -1; if (this.infoHeader.ClrUsed == 0) { - if (this.infoHeader.BitsPerPixel == 1 - || this.infoHeader.BitsPerPixel == 4 - || this.infoHeader.BitsPerPixel == 8) + if (this.infoHeader.BitsPerPixel is 1 or 4 or 8) { switch (this.fileMarkerType) { @@ -1430,7 +1439,7 @@ namespace SixLabors.ImageSharp.Formats.Bmp int skipAmount = this.fileHeader.Offset - (int)this.stream.Position; if ((skipAmount + (int)this.stream.Position) > this.stream.Length) { - BmpThrowHelper.ThrowInvalidImageContentException("Invalid fileheader offset found. Offset is greater than the stream length."); + BmpThrowHelper.ThrowInvalidImageContentException("Invalid file header offset found. Offset is greater than the stream length."); } if (skipAmount > 0) From 106f6c0a9b1520619746b7877d9ce5f1049a660e Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sat, 7 May 2022 11:31:28 +0200 Subject: [PATCH 233/244] Write color profile, if present --- src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs | 2 +- src/ImageSharp/Formats/Bmp/BmpEncoderCore.cs | 149 ++++++++++++++---- src/ImageSharp/Formats/Bmp/BmpInfoHeader.cs | 11 ++ .../Formats/Bmp/BmpRenderingIntent.cs | 2 +- 4 files changed, 132 insertions(+), 32 deletions(-) diff --git a/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs b/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs index f88e5762d..26687ff16 100644 --- a/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs +++ b/src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs @@ -1200,7 +1200,7 @@ namespace SixLabors.ImageSharp.Formats.Bmp private void ReadInfoHeader() { Span buffer = stackalloc byte[BmpInfoHeader.MaxHeaderSize]; - var infoHeaderStart = this.stream.Position; + long infoHeaderStart = this.stream.Position; // Resolution is stored in PPM. this.metadata = new ImageMetadata diff --git a/src/ImageSharp/Formats/Bmp/BmpEncoderCore.cs b/src/ImageSharp/Formats/Bmp/BmpEncoderCore.cs index 6384074df..32025f69f 100644 --- a/src/ImageSharp/Formats/Bmp/BmpEncoderCore.cs +++ b/src/ImageSharp/Formats/Bmp/BmpEncoderCore.cs @@ -3,6 +3,7 @@ using System; using System.Buffers; +using System.Buffers.Binary; using System.IO; using System.Runtime.InteropServices; using System.Threading; @@ -79,9 +80,10 @@ namespace SixLabors.ImageSharp.Formats.Bmp /// /// A bitmap v4 header will only be written, if the user explicitly wants support for transparency. /// In this case the compression type BITFIELDS will be used. + /// If the image contains a color profile, a bitmap v5 header is written, which is needed to write this info. /// Otherwise a bitmap v3 header will be written, which is supported by almost all decoders. /// - private readonly bool writeV4Header; + private BmpInfoHeaderType infoHeaderType; /// /// The quantizer for reducing the color count for 8-Bit, 4-Bit and 1-Bit images. @@ -97,8 +99,8 @@ namespace SixLabors.ImageSharp.Formats.Bmp { this.memoryAllocator = memoryAllocator; this.bitsPerPixel = options.BitsPerPixel; - this.writeV4Header = options.SupportTransparency; this.quantizer = options.Quantizer ?? KnownQuantizers.Octree; + this.infoHeaderType = options.SupportTransparency ? BmpInfoHeaderType.WinVersion4 : BmpInfoHeaderType.WinVersion3; } /// @@ -123,7 +125,62 @@ namespace SixLabors.ImageSharp.Formats.Bmp int bytesPerLine = 4 * (((image.Width * bpp) + 31) / 32); this.padding = bytesPerLine - (int)(image.Width * (bpp / 8F)); - // Set Resolution. + int colorPaletteSize = 0; + if (this.bitsPerPixel == BmpBitsPerPixel.Pixel8) + { + colorPaletteSize = ColorPaletteSize8Bit; + } + else if (this.bitsPerPixel == BmpBitsPerPixel.Pixel4) + { + colorPaletteSize = ColorPaletteSize4Bit; + } + else if (this.bitsPerPixel == BmpBitsPerPixel.Pixel1) + { + colorPaletteSize = ColorPaletteSize1Bit; + } + + byte[] iccProfileData = null; + int iccProfileSize = 0; + if (metadata.IccProfile != null) + { + this.infoHeaderType = BmpInfoHeaderType.WinVersion5; + iccProfileData = metadata.IccProfile.ToByteArray(); + iccProfileSize = iccProfileData.Length; + } + + int infoHeaderSize = this.infoHeaderType switch + { + BmpInfoHeaderType.WinVersion3 => BmpInfoHeader.SizeV3, + BmpInfoHeaderType.WinVersion4 => BmpInfoHeader.SizeV4, + BmpInfoHeaderType.WinVersion5 => BmpInfoHeader.SizeV5, + _ => BmpInfoHeader.SizeV3 + }; + + BmpInfoHeader infoHeader = this.CreateBmpInfoHeader(image.Width, image.Height, infoHeaderSize, bpp, bytesPerLine, metadata, iccProfileData); + + Span buffer = stackalloc byte[infoHeaderSize]; + + this.WriteBitmapFileHeader(stream, infoHeaderSize, colorPaletteSize, iccProfileSize, infoHeader, buffer); + this.WriteBitmapInfoHeader(stream, infoHeader, buffer, infoHeaderSize); + this.WriteImage(stream, image.Frames.RootFrame); + this.WriteColorProfile(stream, metadata, buffer); + + stream.Flush(); + } + + /// + /// Creates the bitmap information header. + /// + /// The width of the image. + /// The height of the image. + /// Size of the information header. + /// The bits per pixel. + /// The bytes per line. + /// The metadata. + /// The icc profile data. + /// The bitmap information header. + private BmpInfoHeader CreateBmpInfoHeader(int width, int height, int infoHeaderSize, short bpp, int bytesPerLine, ImageMetadata metadata, byte[] iccProfileData) + { int hResolution = 0; int vResolution = 0; @@ -154,20 +211,19 @@ namespace SixLabors.ImageSharp.Formats.Bmp } } - int infoHeaderSize = this.writeV4Header ? BmpInfoHeader.SizeV4 : BmpInfoHeader.SizeV3; var infoHeader = new BmpInfoHeader( headerSize: infoHeaderSize, - height: image.Height, - width: image.Width, + height: height, + width: width, bitsPerPixel: bpp, planes: 1, - imageSize: image.Height * bytesPerLine, + imageSize: height * bytesPerLine, clrUsed: 0, clrImportant: 0, xPelsPerMeter: hResolution, yPelsPerMeter: vResolution); - if (this.writeV4Header && this.bitsPerPixel == BmpBitsPerPixel.Pixel32) + if ((this.infoHeaderType is BmpInfoHeaderType.WinVersion4 or BmpInfoHeaderType.WinVersion5) && this.bitsPerPixel == BmpBitsPerPixel.Pixel32) { infoHeader.AlphaMask = Rgba32AlphaMask; infoHeader.RedMask = Rgba32RedMask; @@ -176,45 +232,78 @@ namespace SixLabors.ImageSharp.Formats.Bmp infoHeader.Compression = BmpCompression.BitFields; } - int colorPaletteSize = 0; - if (this.bitsPerPixel == BmpBitsPerPixel.Pixel8) + if (this.infoHeaderType is BmpInfoHeaderType.WinVersion5 && metadata.IccProfile != null) { - colorPaletteSize = ColorPaletteSize8Bit; + infoHeader.ProfileSize = iccProfileData.Length; + infoHeader.CsType = BmpColorSpace.PROFILE_EMBEDDED; + infoHeader.Intent = BmpRenderingIntent.LCS_GM_IMAGES; } - else if (this.bitsPerPixel == BmpBitsPerPixel.Pixel4) - { - colorPaletteSize = ColorPaletteSize4Bit; - } - else if (this.bitsPerPixel == BmpBitsPerPixel.Pixel1) + + return infoHeader; + } + + /// + /// Writes the color profile to the stream. + /// + /// The stream to write to. + /// The metadata. + /// The buffer. + private void WriteColorProfile(Stream stream, ImageMetadata metadata, Span buffer) + { + if (metadata.IccProfile != null) { - colorPaletteSize = ColorPaletteSize1Bit; + int streamPositionAfterImageData = (int)stream.Position; + stream.Write(metadata.IccProfile.ToByteArray()); + BinaryPrimitives.WriteInt32LittleEndian(buffer, streamPositionAfterImageData); + stream.Position = BmpFileHeader.Size + 112; + stream.Write(buffer.Slice(0, 4)); } + } + /// + /// Writes the bitmap file header. + /// + /// The stream to write the header to. + /// Size of the bitmap information header. + /// Size of the color palette. + /// The size in bytes of the color profile. + /// The information header to write. + /// The buffer to write to. + private void WriteBitmapFileHeader(Stream stream, int infoHeaderSize, int colorPaletteSize, int iccProfileSize, BmpInfoHeader infoHeader, Span buffer) + { var fileHeader = new BmpFileHeader( type: BmpConstants.TypeMarkers.Bitmap, - fileSize: BmpFileHeader.Size + infoHeaderSize + colorPaletteSize + infoHeader.ImageSize, + fileSize: BmpFileHeader.Size + infoHeaderSize + colorPaletteSize + iccProfileSize + infoHeader.ImageSize, reserved: 0, offset: BmpFileHeader.Size + infoHeaderSize + colorPaletteSize); - Span buffer = stackalloc byte[infoHeaderSize]; fileHeader.WriteTo(buffer); - stream.Write(buffer, 0, BmpFileHeader.Size); + } - if (this.writeV4Header) - { - infoHeader.WriteV4Header(buffer); - } - else + /// + /// Writes the bitmap information header. + /// + /// The stream to write info header into. + /// The information header. + /// The buffer. + /// Size of the information header. + private void WriteBitmapInfoHeader(Stream stream, BmpInfoHeader infoHeader, Span buffer, int infoHeaderSize) + { + switch (this.infoHeaderType) { - infoHeader.WriteV3Header(buffer); + case BmpInfoHeaderType.WinVersion3: + infoHeader.WriteV3Header(buffer); + break; + case BmpInfoHeaderType.WinVersion4: + infoHeader.WriteV4Header(buffer); + break; + case BmpInfoHeaderType.WinVersion5: + infoHeader.WriteV5Header(buffer); + break; } stream.Write(buffer, 0, infoHeaderSize); - - this.WriteImage(stream, image.Frames.RootFrame); - - stream.Flush(); } /// diff --git a/src/ImageSharp/Formats/Bmp/BmpInfoHeader.cs b/src/ImageSharp/Formats/Bmp/BmpInfoHeader.cs index 9b6e4e652..31394821f 100644 --- a/src/ImageSharp/Formats/Bmp/BmpInfoHeader.cs +++ b/src/ImageSharp/Formats/Bmp/BmpInfoHeader.cs @@ -532,6 +532,17 @@ namespace SixLabors.ImageSharp.Formats.Bmp BinaryPrimitives.WriteInt32LittleEndian(buffer.Slice(104, 4), this.GammaBlue); } + /// + /// Writes a complete Bitmap V5 header to a buffer. + /// + /// The buffer to write to. + public void WriteV5Header(Span buffer) + { + ref BmpInfoHeader dest = ref Unsafe.As(ref MemoryMarshal.GetReference(buffer)); + + dest = this; + } + internal void VerifyDimensions() { const int MaximumBmpDimension = 65535; diff --git a/src/ImageSharp/Formats/Bmp/BmpRenderingIntent.cs b/src/ImageSharp/Formats/Bmp/BmpRenderingIntent.cs index 8e0362595..e437a0cbf 100644 --- a/src/ImageSharp/Formats/Bmp/BmpRenderingIntent.cs +++ b/src/ImageSharp/Formats/Bmp/BmpRenderingIntent.cs @@ -15,7 +15,7 @@ namespace SixLabors.ImageSharp.Formats.Bmp Invalid = 0, /// - /// TMaintains saturation. Used for business charts and other situations in which undithered colors are required. + /// Maintains saturation. Used for business charts and other situations in which undithered colors are required. /// LCS_GM_BUSINESS = 1, From 5388489d380f3a060bfe1c3e406ab26e185dfb2a Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sat, 7 May 2022 12:24:40 +0200 Subject: [PATCH 234/244] Add color profile tests --- src/ImageSharp/Formats/Bmp/BmpEncoderCore.cs | 13 ++++----- .../Formats/Bmp/BmpDecoderTests.cs | 4 +-- .../Formats/Bmp/BmpEncoderTests.cs | 27 +++++++++++++++++++ .../Formats/Bmp/BmpMetadataTests.cs | 16 ++++++++++- tests/ImageSharp.Tests/TestImages.cs | 1 + tests/Images/Input/Bmp/BMP_v5_with_ICC_2.bmp | 3 +++ 6 files changed, 55 insertions(+), 9 deletions(-) create mode 100644 tests/Images/Input/Bmp/BMP_v5_with_ICC_2.bmp diff --git a/src/ImageSharp/Formats/Bmp/BmpEncoderCore.cs b/src/ImageSharp/Formats/Bmp/BmpEncoderCore.cs index 32025f69f..247ed7811 100644 --- a/src/ImageSharp/Formats/Bmp/BmpEncoderCore.cs +++ b/src/ImageSharp/Formats/Bmp/BmpEncoderCore.cs @@ -163,7 +163,7 @@ namespace SixLabors.ImageSharp.Formats.Bmp this.WriteBitmapFileHeader(stream, infoHeaderSize, colorPaletteSize, iccProfileSize, infoHeader, buffer); this.WriteBitmapInfoHeader(stream, infoHeader, buffer, infoHeaderSize); this.WriteImage(stream, image.Frames.RootFrame); - this.WriteColorProfile(stream, metadata, buffer); + this.WriteColorProfile(stream, iccProfileData, buffer); stream.Flush(); } @@ -246,14 +246,15 @@ namespace SixLabors.ImageSharp.Formats.Bmp /// Writes the color profile to the stream. /// /// The stream to write to. - /// The metadata. + /// The color profile data. /// The buffer. - private void WriteColorProfile(Stream stream, ImageMetadata metadata, Span buffer) + private void WriteColorProfile(Stream stream, byte[] iccProfileData, Span buffer) { - if (metadata.IccProfile != null) + if (iccProfileData != null) { - int streamPositionAfterImageData = (int)stream.Position; - stream.Write(metadata.IccProfile.ToByteArray()); + // The offset, in bytes, from the beginning of the BITMAPV5HEADER structure to the start of the profile data. + int streamPositionAfterImageData = (int)stream.Position - BmpFileHeader.Size; + stream.Write(iccProfileData); BinaryPrimitives.WriteInt32LittleEndian(buffer, streamPositionAfterImageData); stream.Position = BmpFileHeader.Size + 112; stream.Write(buffer.Slice(0, 4)); diff --git a/tests/ImageSharp.Tests/Formats/Bmp/BmpDecoderTests.cs b/tests/ImageSharp.Tests/Formats/Bmp/BmpDecoderTests.cs index 43ec45a34..b42569a23 100644 --- a/tests/ImageSharp.Tests/Formats/Bmp/BmpDecoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Bmp/BmpDecoderTests.cs @@ -29,10 +29,10 @@ namespace SixLabors.ImageSharp.Tests.Formats.Bmp public static readonly string[] BitfieldsBmpFiles = BitFields; - private static BmpDecoder BmpDecoder => new BmpDecoder(); + private static BmpDecoder BmpDecoder => new(); public static readonly TheoryData RatioFiles = - new TheoryData + new() { { Car, 3780, 3780, PixelResolutionUnit.PixelsPerMeter }, { V5Header, 3780, 3780, PixelResolutionUnit.PixelsPerMeter }, diff --git a/tests/ImageSharp.Tests/Formats/Bmp/BmpEncoderTests.cs b/tests/ImageSharp.Tests/Formats/Bmp/BmpEncoderTests.cs index 073cf5fcf..2215d5f0a 100644 --- a/tests/ImageSharp.Tests/Formats/Bmp/BmpEncoderTests.cs +++ b/tests/ImageSharp.Tests/Formats/Bmp/BmpEncoderTests.cs @@ -301,6 +301,33 @@ namespace SixLabors.ImageSharp.Tests.Formats.Bmp public void Encode_PreservesAlpha(TestImageProvider provider, BmpBitsPerPixel bitsPerPixel) where TPixel : unmanaged, IPixel => TestBmpEncoderCore(provider, bitsPerPixel, supportTransparency: true); + [Theory] + [WithFile(IccProfile, PixelTypes.Rgba32)] + public void Encode_PreservesColorProfile(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + using (Image input = provider.GetImage(new BmpDecoder())) + { + ImageSharp.Metadata.Profiles.Icc.IccProfile expectedProfile = input.Metadata.IccProfile; + byte[] expectedProfileBytes = expectedProfile.ToByteArray(); + + using (var memStream = new MemoryStream()) + { + input.Save(memStream, new BmpEncoder()); + + memStream.Position = 0; + using (var output = Image.Load(memStream)) + { + ImageSharp.Metadata.Profiles.Icc.IccProfile actualProfile = output.Metadata.IccProfile; + byte[] actualProfileBytes = actualProfile.ToByteArray(); + + Assert.NotNull(actualProfile); + Assert.Equal(expectedProfileBytes, actualProfileBytes); + } + } + } + } + [Theory] [WithFile(Car, PixelTypes.Rgba32, BmpBitsPerPixel.Pixel32)] [WithFile(V5Header, PixelTypes.Rgba32, BmpBitsPerPixel.Pixel32)] diff --git a/tests/ImageSharp.Tests/Formats/Bmp/BmpMetadataTests.cs b/tests/ImageSharp.Tests/Formats/Bmp/BmpMetadataTests.cs index 8931c242e..6a582e019 100644 --- a/tests/ImageSharp.Tests/Formats/Bmp/BmpMetadataTests.cs +++ b/tests/ImageSharp.Tests/Formats/Bmp/BmpMetadataTests.cs @@ -3,7 +3,7 @@ using System.IO; using SixLabors.ImageSharp.Formats.Bmp; - +using SixLabors.ImageSharp.PixelFormats; using Xunit; using static SixLabors.ImageSharp.Tests.TestImages.Bmp; @@ -47,5 +47,19 @@ namespace SixLabors.ImageSharp.Tests.Formats.Bmp Assert.Equal(expectedInfoHeaderType, bitmapMetadata.InfoHeaderType); } } + + [Theory] + [WithFile(IccProfile, PixelTypes.Rgba32)] + public void Decoder_CanReadColorProfile(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + using (Image image = provider.GetImage(new BmpDecoder())) + { + ImageSharp.Metadata.ImageMetadata metaData = image.Metadata; + Assert.NotNull(metaData); + Assert.NotNull(metaData.IccProfile); + Assert.Equal(16, metaData.IccProfile.Entries.Length); + } + } } } diff --git a/tests/ImageSharp.Tests/TestImages.cs b/tests/ImageSharp.Tests/TestImages.cs index fa51fb225..d36cec630 100644 --- a/tests/ImageSharp.Tests/TestImages.cs +++ b/tests/ImageSharp.Tests/TestImages.cs @@ -379,6 +379,7 @@ namespace SixLabors.ImageSharp.Tests public const string Rgb24jpeg = "Bmp/rgb24jpeg.bmp"; public const string Rgb24png = "Bmp/rgb24png.bmp"; public const string Rgba32v4 = "Bmp/rgba32v4.bmp"; + public const string IccProfile = "Bmp/BMP_v5_with_ICC_2.bmp"; // Bitmap images with compression type BITFIELDS. public const string Rgb32bfdef = "Bmp/rgb32bfdef.bmp"; diff --git a/tests/Images/Input/Bmp/BMP_v5_with_ICC_2.bmp b/tests/Images/Input/Bmp/BMP_v5_with_ICC_2.bmp new file mode 100644 index 000000000..d6328d429 --- /dev/null +++ b/tests/Images/Input/Bmp/BMP_v5_with_ICC_2.bmp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b5b483e9a9d3f3ebdeada2eff70800002c27c046bf971206af0ecc73fa1416e6 +size 27782 From 43c83dabc77d2a72453899783d520b93a378db7b Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sat, 7 May 2022 14:36:30 +0200 Subject: [PATCH 235/244] Preserve color profile when encoding webp --- .../Formats/Webp/BitWriter/BitWriterBase.cs | 34 ++++++++++++++++++- .../Formats/Webp/BitWriter/Vp8BitWriter.cs | 26 +++++++++++--- .../Formats/Webp/BitWriter/Vp8LBitWriter.cs | 20 +++++++++-- .../Formats/Webp/Lossless/Vp8LEncoder.cs | 2 +- .../Formats/Webp/Lossy/Vp8Encoder.cs | 1 + 5 files changed, 75 insertions(+), 8 deletions(-) diff --git a/src/ImageSharp/Formats/Webp/BitWriter/BitWriterBase.cs b/src/ImageSharp/Formats/Webp/BitWriter/BitWriterBase.cs index fc1accfde..3c503f5e0 100644 --- a/src/ImageSharp/Formats/Webp/BitWriter/BitWriterBase.cs +++ b/src/ImageSharp/Formats/Webp/BitWriter/BitWriterBase.cs @@ -5,6 +5,7 @@ using System; using System.Buffers.Binary; using System.IO; using SixLabors.ImageSharp.Metadata.Profiles.Exif; +using SixLabors.ImageSharp.Metadata.Profiles.Icc; using SixLabors.ImageSharp.Metadata.Profiles.Xmp; namespace SixLabors.ImageSharp.Formats.Webp.BitWriter @@ -178,16 +179,41 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter } } + /// + /// Writes the color profile to the stream. + /// + /// The stream to write to. + /// The color profile bytes. + protected void WriteColorProfile(Stream stream, byte[] iccProfileBytes) + { + uint size = (uint)iccProfileBytes.Length; + + Span buf = this.scratchBuffer.AsSpan(0, 4); + BinaryPrimitives.WriteUInt32BigEndian(buf, (uint)WebpChunkType.Iccp); + stream.Write(buf); + BinaryPrimitives.WriteUInt32LittleEndian(buf, size); + stream.Write(buf); + + stream.Write(iccProfileBytes); + + // Add padding byte if needed. + if ((size & 1) == 1) + { + stream.WriteByte(0); + } + } + /// /// Writes a VP8X header to the stream. /// /// The stream to write to. /// A exif profile or null, if it does not exist. /// A XMP profile or null, if it does not exist. + /// The color profile. /// The width of the image. /// The height of the image. /// Flag indicating, if a alpha channel is present. - protected void WriteVp8XHeader(Stream stream, ExifProfile exifProfile, XmpProfile xmpProfile, uint width, uint height, bool hasAlpha) + protected void WriteVp8XHeader(Stream stream, ExifProfile exifProfile, XmpProfile xmpProfile, IccProfile iccProfile, uint width, uint height, bool hasAlpha) { if (width > MaxDimension || height > MaxDimension) { @@ -219,6 +245,12 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter flags |= 16; } + if (iccProfile != null) + { + // Set iccp flag. + flags |= 32; + } + Span buf = this.scratchBuffer.AsSpan(0, 4); stream.Write(WebpConstants.Vp8XMagicBytes); BinaryPrimitives.WriteUInt32LittleEndian(buf, WebpConstants.Vp8XChunkSize); diff --git a/src/ImageSharp/Formats/Webp/BitWriter/Vp8BitWriter.cs b/src/ImageSharp/Formats/Webp/BitWriter/Vp8BitWriter.cs index fa6e09d87..cfc024624 100644 --- a/src/ImageSharp/Formats/Webp/BitWriter/Vp8BitWriter.cs +++ b/src/ImageSharp/Formats/Webp/BitWriter/Vp8BitWriter.cs @@ -6,6 +6,7 @@ using System.Buffers.Binary; using System.IO; using SixLabors.ImageSharp.Formats.Webp.Lossy; using SixLabors.ImageSharp.Metadata.Profiles.Exif; +using SixLabors.ImageSharp.Metadata.Profiles.Icc; using SixLabors.ImageSharp.Metadata.Profiles.Xmp; namespace SixLabors.ImageSharp.Formats.Webp.BitWriter @@ -406,6 +407,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter /// The stream to write to. /// The exif profile. /// The XMP profile. + /// The color profile. /// The width of the image. /// The height of the image. /// Flag indicating, if a alpha channel is present. @@ -415,6 +417,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter Stream stream, ExifProfile exifProfile, XmpProfile xmpProfile, + IccProfile iccProfile, uint width, uint height, bool hasAlpha, @@ -424,6 +427,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter bool isVp8X = false; byte[] exifBytes = null; byte[] xmpBytes = null; + byte[] iccProfileBytes = null; uint riffSize = 0; if (exifProfile != null) { @@ -439,6 +443,13 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter riffSize += this.MetadataChunkSize(xmpBytes); } + if (iccProfile != null) + { + isVp8X = true; + iccProfileBytes = iccProfile.ToByteArray(); + riffSize += this.MetadataChunkSize(iccProfileBytes); + } + if (hasAlpha) { isVp8X = true; @@ -457,7 +468,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter var bitWriterPartZero = new Vp8BitWriter(expectedSize); - // Partition #0 with header and partition sizes + // Partition #0 with header and partition sizes. uint size0 = this.GeneratePartition0(bitWriterPartZero); uint vp8Size = WebpConstants.Vp8FrameHeaderSize + size0; @@ -465,12 +476,12 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter uint pad = vp8Size & 1; vp8Size += pad; - // Compute RIFF size + // Compute RIFF size. // At the minimum it is: "WEBPVP8 nnnn" + VP8 data size. riffSize += WebpConstants.TagSize + WebpConstants.ChunkHeaderSize + vp8Size; // Emit headers and partition #0 - this.WriteWebpHeaders(stream, size0, vp8Size, riffSize, isVp8X, width, height, exifProfile, xmpProfile, hasAlpha, alphaData, alphaDataIsCompressed); + this.WriteWebpHeaders(stream, size0, vp8Size, riffSize, isVp8X, width, height, exifProfile, xmpProfile, iccProfile, hasAlpha, alphaData, alphaDataIsCompressed); bitWriterPartZero.WriteToStream(stream); // Write the encoded image to the stream. @@ -668,6 +679,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter uint height, ExifProfile exifProfile, XmpProfile xmpProfile, + IccProfile iccProfile, bool hasAlpha, Span alphaData, bool alphaDataIsCompressed) @@ -677,7 +689,13 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter // Write VP8X, header if necessary. if (isVp8X) { - this.WriteVp8XHeader(stream, exifProfile, xmpProfile, width, height, hasAlpha); + this.WriteVp8XHeader(stream, exifProfile, xmpProfile, iccProfile, width, height, hasAlpha); + + if (iccProfile != null) + { + this.WriteColorProfile(stream, iccProfile.ToByteArray()); + } + if (hasAlpha) { this.WriteAlphaChunk(stream, alphaData, alphaDataIsCompressed); diff --git a/src/ImageSharp/Formats/Webp/BitWriter/Vp8LBitWriter.cs b/src/ImageSharp/Formats/Webp/BitWriter/Vp8LBitWriter.cs index d41224f90..60f6b97c8 100644 --- a/src/ImageSharp/Formats/Webp/BitWriter/Vp8LBitWriter.cs +++ b/src/ImageSharp/Formats/Webp/BitWriter/Vp8LBitWriter.cs @@ -6,6 +6,7 @@ using System.Buffers.Binary; using System.IO; using SixLabors.ImageSharp.Formats.Webp.Lossless; using SixLabors.ImageSharp.Metadata.Profiles.Exif; +using SixLabors.ImageSharp.Metadata.Profiles.Icc; using SixLabors.ImageSharp.Metadata.Profiles.Xmp; namespace SixLabors.ImageSharp.Formats.Webp.BitWriter @@ -134,14 +135,16 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter /// The stream to write to. /// The exif profile. /// The XMP profile. + /// The color profile. /// The width of the image. /// The height of the image. /// Flag indicating, if a alpha channel is present. - public void WriteEncodedImageToStream(Stream stream, ExifProfile exifProfile, XmpProfile xmpProfile, uint width, uint height, bool hasAlpha) + public void WriteEncodedImageToStream(Stream stream, ExifProfile exifProfile, XmpProfile xmpProfile, IccProfile iccProfile, uint width, uint height, bool hasAlpha) { bool isVp8X = false; byte[] exifBytes = null; byte[] xmpBytes = null; + byte[] iccBytes = null; uint riffSize = 0; if (exifProfile != null) { @@ -159,6 +162,14 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter riffSize += this.MetadataChunkSize(xmpBytes); } + if (iccProfile != null) + { + isVp8X = true; + riffSize += ExtendedFileChunkSize; + iccBytes = iccProfile.ToByteArray(); + riffSize += this.MetadataChunkSize(iccBytes); + } + this.Finish(); uint size = (uint)this.NumBytes(); size++; // One byte extra for the VP8L signature. @@ -171,7 +182,12 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter // Write VP8X, header if necessary. if (isVp8X) { - this.WriteVp8XHeader(stream, exifProfile, xmpProfile, width, height, hasAlpha); + this.WriteVp8XHeader(stream, exifProfile, xmpProfile, iccProfile, width, height, hasAlpha); + + if (iccBytes != null) + { + this.WriteColorProfile(stream, iccBytes); + } } // Write magic bytes indicating its a lossless webp. diff --git a/src/ImageSharp/Formats/Webp/Lossless/Vp8LEncoder.cs b/src/ImageSharp/Formats/Webp/Lossless/Vp8LEncoder.cs index 30d65562a..8de1ccc42 100644 --- a/src/ImageSharp/Formats/Webp/Lossless/Vp8LEncoder.cs +++ b/src/ImageSharp/Formats/Webp/Lossless/Vp8LEncoder.cs @@ -255,7 +255,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossless this.EncodeStream(image); // Write bytes from the bitwriter buffer to the stream. - this.bitWriter.WriteEncodedImageToStream(stream, metadata.ExifProfile, metadata.XmpProfile, (uint)width, (uint)height, hasAlpha); + this.bitWriter.WriteEncodedImageToStream(stream, metadata.ExifProfile, metadata.XmpProfile, metadata.IccProfile, (uint)width, (uint)height, hasAlpha); } /// diff --git a/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs b/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs index 695359e5e..f24fdb45d 100644 --- a/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs +++ b/src/ImageSharp/Formats/Webp/Lossy/Vp8Encoder.cs @@ -378,6 +378,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.Lossy stream, metadata.ExifProfile, metadata.XmpProfile, + metadata.IccProfile, (uint)width, (uint)height, hasAlpha, From 5bac8b36bfb7909fc229f95d98cdb64c30309db5 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sat, 7 May 2022 16:15:32 +0200 Subject: [PATCH 236/244] Add test for ICCP --- .../Formats/Webp/BitWriter/BitWriterBase.cs | 8 ++--- .../Formats/Webp/BitWriter/Vp8BitWriter.cs | 10 +++--- .../Formats/Webp/BitWriter/Vp8LBitWriter.cs | 10 +++--- .../Formats/WebP/WebpMetaDataTests.cs | 31 +++++++++++++++++++ 4 files changed, 46 insertions(+), 13 deletions(-) diff --git a/src/ImageSharp/Formats/Webp/BitWriter/BitWriterBase.cs b/src/ImageSharp/Formats/Webp/BitWriter/BitWriterBase.cs index 3c503f5e0..0e1c9f4d9 100644 --- a/src/ImageSharp/Formats/Webp/BitWriter/BitWriterBase.cs +++ b/src/ImageSharp/Formats/Webp/BitWriter/BitWriterBase.cs @@ -98,7 +98,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter } /// - /// Calculates the chunk size of EXIF or XMP metadata. + /// Calculates the chunk size of EXIF, XMP or ICCP metadata. /// /// The metadata profile bytes. /// The metadata chunk size in bytes. @@ -209,11 +209,11 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter /// The stream to write to. /// A exif profile or null, if it does not exist. /// A XMP profile or null, if it does not exist. - /// The color profile. + /// The color profile bytes. /// The width of the image. /// The height of the image. /// Flag indicating, if a alpha channel is present. - protected void WriteVp8XHeader(Stream stream, ExifProfile exifProfile, XmpProfile xmpProfile, IccProfile iccProfile, uint width, uint height, bool hasAlpha) + protected void WriteVp8XHeader(Stream stream, ExifProfile exifProfile, XmpProfile xmpProfile, byte[] iccProfileBytes, uint width, uint height, bool hasAlpha) { if (width > MaxDimension || height > MaxDimension) { @@ -245,7 +245,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter flags |= 16; } - if (iccProfile != null) + if (iccProfileBytes != null) { // Set iccp flag. flags |= 32; diff --git a/src/ImageSharp/Formats/Webp/BitWriter/Vp8BitWriter.cs b/src/ImageSharp/Formats/Webp/BitWriter/Vp8BitWriter.cs index cfc024624..7cc915e18 100644 --- a/src/ImageSharp/Formats/Webp/BitWriter/Vp8BitWriter.cs +++ b/src/ImageSharp/Formats/Webp/BitWriter/Vp8BitWriter.cs @@ -481,7 +481,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter riffSize += WebpConstants.TagSize + WebpConstants.ChunkHeaderSize + vp8Size; // Emit headers and partition #0 - this.WriteWebpHeaders(stream, size0, vp8Size, riffSize, isVp8X, width, height, exifProfile, xmpProfile, iccProfile, hasAlpha, alphaData, alphaDataIsCompressed); + this.WriteWebpHeaders(stream, size0, vp8Size, riffSize, isVp8X, width, height, exifProfile, xmpProfile, iccProfileBytes, hasAlpha, alphaData, alphaDataIsCompressed); bitWriterPartZero.WriteToStream(stream); // Write the encoded image to the stream. @@ -679,7 +679,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter uint height, ExifProfile exifProfile, XmpProfile xmpProfile, - IccProfile iccProfile, + byte[] iccProfileBytes, bool hasAlpha, Span alphaData, bool alphaDataIsCompressed) @@ -689,11 +689,11 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter // Write VP8X, header if necessary. if (isVp8X) { - this.WriteVp8XHeader(stream, exifProfile, xmpProfile, iccProfile, width, height, hasAlpha); + this.WriteVp8XHeader(stream, exifProfile, xmpProfile, iccProfileBytes, width, height, hasAlpha); - if (iccProfile != null) + if (iccProfileBytes != null) { - this.WriteColorProfile(stream, iccProfile.ToByteArray()); + this.WriteColorProfile(stream, iccProfileBytes); } if (hasAlpha) diff --git a/src/ImageSharp/Formats/Webp/BitWriter/Vp8LBitWriter.cs b/src/ImageSharp/Formats/Webp/BitWriter/Vp8LBitWriter.cs index 60f6b97c8..7bd6febeb 100644 --- a/src/ImageSharp/Formats/Webp/BitWriter/Vp8LBitWriter.cs +++ b/src/ImageSharp/Formats/Webp/BitWriter/Vp8LBitWriter.cs @@ -149,7 +149,6 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter if (exifProfile != null) { isVp8X = true; - riffSize += ExtendedFileChunkSize; exifBytes = exifProfile.ToByteArray(); riffSize += this.MetadataChunkSize(exifBytes); } @@ -157,7 +156,6 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter if (xmpProfile != null) { isVp8X = true; - riffSize += ExtendedFileChunkSize; xmpBytes = xmpProfile.Data; riffSize += this.MetadataChunkSize(xmpBytes); } @@ -165,11 +163,15 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter if (iccProfile != null) { isVp8X = true; - riffSize += ExtendedFileChunkSize; iccBytes = iccProfile.ToByteArray(); riffSize += this.MetadataChunkSize(iccBytes); } + if (isVp8X) + { + riffSize += ExtendedFileChunkSize; + } + this.Finish(); uint size = (uint)this.NumBytes(); size++; // One byte extra for the VP8L signature. @@ -182,7 +184,7 @@ namespace SixLabors.ImageSharp.Formats.Webp.BitWriter // Write VP8X, header if necessary. if (isVp8X) { - this.WriteVp8XHeader(stream, exifProfile, xmpProfile, iccProfile, width, height, hasAlpha); + this.WriteVp8XHeader(stream, exifProfile, xmpProfile, iccBytes, width, height, hasAlpha); if (iccBytes != null) { diff --git a/tests/ImageSharp.Tests/Formats/WebP/WebpMetaDataTests.cs b/tests/ImageSharp.Tests/Formats/WebP/WebpMetaDataTests.cs index 456b9a3f5..d1f148be0 100644 --- a/tests/ImageSharp.Tests/Formats/WebP/WebpMetaDataTests.cs +++ b/tests/ImageSharp.Tests/Formats/WebP/WebpMetaDataTests.cs @@ -152,6 +152,37 @@ namespace SixLabors.ImageSharp.Tests.Formats.Webp Assert.Equal(expectedExif.Values.Count, actualExif.Values.Count); } + [Theory] + [WithFile(TestImages.Webp.Lossy.WithIccp, PixelTypes.Rgba32, WebpFileFormatType.Lossless)] + [WithFile(TestImages.Webp.Lossy.WithIccp, PixelTypes.Rgba32, WebpFileFormatType.Lossy)] + public void Encode_PreservesColorProfile(TestImageProvider provider, WebpFileFormatType fileFormat) + where TPixel : unmanaged, IPixel + { + using (Image input = provider.GetImage(new WebpDecoder())) + { + ImageSharp.Metadata.Profiles.Icc.IccProfile expectedProfile = input.Metadata.IccProfile; + byte[] expectedProfileBytes = expectedProfile.ToByteArray(); + + using (var memStream = new MemoryStream()) + { + input.Save(memStream, new WebpEncoder() + { + FileFormat = fileFormat + }); + + memStream.Position = 0; + using (var output = Image.Load(memStream)) + { + ImageSharp.Metadata.Profiles.Icc.IccProfile actualProfile = output.Metadata.IccProfile; + byte[] actualProfileBytes = actualProfile.ToByteArray(); + + Assert.NotNull(actualProfile); + Assert.Equal(expectedProfileBytes, actualProfileBytes); + } + } + } + } + [Theory] [WithFile(TestImages.Webp.Lossy.WithExifNotEnoughData, PixelTypes.Rgba32)] public void WebpDecoder_IgnoresInvalidExifChunk(TestImageProvider provider) From 1c474c7758c3a192aa53aef557ba0ff5f9b4f79d Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sat, 7 May 2022 17:19:31 +0200 Subject: [PATCH 237/244] Add decoding color profile chunk --- src/ImageSharp/Formats/Png/PngDecoderCore.cs | 56 ++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/src/ImageSharp/Formats/Png/PngDecoderCore.cs b/src/ImageSharp/Formats/Png/PngDecoderCore.cs index 12770bc52..3dc6d0bf4 100644 --- a/src/ImageSharp/Formats/Png/PngDecoderCore.cs +++ b/src/ImageSharp/Formats/Png/PngDecoderCore.cs @@ -19,6 +19,7 @@ using SixLabors.ImageSharp.IO; using SixLabors.ImageSharp.Memory; using SixLabors.ImageSharp.Metadata; using SixLabors.ImageSharp.Metadata.Profiles.Exif; +using SixLabors.ImageSharp.Metadata.Profiles.Icc; using SixLabors.ImageSharp.Metadata.Profiles.Xmp; using SixLabors.ImageSharp.PixelFormats; @@ -205,6 +206,9 @@ namespace SixLabors.ImageSharp.Formats.Png this.MergeOrSetExifProfile(metadata, new ExifProfile(exifData), replaceExistingKeys: true); } + break; + case PngChunkType.EmbeddedColorProfile: + this.ReadColorProfileChunk(metadata, chunk.Data.GetSpan()); break; case PngChunkType.End: goto EOF; @@ -1174,6 +1178,58 @@ namespace SixLabors.ImageSharp.Formats.Png return true; } + /// + /// Reads the color profile chunk. The data is stored similar to the zTXt chunk. + /// + /// The metadata. + /// The bytes containing the profile. + private void ReadColorProfileChunk(ImageMetadata metadata, ReadOnlySpan data) + { + int zeroIndex = data.IndexOf((byte)0); + if (zeroIndex < PngConstants.MinTextKeywordLength || zeroIndex > PngConstants.MaxTextKeywordLength) + { + return; + } + + byte compressionMethod = data[zeroIndex + 1]; + if (compressionMethod != 0) + { + // Only compression method 0 is supported (zlib datastream with deflate compression). + return; + } + + ReadOnlySpan keywordBytes = data.Slice(0, zeroIndex); + if (!this.TryReadTextKeyword(keywordBytes, out string name)) + { + return; + } + + ReadOnlySpan compressedData = data.Slice(zeroIndex + 2); + + using (var memoryStream = new MemoryStream(compressedData.ToArray())) + using (var bufferedStream = new BufferedReadStream(this.Configuration, memoryStream)) + using (var inflateStream = new ZlibInflateStream(bufferedStream)) + { + if (!inflateStream.AllocateNewBytes(compressedData.Length, false)) + { + return; + } + + var uncompressedBytes = new List(); + + // Note: this uses a buffer which is only 4 bytes long to read the stream, maybe allocating a larger buffer makes sense here. + int bytesRead = inflateStream.CompressedStream.Read(this.buffer, 0, this.buffer.Length); + while (bytesRead != 0) + { + uncompressedBytes.AddRange(this.buffer.AsSpan(0, bytesRead).ToArray()); + bytesRead = inflateStream.CompressedStream.Read(this.buffer, 0, this.buffer.Length); + } + + byte[] iccpProfileBytes = uncompressedBytes.ToArray(); + metadata.IccProfile = new IccProfile(iccpProfileBytes); + } + } + /// /// Compares two ReadOnlySpan<char>s in a case-insensitive method. /// This is only needed because older frameworks are missing the extension method. From 9b5d56f585adb4e032fc41ef37f27097b2526134 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sat, 7 May 2022 18:53:57 +0200 Subject: [PATCH 238/244] Preserve color profile when encoding png's --- src/ImageSharp/Formats/Png/PngEncoderCore.cs | 70 ++++++++++++++------ 1 file changed, 51 insertions(+), 19 deletions(-) diff --git a/src/ImageSharp/Formats/Png/PngEncoderCore.cs b/src/ImageSharp/Formats/Png/PngEncoderCore.cs index c443c0fcf..866391527 100644 --- a/src/ImageSharp/Formats/Png/PngEncoderCore.cs +++ b/src/ImageSharp/Formats/Png/PngEncoderCore.cs @@ -87,6 +87,11 @@ namespace SixLabors.ImageSharp.Formats.Png /// private IMemoryOwner currentScanline; + /// + /// The color profile name. + /// + private const string ProfileName = "ICC Profile"; + /// /// Initializes a new instance of the class. /// @@ -134,6 +139,7 @@ namespace SixLabors.ImageSharp.Formats.Png this.WriteHeaderChunk(stream); this.WriteGammaChunk(stream); + this.WriteColorProfileChunk(stream, metadata); this.WritePaletteChunk(stream, quantized); this.WriteTransparencyChunk(stream, pngMetadata); this.WritePhysicalChunk(stream, metadata); @@ -656,7 +662,7 @@ namespace SixLabors.ImageSharp.Formats.Png } /// - /// Writes an iTXT chunk, containing the XMP metdata to the stream, if such profile is present in the metadata. + /// Writes an iTXT chunk, containing the XMP metadata to the stream, if such profile is present in the metadata. /// /// The containing image data. /// The image metadata. @@ -673,7 +679,7 @@ namespace SixLabors.ImageSharp.Formats.Png return; } - var xmpData = meta.XmpProfile.Data; + byte[] xmpData = meta.XmpProfile.Data; if (xmpData.Length == 0) { @@ -687,19 +693,48 @@ namespace SixLabors.ImageSharp.Formats.Png PngConstants.XmpKeyword.CopyTo(payload); int bytesWritten = PngConstants.XmpKeyword.Length; - // Write the iTxt header (all zeros in this case) + // Write the iTxt header (all zeros in this case). payload[bytesWritten++] = 0; payload[bytesWritten++] = 0; payload[bytesWritten++] = 0; payload[bytesWritten++] = 0; payload[bytesWritten++] = 0; - // And the XMP data itself + // And the XMP data itself. xmpData.CopyTo(payload.Slice(bytesWritten)); this.WriteChunk(stream, PngChunkType.InternationalText, payload); } } + /// + /// Writes the color profile chunk. + /// + /// The stream to write to. + /// The image meta data. + private void WriteColorProfileChunk(Stream stream, ImageMetadata metaData) + { + if (metaData.IccProfile is null) + { + return; + } + + string profileName = "ICC Profile"; + byte[] iccProfileBytes = metaData.IccProfile.ToByteArray(); + + byte[] compressedData = this.GetZlibCompressedBytes(iccProfileBytes); + int payloadLength = profileName.Length + compressedData.Length + 2; + using (IMemoryOwner owner = this.memoryAllocator.Allocate(payloadLength)) + { + Span outputBytes = owner.GetSpan(); + PngConstants.Encoding.GetBytes(profileName).CopyTo(outputBytes); + int bytesWritten = profileName.Length; + outputBytes[bytesWritten++] = 0; // Null separator. + outputBytes[bytesWritten++] = 0; // Compression. + compressedData.CopyTo(outputBytes.Slice(bytesWritten)); + this.WriteChunk(stream, PngChunkType.EmbeddedColorProfile, outputBytes); + } + } + /// /// Writes a text chunk to the stream. Can be either a tTXt, iTXt or zTXt chunk, /// depending whether the text contains any latin characters or should be compressed. @@ -727,13 +762,12 @@ namespace SixLabors.ImageSharp.Formats.Png } } - if (hasUnicodeCharacters || (!string.IsNullOrWhiteSpace(textData.LanguageTag) || - !string.IsNullOrWhiteSpace(textData.TranslatedKeyword))) + if (hasUnicodeCharacters || (!string.IsNullOrWhiteSpace(textData.LanguageTag) || !string.IsNullOrWhiteSpace(textData.TranslatedKeyword))) { // Write iTXt chunk. byte[] keywordBytes = PngConstants.Encoding.GetBytes(textData.Keyword); byte[] textBytes = textData.Value.Length > this.options.TextCompressionThreshold - ? this.GetCompressedTextBytes(PngConstants.TranslatedEncoding.GetBytes(textData.Value)) + ? this.GetZlibCompressedBytes(PngConstants.TranslatedEncoding.GetBytes(textData.Value)) : PngConstants.TranslatedEncoding.GetBytes(textData.Value); byte[] translatedKeyword = PngConstants.TranslatedEncoding.GetBytes(textData.TranslatedKeyword); @@ -772,18 +806,17 @@ namespace SixLabors.ImageSharp.Formats.Png if (textData.Value.Length > this.options.TextCompressionThreshold) { // Write zTXt chunk. - byte[] compressedData = - this.GetCompressedTextBytes(PngConstants.Encoding.GetBytes(textData.Value)); + byte[] compressedData = this.GetZlibCompressedBytes(PngConstants.Encoding.GetBytes(textData.Value)); int payloadLength = textData.Keyword.Length + compressedData.Length + 2; using (IMemoryOwner owner = this.memoryAllocator.Allocate(payloadLength)) { Span outputBytes = owner.GetSpan(); PngConstants.Encoding.GetBytes(textData.Keyword).CopyTo(outputBytes); int bytesWritten = textData.Keyword.Length; - outputBytes[bytesWritten++] = 0; - outputBytes[bytesWritten++] = 0; + outputBytes[bytesWritten++] = 0; // Null separator. + outputBytes[bytesWritten++] = 0; // Compression. compressedData.CopyTo(outputBytes.Slice(bytesWritten)); - this.WriteChunk(stream, PngChunkType.CompressedText, outputBytes.ToArray()); + this.WriteChunk(stream, PngChunkType.CompressedText, outputBytes); } } else @@ -796,9 +829,8 @@ namespace SixLabors.ImageSharp.Formats.Png PngConstants.Encoding.GetBytes(textData.Keyword).CopyTo(outputBytes); int bytesWritten = textData.Keyword.Length; outputBytes[bytesWritten++] = 0; - PngConstants.Encoding.GetBytes(textData.Value) - .CopyTo(outputBytes.Slice(bytesWritten)); - this.WriteChunk(stream, PngChunkType.Text, outputBytes.ToArray()); + PngConstants.Encoding.GetBytes(textData.Value).CopyTo(outputBytes.Slice(bytesWritten)); + this.WriteChunk(stream, PngChunkType.Text, outputBytes); } } } @@ -808,15 +840,15 @@ namespace SixLabors.ImageSharp.Formats.Png /// /// Compresses a given text using Zlib compression. /// - /// The text bytes to compress. - /// The compressed text byte array. - private byte[] GetCompressedTextBytes(byte[] textBytes) + /// The bytes to compress. + /// The compressed byte array. + private byte[] GetZlibCompressedBytes(byte[] dataBytes) { using (var memoryStream = new MemoryStream()) { using (var deflateStream = new ZlibDeflateStream(this.memoryAllocator, memoryStream, this.options.CompressionLevel)) { - deflateStream.Write(textBytes); + deflateStream.Write(dataBytes); } return memoryStream.ToArray(); From d645ba4bf3ff7ba9e26b334897852b92d13311d0 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sat, 7 May 2022 19:08:31 +0200 Subject: [PATCH 239/244] Add test for ICC profile --- .../Formats/Png/PngEncoderTests.Chunks.cs | 1 + .../Formats/Png/PngMetadataTests.cs | 29 ++++++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/tests/ImageSharp.Tests/Formats/Png/PngEncoderTests.Chunks.cs b/tests/ImageSharp.Tests/Formats/Png/PngEncoderTests.Chunks.cs index 30a684702..ede4ec1cc 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngEncoderTests.Chunks.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngEncoderTests.Chunks.cs @@ -302,6 +302,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png { PngChunkType.Header, PngChunkType.Gamma, + PngChunkType.EmbeddedColorProfile, PngChunkType.Palette, PngChunkType.InternationalText, PngChunkType.Text, diff --git a/tests/ImageSharp.Tests/Formats/Png/PngMetadataTests.cs b/tests/ImageSharp.Tests/Formats/Png/PngMetadataTests.cs index fd39a828f..d0ae61fd4 100644 --- a/tests/ImageSharp.Tests/Formats/Png/PngMetadataTests.cs +++ b/tests/ImageSharp.Tests/Formats/Png/PngMetadataTests.cs @@ -17,7 +17,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png public class PngMetadataTests { public static readonly TheoryData RatioFiles = - new TheoryData + new() { { TestImages.Png.Splash, 11810, 11810, PixelResolutionUnit.PixelsPerMeter }, { TestImages.Png.Ratio1x4, 1, 4, PixelResolutionUnit.AspectRatio }, @@ -222,6 +222,33 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png } } + [Theory] + [WithFile(TestImages.Png.PngWithMetadata, PixelTypes.Rgba32)] + public void Encode_PreservesColorProfile(TestImageProvider provider) + where TPixel : unmanaged, IPixel + { + using (Image input = provider.GetImage(new PngDecoder())) + { + ImageSharp.Metadata.Profiles.Icc.IccProfile expectedProfile = input.Metadata.IccProfile; + byte[] expectedProfileBytes = expectedProfile.ToByteArray(); + + using (var memStream = new MemoryStream()) + { + input.Save(memStream, new PngEncoder()); + + memStream.Position = 0; + using (var output = Image.Load(memStream)) + { + ImageSharp.Metadata.Profiles.Icc.IccProfile actualProfile = output.Metadata.IccProfile; + byte[] actualProfileBytes = actualProfile.ToByteArray(); + + Assert.NotNull(actualProfile); + Assert.Equal(expectedProfileBytes, actualProfileBytes); + } + } + } + } + [Theory] [MemberData(nameof(RatioFiles))] public void Identify_VerifyRatio(string imagePath, int xResolution, int yResolution, PixelResolutionUnit resolutionUnit) From 35d1473d7adc7fa16cad589e73da55e294edc35e Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Sat, 7 May 2022 19:11:23 +0200 Subject: [PATCH 240/244] Use const color profile name --- src/ImageSharp/Formats/Png/PngEncoderCore.cs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/ImageSharp/Formats/Png/PngEncoderCore.cs b/src/ImageSharp/Formats/Png/PngEncoderCore.cs index 866391527..e5b49c41d 100644 --- a/src/ImageSharp/Formats/Png/PngEncoderCore.cs +++ b/src/ImageSharp/Formats/Png/PngEncoderCore.cs @@ -90,7 +90,7 @@ namespace SixLabors.ImageSharp.Formats.Png /// /// The color profile name. /// - private const string ProfileName = "ICC Profile"; + private const string ColorProfileName = "ICC Profile"; /// /// Initializes a new instance of the class. @@ -718,16 +718,15 @@ namespace SixLabors.ImageSharp.Formats.Png return; } - string profileName = "ICC Profile"; byte[] iccProfileBytes = metaData.IccProfile.ToByteArray(); byte[] compressedData = this.GetZlibCompressedBytes(iccProfileBytes); - int payloadLength = profileName.Length + compressedData.Length + 2; + int payloadLength = ColorProfileName.Length + compressedData.Length + 2; using (IMemoryOwner owner = this.memoryAllocator.Allocate(payloadLength)) { Span outputBytes = owner.GetSpan(); - PngConstants.Encoding.GetBytes(profileName).CopyTo(outputBytes); - int bytesWritten = profileName.Length; + PngConstants.Encoding.GetBytes(ColorProfileName).CopyTo(outputBytes); + int bytesWritten = ColorProfileName.Length; outputBytes[bytesWritten++] = 0; // Null separator. outputBytes[bytesWritten++] = 0; // Compression. compressedData.CopyTo(outputBytes.Slice(bytesWritten)); From b025d29de4e6ba350275f122038f0fdabfcf2b09 Mon Sep 17 00:00:00 2001 From: Brian Popow <38701097+brianpopow@users.noreply.github.com> Date: Tue, 10 May 2022 09:30:34 +0200 Subject: [PATCH 241/244] Apply suggestions from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Günther Foidl --- src/ImageSharp/Formats/Png/PngDecoderCore.cs | 2 +- src/ImageSharp/Formats/Png/PngEncoderCore.cs | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/ImageSharp/Formats/Png/PngDecoderCore.cs b/src/ImageSharp/Formats/Png/PngDecoderCore.cs index 3dc6d0bf4..0745a5f5a 100644 --- a/src/ImageSharp/Formats/Png/PngDecoderCore.cs +++ b/src/ImageSharp/Formats/Png/PngDecoderCore.cs @@ -1186,7 +1186,7 @@ namespace SixLabors.ImageSharp.Formats.Png private void ReadColorProfileChunk(ImageMetadata metadata, ReadOnlySpan data) { int zeroIndex = data.IndexOf((byte)0); - if (zeroIndex < PngConstants.MinTextKeywordLength || zeroIndex > PngConstants.MaxTextKeywordLength) + if (zeroIndex is < PngConstants.MinTextKeywordLength or > PngConstants.MaxTextKeywordLength) { return; } diff --git a/src/ImageSharp/Formats/Png/PngEncoderCore.cs b/src/ImageSharp/Formats/Png/PngEncoderCore.cs index e5b49c41d..ad16c8037 100644 --- a/src/ImageSharp/Formats/Png/PngEncoderCore.cs +++ b/src/ImageSharp/Formats/Png/PngEncoderCore.cs @@ -694,11 +694,13 @@ namespace SixLabors.ImageSharp.Formats.Png int bytesWritten = PngConstants.XmpKeyword.Length; // Write the iTxt header (all zeros in this case). - payload[bytesWritten++] = 0; - payload[bytesWritten++] = 0; - payload[bytesWritten++] = 0; - payload[bytesWritten++] = 0; - payload[bytesWritten++] = 0; + Span iTxtHeader = payload.Slice(bytesWritten); + iTxtHeader[4] = 0; + iTxtHeader[3] = 0; + iTxtHeader[2] = 0; + iTxtHeader[1] = 0; + iTxtHeader[0] = 0; + bytesWritten += 5; // And the XMP data itself. xmpData.CopyTo(payload.Slice(bytesWritten)); From 2dd35982e7efd4a52dba1f3f6cd7b1b2b4de96a9 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Tue, 10 May 2022 09:47:09 +0200 Subject: [PATCH 242/244] Avoid allocation, remove code duplication for decompressing zlib data --- src/ImageSharp/Formats/Png/PngDecoderCore.cs | 77 ++++++++++---------- 1 file changed, 40 insertions(+), 37 deletions(-) diff --git a/src/ImageSharp/Formats/Png/PngDecoderCore.cs b/src/ImageSharp/Formats/Png/PngDecoderCore.cs index 0745a5f5a..470a245b2 100644 --- a/src/ImageSharp/Formats/Png/PngDecoderCore.cs +++ b/src/ImageSharp/Formats/Png/PngDecoderCore.cs @@ -1206,27 +1206,45 @@ namespace SixLabors.ImageSharp.Formats.Png ReadOnlySpan compressedData = data.Slice(zeroIndex + 2); - using (var memoryStream = new MemoryStream(compressedData.ToArray())) - using (var bufferedStream = new BufferedReadStream(this.Configuration, memoryStream)) - using (var inflateStream = new ZlibInflateStream(bufferedStream)) + if (this.TryUncompressZlibData(compressedData, out byte[] iccpProfileBytes)) { - if (!inflateStream.AllocateNewBytes(compressedData.Length, false)) + metadata.IccProfile = new IccProfile(iccpProfileBytes); + } + } + + /// + /// Tries to un-compress zlib compressed data. + /// + /// The compressed data. + /// The uncompressed bytes array. + /// True, if de-compressing was successful. + private unsafe bool TryUncompressZlibData(ReadOnlySpan compressedData, out byte[] uncompressedBytesArray) + { + fixed (byte* compressedDataBase = compressedData) + { + using (var memoryStream = new UnmanagedMemoryStream(compressedDataBase, compressedData.Length)) + using (var bufferedStream = new BufferedReadStream(this.Configuration, memoryStream)) + using (var inflateStream = new ZlibInflateStream(bufferedStream)) { - return; - } + if (!inflateStream.AllocateNewBytes(compressedData.Length, false)) + { + uncompressedBytesArray = Array.Empty(); + return false; + } - var uncompressedBytes = new List(); + var uncompressedBytes = new List(compressedData.Length); - // Note: this uses a buffer which is only 4 bytes long to read the stream, maybe allocating a larger buffer makes sense here. - int bytesRead = inflateStream.CompressedStream.Read(this.buffer, 0, this.buffer.Length); - while (bytesRead != 0) - { - uncompressedBytes.AddRange(this.buffer.AsSpan(0, bytesRead).ToArray()); - bytesRead = inflateStream.CompressedStream.Read(this.buffer, 0, this.buffer.Length); - } + // Note: this uses a buffer which is only 4 bytes long to read the stream, maybe allocating a larger buffer makes sense here. + int bytesRead = inflateStream.CompressedStream.Read(this.buffer, 0, this.buffer.Length); + while (bytesRead != 0) + { + uncompressedBytes.AddRange(this.buffer.AsSpan(0, bytesRead).ToArray()); + bytesRead = inflateStream.CompressedStream.Read(this.buffer, 0, this.buffer.Length); + } - byte[] iccpProfileBytes = uncompressedBytes.ToArray(); - metadata.IccProfile = new IccProfile(iccpProfileBytes); + uncompressedBytesArray = uncompressedBytes.ToArray(); + return true; + } } } @@ -1362,7 +1380,7 @@ namespace SixLabors.ImageSharp.Formats.Png } else if (this.IsXmpTextData(keywordBytes)) { - XmpProfile xmpProfile = new XmpProfile(data.Slice(dataStartIdx).ToArray()); + var xmpProfile = new XmpProfile(data.Slice(dataStartIdx).ToArray()); metadata.XmpProfile = xmpProfile; } else @@ -1381,29 +1399,14 @@ namespace SixLabors.ImageSharp.Formats.Png /// The . private bool TryUncompressTextData(ReadOnlySpan compressedData, Encoding encoding, out string value) { - using (var memoryStream = new MemoryStream(compressedData.ToArray())) - using (var bufferedStream = new BufferedReadStream(this.Configuration, memoryStream)) - using (var inflateStream = new ZlibInflateStream(bufferedStream)) + if (this.TryUncompressZlibData(compressedData, out byte[] uncompressedData)) { - if (!inflateStream.AllocateNewBytes(compressedData.Length, false)) - { - value = null; - return false; - } - - var uncompressedBytes = new List(); - - // Note: this uses a buffer which is only 4 bytes long to read the stream, maybe allocating a larger buffer makes sense here. - int bytesRead = inflateStream.CompressedStream.Read(this.buffer, 0, this.buffer.Length); - while (bytesRead != 0) - { - uncompressedBytes.AddRange(this.buffer.AsSpan(0, bytesRead).ToArray()); - bytesRead = inflateStream.CompressedStream.Read(this.buffer, 0, this.buffer.Length); - } - - value = encoding.GetString(uncompressedBytes.ToArray()); + value = encoding.GetString(uncompressedData); return true; } + + value = null; + return false; } /// From d43ec499e3cdfe1e0d100e12c781360471e9bc69 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Wed, 11 May 2022 14:32:00 +0200 Subject: [PATCH 243/244] Use memory allocator for destination buffer for the uncomressed bytes --- src/ImageSharp/Formats/Png/PngDecoderCore.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/ImageSharp/Formats/Png/PngDecoderCore.cs b/src/ImageSharp/Formats/Png/PngDecoderCore.cs index 470a245b2..16971b5b8 100644 --- a/src/ImageSharp/Formats/Png/PngDecoderCore.cs +++ b/src/ImageSharp/Formats/Png/PngDecoderCore.cs @@ -1222,10 +1222,12 @@ namespace SixLabors.ImageSharp.Formats.Png { fixed (byte* compressedDataBase = compressedData) { + using (IMemoryOwner destBuffer = this.memoryAllocator.Allocate(this.Configuration.StreamProcessingBufferSize)) using (var memoryStream = new UnmanagedMemoryStream(compressedDataBase, compressedData.Length)) using (var bufferedStream = new BufferedReadStream(this.Configuration, memoryStream)) using (var inflateStream = new ZlibInflateStream(bufferedStream)) { + Span dest = destBuffer.GetSpan(); if (!inflateStream.AllocateNewBytes(compressedData.Length, false)) { uncompressedBytesArray = Array.Empty(); @@ -1233,13 +1235,11 @@ namespace SixLabors.ImageSharp.Formats.Png } var uncompressedBytes = new List(compressedData.Length); - - // Note: this uses a buffer which is only 4 bytes long to read the stream, maybe allocating a larger buffer makes sense here. - int bytesRead = inflateStream.CompressedStream.Read(this.buffer, 0, this.buffer.Length); + int bytesRead = inflateStream.CompressedStream.Read(dest, 0, dest.Length); while (bytesRead != 0) { - uncompressedBytes.AddRange(this.buffer.AsSpan(0, bytesRead).ToArray()); - bytesRead = inflateStream.CompressedStream.Read(this.buffer, 0, this.buffer.Length); + uncompressedBytes.AddRange(dest.Slice(0, bytesRead).ToArray()); + bytesRead = inflateStream.CompressedStream.Read(dest, 0, dest.Length); } uncompressedBytesArray = uncompressedBytes.ToArray(); From a0e38c87b01af9c47101947580870f09513ed151 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Wed, 11 May 2022 14:59:50 +0200 Subject: [PATCH 244/244] Use memory stream for uncompressed data instead of a list --- src/ImageSharp/Formats/Png/PngDecoderCore.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/ImageSharp/Formats/Png/PngDecoderCore.cs b/src/ImageSharp/Formats/Png/PngDecoderCore.cs index 16971b5b8..f46b5058a 100644 --- a/src/ImageSharp/Formats/Png/PngDecoderCore.cs +++ b/src/ImageSharp/Formats/Png/PngDecoderCore.cs @@ -1223,26 +1223,26 @@ namespace SixLabors.ImageSharp.Formats.Png fixed (byte* compressedDataBase = compressedData) { using (IMemoryOwner destBuffer = this.memoryAllocator.Allocate(this.Configuration.StreamProcessingBufferSize)) - using (var memoryStream = new UnmanagedMemoryStream(compressedDataBase, compressedData.Length)) - using (var bufferedStream = new BufferedReadStream(this.Configuration, memoryStream)) + using (var memoryStreamOutput = new MemoryStream(compressedData.Length)) + using (var memoryStreamInput = new UnmanagedMemoryStream(compressedDataBase, compressedData.Length)) + using (var bufferedStream = new BufferedReadStream(this.Configuration, memoryStreamInput)) using (var inflateStream = new ZlibInflateStream(bufferedStream)) { - Span dest = destBuffer.GetSpan(); + Span destUncompressedData = destBuffer.GetSpan(); if (!inflateStream.AllocateNewBytes(compressedData.Length, false)) { uncompressedBytesArray = Array.Empty(); return false; } - var uncompressedBytes = new List(compressedData.Length); - int bytesRead = inflateStream.CompressedStream.Read(dest, 0, dest.Length); + int bytesRead = inflateStream.CompressedStream.Read(destUncompressedData, 0, destUncompressedData.Length); while (bytesRead != 0) { - uncompressedBytes.AddRange(dest.Slice(0, bytesRead).ToArray()); - bytesRead = inflateStream.CompressedStream.Read(dest, 0, dest.Length); + memoryStreamOutput.Write(destUncompressedData.Slice(0, bytesRead)); + bytesRead = inflateStream.CompressedStream.Read(destUncompressedData, 0, destUncompressedData.Length); } - uncompressedBytesArray = uncompressedBytes.ToArray(); + uncompressedBytesArray = memoryStreamOutput.ToArray(); return true; } }