Releases: 0xC0000054/libheif-sharp
Releases · 0xC0000054/libheif-sharp
LibHeifSharp v3.2.0
Added
- Support for reading and writing the inline and reference mask region items.
- Requires LibHeif 1.17.0 or later.
ReadOnlyMemory<byte>
andReadOnlySpan<byte>
overloads for various APIs.- This adds a
System.Memory
dependency to the .NET Standard 2.0 target.
- This adds a
- An
AsSpan
method to theHeifIccColorProfile
class. - A .NET Standard 2.1 target.
LibHeifSharp v3.1.0
Added
- A
ColorConversionOptions
property to theHeifDecodingOptions
class.- Requires LibHeif 1.16.0 or later, it will be ignored on older versions.
- A
ColorConversionOptions
property to theHeifEncodingOptions
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 theHeifContext
class. AddRegion
andGetRegionItemIds
methods to theHeifImageHandle
class.- These methods require LibHeif 1.16.0 or later.
- A
- Support for the LibHeif item property APIs.
AddUserDescriptionProperty
,GetTransformationProperties
andGetUserDescriptionProperties
methods to theHeifContext
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
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 theLibHeifInfo
class.- Requires LibHeif version 1.15.0 or later, it returns an empty collection on older versions.
- A
DecoderId
property to theHeifDecodingOptions
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 theLibHeifInfo
class.- This simplifies checking that LibHeif is at least the specified minimum version.
IccColorProfile
andNclxColorProfile
properties to theHeifImageHandle
class.- A
GetMetadataBlockInfo
method to theHeifImageHandle
class. - A
ContentLightLevel
property to theHeifImage
class.- The content light level data is used for HDR rendering.
- Requires LibHeif version 1.15.0 or later.
- A
MasteringDisplayColourVolume
property to theHeifImage
class.- The mastering display color volume data is used for HDR rendering.
- Requires LibHeif version 1.15.0 or later.
- A
PixelAspectRatio
property to theHeifImage
class.- Requires LibHeif version 1.15.0 or later.
- An
ImageOrientation
property to theHeifEncodingOptions
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
Added
- A
SetMaximumDecodingThreads
method to theHeifContext
class.
Fixed
- The P/Invoke name used by the
SetMaximumImageSizeLimit
method. - Various issues with the documentation.
LibHeifSharp v2.3.1
Fixed
- A potential correctness issue in the I/O code.
LibHeifSharp v2.3.0
Added
- A
Strict
property to theHeifDecodingOptions
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 theHeifImage
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
Added
- An
IsPremultipliedAlpha
property to theHeifImage
andHeifImageHandle
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
Deprecated:
- The
ColorProfile
property in theHeifImage
class, use theIccColorProfile
andNclxColorProfile
properties instead.
Added:
- A
ValidValues
property to theHeifIntegerEncoderParameter
class.- This is used to get the supported values for the rav1e
tile-cols
andtile-rows
parameters. - Requires LibHeif version 1.10 or later.
- This is used to get the supported values for the rav1e
- 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 theLibHeifInfo
class for runtime checks. - It must be enabled in the
HeifEncodingOptions
instance by setting theWriteTwoColorProfiles
property totrue
.
- This feature requires LibHeif version 1.10 or later, you can use the
- Support for reading the vendor-specific auxiliary images.
- Added
GetAuxiliaryImage
,GetAuxiliaryImageIds
andGetAuxiliaryType
methods to theHeifImageHandle
class. - These methods require LibHeif version 1.11 or later.
- Added
- An
AuxiliaryImageType
property to theHeifImageHandle
class.
Fixed:
- A corrupted image bug when using lossless encoding.
- A few issues with the documentation.
LibHeifSharp v2.0.2
Fixed:
A missing marshaling attribute on the write callback.
LibHeifSharp v2.0.1
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
.