Add HEIF dependencies to 3rdparty builds
ClosedPublic

Authored by vanyossi on Mar 25 2019, 5:40 AM.

Details

Reviewers
rempt
Group Reviewers
Krita
Summary

Some notes:

pkg-config is needed for proper compilation of libheif, otherwise finding packages will result in errors. This happens on "automake" configure and cmake (internal/external) builds. At least on OSX adding libraries as suggested on configure --help would find the libs but produce errors on Compiling. Ignoring errors by editing CFLAGS to allow compilation will fail on linking.

pkg-config is just easier.

Dependencies for libheif

libheif depends on

  • x265 for encoding:
    • This depends on yasm and nasm to activate cpu optimizations (MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2)
  • libde265 Needed for decoding heif/heic format
  • pkg-config: used to properly find libraries.
Test Plan

Tested with images from nokiatech.github.io.

  • With no HEIF iwill not display format as available
  • A Partial HEIF build will show format but fail on load with "this heif format is not supported"
  • HEIF as build from script reads the sample files.

Creation of HEIF/HEIC works ok.

Diff Detail

Repository
R37 Krita
Lint
Lint Skipped
Unit
Unit Tests Skipped
vanyossi created this revision.Mar 25 2019, 5:40 AM
Restricted Application added a reviewer: Krita. · View Herald TranscriptMar 25 2019, 5:40 AM
Restricted Application added a project: Krita. · View Herald Transcript
vanyossi requested review of this revision.Mar 25 2019, 5:40 AM
vanyossi edited the test plan for this revision. (Show Details)

Should this 3rdparty dependency be available only on OSX? Or it is intended to be built on all the platforms?

rempt added inline comments.Mar 26 2019, 8:44 AM
3rdparty/ext_pkgconfig/CMakeLists.txt
2

I think that this must be unix-only, on Windows we cannot run the configure command.

vanyossi updated this revision to Diff 54914.Mar 27 2019, 4:43 AM

Updated patch to selectively add HEIF support only on UNIX systems.

vanyossi updated this revision to Diff 55158.Mar 31 2019, 9:27 PM

updated diff

rempt accepted this revision.Apr 1 2019, 9:41 AM
This revision is now accepted and ready to land.Apr 1 2019, 9:41 AM
vanyossi closed this revision.Apr 3 2019, 4:48 AM