Page MenuHomeSolus

Make dav1d the preferred ffmpeg AV1 decoder
ClosedPublic

Authored by kyrios123 on Sep 18 2019, 4:01 PM.

Details

Summary

It's considerably faster than libaom in most systems.

Signed-off-by: Pierre-Yves <pyu@riseup.net>

Test Plan

You can try on your system with this to see the difference

$ fetch https://www.elecard.com/storage/video/Stream2_AV1_4K_22.7mbps.webm
$ ffmpeg -c:v libdav1d -i Stream2_AV1_4K_22.7mbps.webm -f null /dev/null
$ ffmpeg -c:v libaom-av1 -i Stream2_AV1_4K_22.7mbps.webm -f null /dev/null

Diff Detail

Repository
R742 ffmpeg
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

kyrios123 created this revision.Sep 18 2019, 4:01 PM
kyrios123 requested review of this revision.Sep 18 2019, 4:01 PM

On my system, the example dav1d decode was over 4.5x the speed of the aom-av1 decode (Ryzen 7 3700X).

I mean, do we even need aom for anything moving forward? Can everything just use dav1d instead?

I mean, do we even need aom for anything moving forward? Can everything just use dav1d instead?

I guess we still need it for AV1 encoding? As I see, we don't provide any other software in the repo that is capable of encoding AV1.
But I agree that every software that needs to decode AV1 should just use dav1d.

Ah i wasn't aware that dav1d didn't provide encode capabilities. We should probably package Rav1e for encoding use, if anything (not sure if it is ready yet). Anyway, the discussion has moved well away from the scope of the patch by now.

JoshStrobl accepted this revision.Sep 26 2019, 12:10 PM
JoshStrobl added a subscriber: JoshStrobl.

LGTM, thanks!

This revision is now accepted and ready to land.Sep 26 2019, 12:10 PM
This revision was automatically updated to reflect the committed changes.