Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[enhancement]: .heic image file support #5349

Open
1 task done
hobyvh opened this issue Dec 26, 2023 · 2 comments
Open
1 task done

[enhancement]: .heic image file support #5349

hobyvh opened this issue Dec 26, 2023 · 2 comments
Labels
enhancement New feature or request

Comments

@hobyvh
Copy link

hobyvh commented Dec 26, 2023

Is there an existing issue for this?

  • I have searched the existing issues

Contact Details

No response

What should this feature add?

I'd like Invoke to natively open .heic files.

While most images coming from elsewhere are jpg or png files, most of my own photos are from iOS and are thus, .heic files.

Alternatives

Rather than requiring an additional step of converting any photos I want to use, I'd rather Invoke open .heic directly.

Additional Content

No response

@hobyvh hobyvh added the enhancement New feature or request label Dec 26, 2023
@keturn
Copy link
Contributor

keturn commented Dec 26, 2023

The image-file library we use has been reluctant to add HEIF support due to the lack of a clear patent grant, but it looks like we should be able to find a suitable extension: python-pillow/Pillow#2806 (comment)

Some highlights from that six-year-old thread:

  • libheif is in Debian with an LGPL license. (LGPL doesn't include a patent grant, but if Debian's decided it's okay to include, that's a promising sign that it's safe to rely on.)
  • https://github.com/bigcat88/pillow_heif offers a Python interface to libheif and includes a Pillow extension. 👍
    • they also publish pi-heif "a light version of Pillow-Heif with more permissive license for binary wheels." -- but I'm having some trouble finding what exactly the difference in license and binaries is.

@bigcat88
Copy link

bigcat88 commented Jan 7, 2024

  • they also publish pi-heif "a light version of Pillow-Heif with more permissive license for binary wheels." -- but I'm having some trouble finding what exactly the difference in license and binaries is.

It does not include x265 library which is GPL 2.0.
And it is does not include libaom library(AVIF support).

But this can be changed this year, as currently work on libheif's plugin system is almost finished: bigcat88/pillow_heif#154

and x265 is a good candidate to leave binary wheels and be distributed on its own as a separate plugin, when this strukturag/libheif#894 will be finished and the additional libheif plugins for QuickSync and AMD arrive.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants