Comments (8)
The next release will increase the minimum required libheif to 1.14.1 (adding support for writing image orientation to a file and encoding images in YCbCr without converting to RGB), and after that in the next release after the next - your proposal is an excellent candidate for implementation.
from pillow_heif.
I'm ready to increase the minimum required libheif version to 1.17.
If someone can tell me how I can build a libheif for macOS or Ubuntu/ArchLinux/AlmaLinux so that it sees ffmpeg, I'll try to add support.
from pillow_heif.
do not sure that the result will be success, but looks promising.
from pillow_heif.
I do not worry about Windows, cause I am very familiar with how Windows loads libraries and there will be ok.
Now the main question:
What next after -DENABLE_PLUGIN_LOADING=ON
?
How it will be used? Is there need for heif_load_plugin
or heif_load_plugins
or even both?
Or specifying plugin directory only as ENV var is enough?
from pillow_heif.
Hi @bigcat88
This looks great! I will be honest with you, I have not ever used libheif, only your handy library ;).
Or specifying plugin directory only as ENV var is enough?
Are you intending on packaging the plugins with this library? If so then perhaps the plugin directory could be provided in someway in that it will find them without having to provide the path. The Cmake var PLUGIN_DIRECTORY
is used for this.
Apart from that it looks like that's all that is required. You then specify the decoder/encoder name as part of normal libheif usage.
from pillow_heif.
Also I wonder why there is no ffmpeg encoder, only decoder. This was what I was interested in 😅
from pillow_heif.
Also I wonder why there is no ffmpeg encoder, only decoder. This was what I was interested in 😅
Because no one has yet made such a plugin and functionality as an ffmpeg encoder for libheif. Only decoder was implemented(and I already tested it locally, it has a limited abilities and can not decode some HDR HEICs currently)
Are you intending on packaging the plugins with this library?
The main reason I started work on this is to move x265
HEIF encoder to a separate python plugin to remove GPL2.0 license from binary wheels as it is hard to me to maintain binary wheels with so many libraries that has different licenses.
Second reason is the upcoming CUDA encoder/decoder for Libheif, as I hope after that also a Intel/AMD plugins will arise a bit later.
I already know before started working on this issue that ffmpeg
decoder plugin has currently limited capabilities, that's why I was not rushing it
from pillow_heif.
I was interested in ffmpeg because it has the CUDA/Intel/etc encoders, but if they're going to be directly supported at some point that's great.
from pillow_heif.
Related Issues (20)
- License inconsistency betweent the LICENSE file and the setup.cfg metadata HOT 6
- AUX images support
- How to save "nclx_profile" in a HEIC image? HOT 7
- Offline build HOT 6
- Failed to build x265 in freebsd 13.2 HOT 6
- Cannot install via PIP on raspberry pi HOT 7
- issue with heic files using Pillow-SIMD but not Pillow HOT 3
- Missing metadata [spatial photos] HOT 10
- Opacity information is lost when reading a P mode image with transparency information HOT 2
- test_heif_primary_image[AVIF] causes SIGKILL on aarch64-darwin with libaom 3.9.0 version HOT 9
- `0.10.x` version, changes topic. HOT 1
- Process get crashed with a corrupted file HOT 1
- Depth Images support HOT 10
- After decoding Image dimensions not equal the one in the headers HOT 7
- crash during encoding when using with cv2 [macOS] HOT 2
- Crash when trying to get exif image data HOT 6
- EXIF data are not transferred correctly HOT 3
- support of native non-shifted HDR [v0.11.2] HOT 1
- reading support of monochrome images HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pillow_heif.