The major new feature in this release is the decoding of separate image tiles and also encoding an image tile by tile. This allows to process high-resolution images that do not fit into memory.
We support three tiling methods:
- grid, which is the default tiling method used in most existing HEIC or AVIF images.
- unci, which is the built-in tiling method of the ISO 23001-17 uncompressed codec.
- tili, which is a proprietary scheme with much less overhead than
grid
and which supports efficient streaming of high-resolution images over networks without having to download huge amounts of metadata before the first tile can be decoded. It also supports much larger images than possible withgrid
. As an extra, it supports the processing of multi-dimensional images, like 3D image cubes, or image sets addressed by several parameter dimensions, for example multi-spectral images. See the specification of this format.
Developers will find more information in the tiling API documentation. Also check out the example viewer for tiled images and the example images on this page.
The heif-enc
command line tool can now also encode tiled and multi-resolution pyramids. See the description.
Other changes:
- decoding is faster, especially if you let libheif decide on the best colorspace to work in by passing
heif_colorspace_unknown
andheif_chroma_unknown
toheif_decode_image()
. It will then use the input colorspace and avoid unnecessary conversions. - support for multi-resolution pyramids (
pymd
) to show downscaled versions of high-resolution images - improved reader interface that enables to connect libheif to a network source. Libheif will request the portions of the image file that have to be downloaded from the server. This is especially useful in connection with the tiling / multi-resolution pyramid feature.
- function to generate overlay images
- decoding progress is signaled to the client application and decoding can be cancelled
- decoding of AVC encoded images through OpenH264
- security limits can be changed to be able to read very large images
This is a big release with the help of many people reporting issues or providing contributions. Thank you to all of them!