Veröffentlichung von rav1e 0.2, einem AV1-Encoder in Rust

Verfügbar Ausgabe rav1e 0.2, ein leistungsstarker Encoder für Videokodierungsformate AV1, entwickelt von den Xiph- und Mozilla-Communitys. Der Encoder ist in Rust geschrieben und unterscheidet sich vom Referenz-Libaom-Encoder durch eine deutlich höhere Codierungsgeschwindigkeit und ein erhöhtes Augenmerk auf die Sicherheit. Projektnummer vertrieben von unter der BSD-Lizenz.

Alle wichtigen AV1-Funktionen werden unterstützt, einschließlich Support
intern und extern codierte Frames (Intra- и inter-Frames), 64x64 Superblöcke, 4:2:0, 4:2:2 und 4:4:4 Chroma-Unterabtastung, 8-, 10- und 12-Bit-Farbtiefenkodierung, RDO-Optimierungsverzerrung (Rate-Distortion Optimization), verschiedene Modi zur Vorhersage von Interframe-Änderungen und zur Identifizierung von Transformationen, zur Steuerung der Flussrate und zur Erkennung von Szenenkürzungen.

Das AV1-Format ist auffällig ist voraus x264 und libvpx-vp9 hinsichtlich der Komprimierungsstufe, jedoch aufgrund der Komplexität der Algorithmen erfordert deutlich mehr Zeit für die Kodierung (in der Kodierungsgeschwindigkeit liegt libaom hunderte Male hinter libvpx-vp9 und tausende Male hinter x264).
Der Rav1e-Encoder bietet 11 Leistungsstufen, von denen die höchste Codierungsgeschwindigkeit nahezu in Echtzeit liefert. Der Encoder ist sowohl als Befehlszeilenprogramm als auch als Bibliothek verfügbar.

In der neuen Version:

  • Es wurden Optimierungen vorgenommen, die die Leistung im Vergleich zur ersten Version um 40–70 % steigerten (abhängig von den Kodierungseinstellungen);
  • Zur Serialisierung und Deserialisierung von Codierungsparametern wurde der CLI-Schnittstelle die Option „serialize“ hinzugefügt.
  • Generierung von Debugging-Informationen im Zwergformat hinzugefügt;
  • Das Flag „--benchmark“ wurde zur CLI für macOS und Linux hinzugefügt;
  • Es wurde die Möglichkeit hinzugefügt, die Segmentierung mithilfe der SpeedSetting-Option zu konfigurieren (standardmäßig deaktiviert, da dies zu einer Desynchronisierung führen kann).

Source: opennet.ru

Kommentar hinzufügen