DEBUG and RELEASE modeAre there any plans to support HEIF/HEIC file formats? I was looking into creating a quick converter
We don't currently have any plans but if someone was to send in a pull request we probably wouldn't turn it down.
Actually, after having done some research on this format, I doubt we would ever add support for this to the core ImageSharp product.
The reason being is that the codec that HEIC uses (HEVC) is covered by patents that would require licensing thus we probably wouldn't be able to ship this as a core software component. Me might be able to be work something out to be able to provided as an add-on package but that would depend on how the licencing for the codec would work out.
Thanks for the response. I guess I'll leave these open in the event you want to track it
ON iOS and macOS HEIC reading is supported natively and some version of Windows 10 (not all version) have support.
https://developer.apple.com/documentation/avfoundation/avfiletype/2873439-heif
Also :
https://github.com/nokiatech/heif (requires license for commercial use)
HEIF is a media container format. It is not an image or video encoder per se. Hence, the quality of the visual media depends highly on the proper usage of visual media encoder (e.g. HEVC). Current standard allows containing HEVC/AVC/JPEG encoded bitstreams.
HEIC support already ought to be available from the Windows Imaging Component (WIC) framework and in .NET via the Windows.Graphics.Imaging namespace in case Microsoft's HEIF Image Extensions is installed. I'm not sure if ImageSharp supports automatically gathering encoding and decoding support from this API but I think it would be pretty nice and sensible if it did. This would both allow ImageSharp to stay clear of licensing issues as well as not having to implement several modern formats. The next-generation AVIF format is also already supported in Windows 10 this way.
Given how Microsoft are nowadays quick on adding image format support this way, I think it's becoming a more or less official way to manage image formats in Windows 10. Yes, it might be a nuisance to have to install image codecs from Microsoft Store, but chances are even more apps will require this in the future for format support, becoming a de facto way to manage this.
That鈥檚 too Windows centric a solution.
Implementing HEIC in managed code on your own will be quite the uphill battle.
Paint.NET relies on the built-in Windows 10 codec for decoding, and a $1 codec you have to buy from the Store for encoding. I can't provide encoding (saving) for free because it requires royalty payments.
There is a plugin for the app, HeicFileTypePlus by @0xC0000054 (aka null54), https://github.com/0xC0000054/pdn-heicfiletype-plus, that provides encode/decode for free but it uses native libs w/ GPL licensing. It doesn't use the Win10/Store codecs. The plugin is Windows-centric because the app is Windows-only, but it could probably be adapted into something that works with ImageSharp.
Yeah. I can't honestly see us implementing this now, especially with AVIF available. (I don't want to have to try and plumb native libraries)
I think if someone still desperately wants it they should build a solution based upon the code in that repository.
Most helpful comment
Yeah. I can't honestly see us implementing this now, especially with AVIF available. (I don't want to have to try and plumb native libraries)
I think if someone still desperately wants it they should build a solution based upon the code in that repository.