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

Support for AVIF(AV1 codec for HEIF container) image format #4

Open
dreampiggy opened this issue Dec 28, 2018 · 5 comments
Open

Support for AVIF(AV1 codec for HEIF container) image format #4

dreampiggy opened this issue Dec 28, 2018 · 5 comments
Labels

Comments

@dreampiggy
Copy link
Collaborator

dreampiggy commented Dec 28, 2018

AVIF is a AV1 codec based HEIF container. The spec is here:
https://aomediacodec.github.io/av1-avif/

Current third-party HEIF decoder libheif does not support this format natively. But however, it's a future format which based on AV1 (VP9 's next successor). And it's the competition of current HEVC/H.265

In short term, since that AVIF spec is still in draft, we decide not to do some work for that. But however, after that spec is release or the third-party HEIF decoder libheif have support for AVIF, I'll update this and introduce the support.

@dreampiggy dreampiggy changed the title Support for AVIF(AV1 code for HEIF container) image format Support for AVIF(AV1 codec for HEIF container) image format Dec 28, 2018
@dreampiggy dreampiggy added the enhancement New feature or request label Mar 23, 2019
@dreampiggy
Copy link
Collaborator Author

dreampiggy commented Apr 5, 2019

The AVIF's official spec v1.0.0 is released. Maybe it's possible to support it in the middle of this year. See: https://aomediacodec.github.io/av1-avif/

Depends: https://github.com/strukturag/libheif/tree/avif to be merged in upstream.

Or depends the future of strukturag/libheif#96 to use dav1d instead of libaom codec.

Currentlly I can build a preview of the AVIF support in the avif branch.

@dreampiggy dreampiggy added feature and removed enhancement New feature or request labels Apr 5, 2019
@EwoutH
Copy link

EwoutH commented May 9, 2019

libavif tagged a new release, 0.1.3. See Colorist for an example implementation.

@dreampiggy
Copy link
Collaborator Author

dreampiggy commented May 10, 2019

@EwoutH Actually...I've created one SDWebImageAVIFCoder specify for AVIF coder. And it exactly use libavif v1.0.3 (from v0.2.0, see: release)...Please have a try :)

@dreampiggy
Copy link
Collaborator Author

But to say, the libavif encoding speed is still a problem. From my local benchmark, it's 100x slower than WebP format, 100x slower than BPG image format... 😅

Benchmark code: ModernImageFormatBenchmark

@dreampiggy
Copy link
Collaborator Author

dreampiggy commented May 13, 2019

And. This repo have a avif branch. It based on the libheif support for AVIF (see their readme, they also have a avif branch).

The libheif codec implementation is far more performent than the AVIF, but it's not so stable. So this is why we currently only use that libavif for users. In the future, we will switch back to libheif codec implementation.

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

No branches or pull requests

2 participants