github strukturag/libheif v1.19.0
v1.19.0 - tile access for high-resolution images

7 hours ago

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 with grid. 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 and heif_chroma_unknown to heif_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!

Don't miss a new libheif release

NewReleases is sending notifications on new releases.