Open Bug 1443863 (AVIF) Opened 2 years ago Updated 9 days ago

Implement support for AV1 Still Image File Format (AVIF)

Categories

(Core :: ImageLib, enhancement, P3)

enhancement

Tracking

()

ASSIGNED

People

(Reporter: Virtual, Assigned: jbauman)

References

(Depends on 2 open bugs, Blocks 1 open bug, )

Details

(Keywords: dev-doc-needed, feature, nightly-community, Whiteboard: [gfx-noted])

Has Regression Range: --- → irrelevant
Has STR: --- → irrelevant
Whiteboard: [gfx-noted]
Some more: https://github.com/AOMediaCodec/av1-avif/tree/master/testFiles/Microsoft

Especially the tiled one (Summer_in_Tomsk_720p_5x4_grid.avif) is tricky.
See Also: → PIK

Chromium also opened an issue to implement AVIF.

Aside from using libaom (or dav1d) directly for encoding (or decoding) and muxing into an .avif file, libavif could also be considered. Here is an implementation in Colorist as example.

The Windows 10 May 2019 Update is now rolling out, which contains AVIF support (including File Explorer and Paint).

Hello! I'm the author of libavif, and similarly to the Chromium issue cited above, I thought I'd jump in here and see if there was anything I could do to help with supporting this potential feature. Chromium uses libdav1d already (supported by libavif) for decoding and (now) has a pipeline to draw HDR YUV+A, but I don't have have any idea what Firefox's pipeline and library usage is.

I'm available for libavif support or general questions, and I'd love to see AVIF support in Firefox someday even if libavif isn't used. The more adoption, the better! I'd just like to get the conversation (re-)started.

Assignee: nobody → jbauman

I've implemented support for importing and exporting AVIF files in darktable [1] using libavif with the help of Joe Drago (thanks again). It will be available in version 3.0.1 soon. In case you need more pictures than just AVIF example files mentioned above.

[1] https://darktable.org/ - raw image developer

See Also: → AV1

That's great, Andreas! I'll definitely be checking it out as soon as 3.0.1 is released.

I created a test page to see which browser support AVIF without any JavaScript polyfill code:
http://188.121.162.14/avif/
Konqueror with patched khtml is able (the screenshot in the following article):
https://www.reddit.com/r/AV1/comments/faayy9/avif_image_browser_test/
I'd love to see AVIF support in Firefox too.

That's a cool test, dnovomesky. One thing that might make it even better is using a test image URL that gets served with the image/avif content type. The one you're using gets served up as binary/octet-stream since that server isn't configured to be aware of the AVIF MIME type.

That's a good remark Jon! I will try to change my test page in the future so the returned .avif will have proper mimetype image/avif .

Depends on: 1625363
Depends on: 1634741
Depends on: 1634751

Setting dev-doc-needed so we track documenting this. If there winds up being a separate "enable for release" bug, please add dev-doc-needed to that one too. Thanks!

Keywords: dev-doc-needed
See Also: → 1635296

I see that there is no registered media type (MIME type) for AVIF https://www.iana.org/assignments/media-types/media-types.xhtml#image
I can help with registerig a type if needed.

That would be great, Chris. I'm a bit surprised that hasn't already happened given what the spec says. Probably the spec editors are the best point of contact for synchronizing around that work.

Its now common to develop a media type registration in parallel with the rest of spec development. The trick is judging when to send it to IANA for comment. Too early and things aren't stable enough; too late and it is hard to change things that are wrong, due to existing deployment.

Depends on: 1641208
See Also: → 1639409
You need to log in before you can comment on or make changes to this bug.