Reading support for High Efficiency Image Container files is included in the following Imaging SDK products:

  • Imaging SDK for the Java Platform

Currently, RasterMaster Software does not provide HEIC reading support in Macintosh products.

NOTICE: If this feature is enabled, you or your organization will be responsible for obtaining the required third-party patent licenses for distribution of your application with the enabled HEIF/HEIC feature. Accusoft is unable to obtain a transferable license to give to customers. Customers must obtain it directly. See the “Video Technologies Distribution” section of the Software License Agreement for more information.

Preparation

In order to enable this feature you will need to prepare your system.

Windows

RasterMaster uses the open-source libheif library to perform parsing and image decoding. For Windows systems, you can download the needed pre-compiled binaries from the Accusoft website here.

Once the zip has been downloaded, extract the files to a folder on your system. Your application must be able to read and write to this directory.

In your Java project, you will need to enable HEIC support in RasterMaster. You can do this by calling setHeicEnabled(true), and specifying the path to the folder to which you previously extracted files:

Snowbnd.setHeicEnabled(true);
Snowbnd.setHeicLibPath("path/to/folder");

The above code only needs to be executed once for the lifetime of your Java program.

Now, RasterMaster will be able to detect and decode HEIC files using the HEVC codec.

Linux

RasterMaster uses the open-source libheif library to perform parsing and image decoding. This package will need to be installed on your system. On Debian-based systems, such as Ubuntu, you can install the libheif-dev package via apt:

sudo apt install libheif-dev 

On RHEL 9, you will need to add the following package repositories and then install libheif using yum:

dnf -y install --nogpgcheck https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E %rhel).noarch.rpm
dnf -y install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm
yum -y install libheif

On RHEL 8, you will need to add the following package repositories and then install libheif and one of it’s dependencies using yum:

dnf -y install --nogpgcheck https://dl.fedoraproject.org/pub/epel/epel-release-latest-$(rpm -E %rhel).noarch.rpm
dnf -y install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm
yum -y --nogpgcheck --repofrompath=centos,http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/ install numactl-libs
yum -y install libheif

On RHEL 7, you will need to add the following package repositories with rpm and then install libheif using yum:

rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm
yum -y install libheif

In your Java project, you will need to enable HEIC support in RasterMaster. You can do this by calling setHeicEnabled(true), and specifying the path to a folder to which your application can read and write files:

Snowbnd.setHeicEnabled(true);
Snowbnd.setHeicLibPath("path/to/folder");

The above code only needs to be executed once for the lifetime of your Java program.

Now, RasterMaster will be able to detect and decode HEIC files using the HEVC codec.

Reading and Decompressing

To read/decompress a HEIC file, use any of the decompression calls such as IMG_decompress_bitmap(String, int). All Imaging SDK products automatically detect the file format and do not use the extension on the file name.