Skip to content

Releases: 0xC0000054/libheif-sharp

LibHeifSharp v3.2.0

20 Nov 00:31
v3.2.0
Compare
Choose a tag to compare

Added

  • Support for reading and writing the inline and reference mask region items.
    • Requires LibHeif 1.17.0 or later.
  • ReadOnlyMemory<byte> and ReadOnlySpan<byte> overloads for various APIs.
    • This adds a System.Memory dependency to the .NET Standard 2.0 target.
  • An AsSpan method to the HeifIccColorProfile class.
  • A .NET Standard 2.1 target.

LibHeifSharp v3.1.0

16 May 07:33
v3.1.0
Compare
Choose a tag to compare

Added

  • A ColorConversionOptions property to the HeifDecodingOptions class.
    • Requires LibHeif 1.16.0 or later, it will be ignored on older versions.
  • A ColorConversionOptions property to the HeifEncodingOptions class.
    • Requires LibHeif 1.16.0 or later, it will be ignored on older versions.
  • Support for the LibHeif region APIs.
    • A GetRegionItem method to the HeifContext class.
    • AddRegion and GetRegionItemIds methods to the HeifImageHandle class.
    • These methods require LibHeif 1.16.0 or later.
  • Support for the LibHeif item property APIs.
    • AddUserDescriptionProperty, GetTransformationProperties and GetUserDescriptionProperties methods to the HeifContext class.
    • These methods require LibHeif 1.16.0 or later.

Fixed

  • The PixelAspectRatio property will ignore a default initialized structure.
    • ISO/IEC 14496-12:2015 requires the horizontal and vertical spacing to be positive numbers.

LibHeifSharp v3.0.0

28 Feb 23:31
v3.0.0
Compare
Choose a tag to compare

Breaking

  • All obsolete members will produce a compiler error.
  • Removed the .NET Standard 1.3 and .NET Framework 4.6 targets.

Added

  • A GetDecoderDescriptors method to the LibHeifInfo class.
    • Requires LibHeif version 1.15.0 or later, it returns an empty collection on older versions.
  • A DecoderId property to the HeifDecodingOptions class.
    • This instructs LibHeif to use a specific decoder when reading the image.
    • Requires LibHeif version 1.15.0 or later, it is ignored on older versions.
  • A HaveVersion method to the LibHeifInfo class.
    • This simplifies checking that LibHeif is at least the specified minimum version.
  • IccColorProfile and NclxColorProfile properties to the HeifImageHandle class.
  • A GetMetadataBlockInfo method to the HeifImageHandle class.
  • A ContentLightLevel property to the HeifImage class.
    • The content light level data is used for HDR rendering.
    • Requires LibHeif version 1.15.0 or later.
  • A MasteringDisplayColourVolume property to the HeifImage class.
    • The mastering display color volume data is used for HDR rendering.
    • Requires LibHeif version 1.15.0 or later.
  • A PixelAspectRatio property to the HeifImage class.
    • Requires LibHeif version 1.15.0 or later.
  • An ImageOrientation property to the HeifEncodingOptions class.
    • This property allows the encoder to convert the EXIF Orientation values into the equivalent HEIF image transformations.
    • Requires LibHeif version 1.14.0 or later, it is ignored on older versions.

Changed

  • GetDepthRepresentationInfo throws an exception when the nonlinear representation model is larger than 2GB.
    • Previous versions of this library would silently ignore a nonlinear representation model that is larger than 2GB.

LibHeifSharp v2.4.0

10 Sep 09:51
v2.4.0
Compare
Choose a tag to compare

Added

  • A SetMaximumDecodingThreads method to the HeifContext class.

Fixed

  • The P/Invoke name used by the SetMaximumImageSizeLimit method.
  • Various issues with the documentation.

LibHeifSharp v2.3.1

09 Sep 04:44
v2.3.1
Compare
Choose a tag to compare

Fixed

  • A potential correctness issue in the I/O code.

LibHeifSharp v2.3.0

04 Sep 04:07
v2.3.0
Compare
Choose a tag to compare

Added

  • A Strict property to the HeifDecodingOptions class.
    • When enabled, it instructs the decoder to return an error for invalid input.
    • Requires LibHeif version 1.13.0 or later, it is ignored on older versions.
  • A DecodingWarnings property to the HeifImage class.
    • This property returns a collection of warnings that occurred when decoding the image.
    • Requires LibHeif version 1.13.0 or later, it returns an empty collection on older versions.

Changed

  • The libheif initialization and cleanup methods will be called when creating the HeifContext.
    • This applies to libheif version 1.13.0 and later, it will be treated as a no-op on older versions.

Fixed

  • Various issues with the documentation.

LibHeifSharp v2.2.0

23 Feb 00:11
v2.2.0
Compare
Choose a tag to compare

Added

  • An IsPremultipliedAlpha property to the HeifImage and HeifImageHandle classes.
    • This property is supported on LibHeif 1.12 and later.

Fixed

  • A potential crash when creating the HeifDepthRepresentationInfo.
  • A parameter validation issue when reading zero bytes.

LibHeifSharp v2.1.0

20 May 03:04
v2.1.0
Compare
Choose a tag to compare

Deprecated:

  • The ColorProfile property in the HeifImage class, use the IccColorProfile and NclxColorProfile properties instead.

Added:

  • A ValidValues property to the HeifIntegerEncoderParameter class.
    • This is used to get the supported values for the rav1e tile-cols and tile-rows parameters.
    • Requires LibHeif version 1.10 or later.
  • Support for the new encoding options in LibHeif versions 1.9.2, 1.10 and 1.11.
  • Support for reading and writing images with two color profiles (one ICC profile and one NCLX profile).
    • This feature requires LibHeif version 1.10 or later, you can use the CanWriteTwoColorProfiles property in the LibHeifInfo class for runtime checks.
    • It must be enabled in the HeifEncodingOptions instance by setting the WriteTwoColorProfiles property to true.
  • Support for reading the vendor-specific auxiliary images.
    • Added GetAuxiliaryImage, GetAuxiliaryImageIds and GetAuxiliaryType methods to the HeifImageHandle class.
    • These methods require LibHeif version 1.11 or later.
  • An AuxiliaryImageType property to the HeifImageHandle class.

Fixed:

  • A corrupted image bug when using lossless encoding.
  • A few issues with the documentation.

LibHeifSharp v2.0.2

30 Dec 00:55
v2.0.2
Compare
Choose a tag to compare

Fixed:

A missing marshaling attribute on the write callback.

LibHeifSharp v2.0.1

25 Nov 04:48
v2.0.1
Compare
Choose a tag to compare
Changed
  • Reduced memory usage when reading small files.
Fixed
  • A few issues with the documentation.
  • A compatibility issue with some classes that are derived from MemoryStream.