Opened 3 years ago

Last modified 6 weeks ago

#7621 open enhancement

Add .avif support (AV1 Image File Format

Reported by: Ewout Owned by:
Priority: wish Component: avformat
Version: git-master Keywords: mov
Cc: aros@gmx.com Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Netflix released samples of the new AV1 Image File Format (AVIF), it would be nice if support could be added for this format.

Change History (11)

comment:1 by Carl Eugen Hoyos, 3 years ago

Component: undeterminedavformat
Keywords: mov av01 added
Priority: normalwish
Version: unspecifiedgit-master

comment:3 by Ewout, 3 years ago

Current debug commandline if .avif is used as input:

Opening an input file: C:\Users\Ewout\AVIF\Chimera-AV1-8bit-1920x1080-6736kbps-6.avif.
[NULL @ 000001c464c4a780] Opening 'C:\Users\Ewout\AVIF\Chimera-AV1-8bit-1920x1080-6736kbps-6.avif' for reading
[file @ 000001c464c4b900] Setting default whitelist 'file,crypto'
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001c464c4a780] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001c464c4a780] ISO: File Type Major Brand: mif1
    Last message repeated 1 times
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001c464c4a780] moov atom not found
[AVIOContext @ 000001c464c53bc0] Statistics: 66192 bytes read, 3 seeks
C:\Users\Ewout\AVIF\Chimera-AV1-8bit-1920x1080-6736kbps-6.avif: Invalid data found when processing input

Current debug commandline if .avif is used as output:

Opening an output file: png-to-avif.avif.
[NULL @ 0000021f3f4ecc40] Unable to find a suitable output format for 'png-to-avif.avif'
png-to-avif.avif: Invalid argument
[AVIOContext @ 0000021f3f4f3b00] Statistics: 115667 bytes read, 0 seeks

comment:4 by Ewout, 3 years ago

Blocked By: #7600

Depends somewhat on #7600 for lossless encoding.

Microsoft is going to support AVIF in Windows 10.

comment:5 by Carl Eugen Hoyos, 3 years ago

Blocked By: #7600

Definitely independent of ticket #7600.

comment:6 by Ewout, 2 years ago

Aside from using libaom directly for encoding and muxing into an .avif file, libavif could also be considered.

comment:7 by Carl Eugen Hoyos, 2 years ago

Keywords: av01 removed

comment:8 by Artem S. Tashkinov, 17 months ago

Cc: aros@gmx.com added

AV1 decoding support is already there, the container format is probably already supported as well, why doesn't ffmpeg understand AVIF files? ;-)

in reply to:  8 comment:9 by av1masterrace, 9 months ago

Replying to birdie:

AV1 decoding support is already there, the container format is probably already supported as well, why doesn't ffmpeg understand AVIF files? ;-)

It doesn't seem like it. HEIC images aren't supported yet either. See #6521
Would be nice if it got support because it supports animations but doesn't look as trashy as WebP and GIF.

comment:10 by Balling, 2 months ago

Status: newopen

Ticket #7600 is fixed in 288ca1c66740640d5742f2921efbf502d83f8b6a and thus we now have no blocking stuff, AVIF container is implemented here: https://github.com/Swaraj1998/FFmpeg/commit/9a885cddb3550ab863a60d02c5fb78e4ae206cf1 and here: https://patchwork.ffmpeg.org/project/ffmpeg/patch/20170819072456.11276-1-rodger.combs@gmail.com/

Microsoft is going to support AVIF in Windows 10.

That will not help, cause AVIF extensions use MFF and we do not.

Last edited 2 months ago by Balling (previous) (diff)

comment:11 by bat_guano, 6 weeks ago

Hi

These avif files are showing up a lot now on the web.
I can see them in Chrome Developer tools.
This is an example website ---> https://besteltaart.nl/

As Ewout said 2 years ago, there is a decoder available at ---> https://github.com/AOMediaCodec/libavif

But it would be useful if FFmpeg could decode them too.

~ $ avifdec --version
Version: 0.9.1 (dav1d [dec]:185194b

~ $ avifdec --help
Syntax: avifdec [options] input.avif output.[jpg|jpeg|png|y4m]
        avifdec --info    input.avif
Note: See TracTickets for help on using tickets.