Imagesharp: Question: Any plans HEIC support?

Created on 12 Oct 2017  路  8Comments  路  Source: SixLabors/ImageSharp

Prerequisites

  • [x] I have written a descriptive issue title
  • [ ] I have verified that I am running the latest version of ImageSharp
  • [ ] I have verified if the problem exist in both DEBUG and RELEASE mode
  • [x] I have searched open and closed issues to ensure it has not already been reported

Description

Are there any plans to support HEIF/HEIC file formats? I was looking into creating a quick converter

formats feature request

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.

All 8 comments

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.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Sergio0694 picture Sergio0694  路  3Comments

marcpabst picture marcpabst  路  3Comments

xakep139 picture xakep139  路  3Comments

Hawxy picture Hawxy  路  3Comments

nullpainter picture nullpainter  路  3Comments