Zum Hauptinhalt Zur Navigation

Videolan: Decoder Dav1d unterstützt AV1-Spec komplett

Der freie AV1-Decoder Dav1d deckt laut Videolan-Chef Jean-Baptiste Kempf mittlerweile die gesamte AV1 -Spezifikation und Funktionen für den Codec mit 8 und 10 Bit Farbtiefe ab. Dav1d ist außerdem deutlich schneller als die Referenz und soll in Firefox integriert werden.
/ Sebastian Grüner
17 Kommentare News folgen (öffnet im neuen Fenster)
Die Videolan-Entwickler wollen Dav1d möglichst schnell fertigstellen. (Bild: Pixabay)
Die Videolan-Entwickler wollen Dav1d möglichst schnell fertigstellen. Bild: Pixabay / CC0 1.0

Einer ersten stabilen Veröffentlichung des freien Decoders Dav1d für den Videocodec AV1 steht offenbar nicht mehr viel im Weg, wie aus einem Blogeintrag des Videolan-Projektleiters Jean-Baptiste Kempf(öffnet im neuen Fenster) hervorgeht. Und obwohl das Projekt offiziell erst vor rund zwei Monaten gestartet worden sei, decke der Decoder inzwischen die gesamten Spezifikationen von AV1 für 8 und 10 Bit Farbtiefe ab. Dav1d sei auch mindestens doppelt, häufig sogar viermal so schnell wie die Referenzimplementierung Libaom, des Konsortiums Alliance for Open Media (Aomedia).

Dav1d ist besser als die Referenz

Kempf empfiehlt Dav1d und den dazugehörigen freien Codec AV1 deshalb auch für den produktiven Einsatz. Laut dem Entwickler könne die Konkurrenz HEVC alias H.265 damit abgelöst werden. Nicht nur sei AV1 bis zu 20 Prozent besser als HEVC, er sei auch nicht mit "teuren" und "verwirrenden" Patentlizenzen belastet. Letztlich stehen auch die großen Webfirmen hinter dem Codec, wie etwa Amazon, Facebook, Google, Microsoft, Mozilla oder Netflix.

Dav1d ist in einer Zusammenarbeit der Entwickler des VLC-Players sowie der größeren Videolan- und FFmpeg-Community entstanden, weil der Referenzdecoder für AV1 schlicht zu langsam war. Ziel des Projekts ist ein Decoder, der klein sein soll, außerdem so schnell wie möglich, plattformübergreifend, korrekte Threadunterstützung bietet sowie frei und tatsächlich Open Source ist.

AV1-Decoder vorgestellt
AV1-Decoder vorgestellt (25:29)

Letzteres ist eine Anspielung auf den Referenz-Decoder für AV1, den die Aomedia zur Verfügung stellt. Dieser steht zwar unter einer Open-Source-Lizenz, wird aber nicht von einer größeren Community entwickelt oder eingesetzt.

Das Projekt gibt es zwar erst seit zwei Monaten, doch sind bereits mehr als 500 einzelne Beiträge in dem Code gelandet. Ebenso seien inzwischen spezifische Funktionen wie etwa Film Grain, Super-Res und Scaled References sowohl in der 8- als auch in der 10-Bit-Version angekommen.

Gefuzzt und optimiert

Nicht nur bringe Dav1d nun ein ordentliches Public API mit, das Team habe den Code auch mit OSS-Fuzz getestet, was inzwischen 99 Prozent der Funktionen und 97 Prozent der Codezeilen abdecke. Mit Fuzzing-Technologie können einige Sicherheitslücken und sonstige Fehler aufgefunden werden, was insbesondere bei Projekten wie dem Decoder Dav1d wichtig ist.

Das Team habe zudem viele Teile des Decoders in Assembler für moderne CPUs umgesetzt und auch die Größe des C-Codes selbst optimiert. Das liefere eine besonders gute Leistung und Dav1d daher sehr schnell auf Prozessoren mit AVX2-Unterstützung, was etwa 50 Prozent aller Desktop-CPUs abdecke. Für SSE- und ARM-Assembler-Optimierungen wolle man in den nächsten Wochen dasselbe erreichen, ARMv8-Support sei auf dem Weg.

Für konkrete Zahlen liefert der Blogpost verschiedene aufgearbeitete Benchmarks. Diese vergleichen unter anderem Aomdec und Dav1d auf Intel- und AMD-Plattformen (Haswell und Zen). Noch fehle dem Decoder zwar noch der letzte Schliff, aber Firefox 65 könnte Dav1d bereits an Bord haben. Die Veröffentlichung der Browserversion ist derzeit für Ende Januar 2019 geplant. Googles Chrome-Browser unterstützt bereits erste Tests mit AV1.


Relevante Themen