Page MenuHomePhabricator

imlib2: added loader for HEIF files (uses libheif), implemented just `load2` for now
Needs ReviewPublic

Authored by Unknown Object (User) on May 4 2021, 1:05 AM.

Details

Reviewers
raster
Summary

Implemented a loader for HEIF images. Uses libheif, and implemented the load2 function as of now

Diff Detail

Branch
loader/heif
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 17511
Build 11773: arc lint + arc unit
Unknown Object (User) created this revision.May 4 2021, 1:05 AM
Unknown Object (User) requested review of this revision.May 4 2021, 1:05 AM
Unknown Object (User) retitled this revision from Added loader for HEIF files (uses libheif), implemented just `load2` for now to imlib2: added loader for HEIF files (uses libheif), implemented just `load2` for now.May 5 2021, 12:04 PM
Unknown Object (User) edited the summary of this revision. (Show Details)
ProhtMeyhet added a project: efl.
kwo added a subscriber: kwo.Aug 10 2021, 8:49 AM

Hello Colocasian,
Being the imlib2 maintainer I probably should have made sure to get notifications about relevant phab issues (I think I will now).
Anyway, I just stumbled over the heif etc. stuff.
I have a couple of comments, otherwise it looks good to me.

configure.ac
221

As you discuss elsewhere I think it would probably be best to ensure that the libheif version is high enough to not cause trouble.
Distributions carrying imlib2 with this loader will presumably have a fairly recent libheif too.

src/modules/loaders/loader_heif.c
49

Would it be more efficient to use mmap() as done in the TGA loader?

159

Progress should be reported, e.g. (bottom of for y loop):

if (im->lc && __imlib_LoadProgressRows(im, y, 1))
  {
     rc = LOAD_BREAK;
     goto quit;
  }

Otherwise some programs (e.g. imlib2_view) will not work properly.