HEIF, HEIC .heic

High Efficiency Image File Format (HEIF) files store images and sequences of images.   HEIF is an image format invented by the Moving Picture Experts Group (MPEG), and claimed to be able to store twice as much information in the same sized file as JPEG at the same quality.  It does not provide coordinate system information.  When exporting, .prj and .mapmeta files are written.  See the Exporting topic.


Manifold's HEIF dataport supports HEIF only to those levels supported by Microsoft.  It is available only for the latest release of Windows 10.   The dataport uses a Microsoft component that is not bundled into Windows 10, but which requires installation of an app from the Microsoft Store.   The necessary app is free at the present time.  Microsoft code only partially supports HEIF.  For example, it does not support use of transparent pixels.


HEIF is really a container format, which allows the actual data within the container to be encoded using different codecs.  The most popular codec used within HEIF containers at the present writing appears to be the High Efficiency Video Codec (HEVC).   Although this is a "video" codec, it is also used to encode single, still images within HEIF format files, most notably by Apple.   HEIF files usually use one of three different extensions:  .heic indicates the content was encoded using the HEVC codec.  .heif indicates the content may have been encoded by any codec.  .avci is rarely encountered, and indicates the content was encoded using an H.264/MPEG-4 AVC codec.

Microsoft Requirements

Manifold's HEIF dataport utilizes a Microsoft facilities to read/write HEIF files using Microsoft's HEVC codec to read and write files with an .heic extension.  HEIF capability requires installing a Microsoft app, which is free at the present time, but which involves four significant limitations:



Installing Microsoft HEIF / HEVC Capability

To work with HEIF files we must install a Microsoft "app" from the Microsoft Store.  


Installing Microsoft HEIF / HEVC capability:


  1. Upgrade Windows 10 to release ID 1809 or greater.

  2. Visit the Microsoft Store and find the free HEVC Video Extensions from Device Manufacturer app.  

  3. Install that app.


At the present writing, a direct link to the required app is:  HEVC Video Extensions from Device Manufacturer


Caution: Searching for HEVC Video Extensions in the Microsoft Store will lead to an app that is not free, and will not show the free app in the search results.


Import a .heic File

The HEIF dataport imports .heic format files.  



To import from HEIF format:


  1. Choose File-Import from the main menu.

  2. In the Import dialog browse to the folder containing data of interest.

  3. Double-click the file ending in .heic for the data of interest.

  4. A table and an image will be created.



We can double-click on images that are created to view them.   



The image is not georegistered and has no coordinate system assigned.   By default, we can assign it a Pseudo Mercator projection, which is meaningless other than to provide a coordinate system for the pixels.



Using graphics files -  Images in formats such as HEIF that do not provide coordinate system information can be handy as illustrations in layouts or for other purposes.    Manifold project files are so efficient that we can keep libraries of many images for fast viewing in Manifold, even if we do not intend to work with them in GIS.   We can also use Manifold to convert images between different formats, importing an image as one format and exporting it as another.


Why Depend on Microsoft ? - Given the limitations imposed by using a Microsoft component, why does Manifold use them it all?  HEIF is a large, complex standard for a format that at the present time is much less used than more popular formats.  Using a Microsoft system component allows providing useful, albeit limited, HEIF to many Manifold users with code that is well debugged today, without taking development resources away from higher priorities.    If HEIF takes off with the Manifold community and Microsoft restrictions prove too onerous, Manifold can utilize alternate libraries to provide HEIF support.


See Also