Społeczności VideoLAN i FFmpeg ogłosiły niedawno publikacja tzw trzecia wersja (0.3) z biblioteki dav1d z implementacją alternatywnego, bezpłatnego dekodera formatu kodowania wideo AV1.
Biblioteka dav1d obsługuje wszystkie funkcje AV1, w tym zaawansowane typy podpróbkowania i wszystkie parametry kontrola głębi kolorów ustawiona w specyfikacji (8, 10 i 12 bitów).
Praca biblioteki została przetestowana na dużej kolekcji plików w formacie AV1. Kluczową cechą dav1d jest skupienie się na osiągnięciu najwyższej możliwej wydajności dekodowanie i zapewnienie wysokiej jakości pracy w trybie wielowątkowym.
Kod projektu jest napisany w C (C99) z wkładkami asemblera (NASM/GAS) i jest rozpowszechniany na licencji BSD.
Kodek wideoo AV1 został opracowany przez Open Media Alliance.(AOMedia), w którym reprezentowane są takie firmy jak Mozilla, Google, Microsoft, Intel, ARM, NVIDIA, IBM, Cisco, Amazon, Netflix, AMD, VideoLAN, CCN i Realtek
AV1 jest pozycjonowany jako darmowy format kodowania wideo, który nie wymaga wnoszenia opłat, który znacznie przewyższa H.264 i VP9 pod względem kompresji.
W pełnym zakresie testowanych rozdzielczości AV1 zapewnia średnio ten sam poziom jakości przy zmniejszeniu przepływności o 13% w porównaniu z VP9 i 17% w porównaniu z HEVC.
Przy wysokich przepływnościach wzmocnienie wzrasta do 22-27% dla VP9 i do 30-43% dla HEVC. W testach Facebooka AV1 przewyższył poziom kompresji H.264 Main Profile (x264) o 50.3%, H.264 High Profile o 46.2% i VP9 (libvpx-vp9) o 34.0%.
Co nowego w tej wersji?
Wraz z wydaniem tej nowej wersji dekodera, dodano różne dodatkowe optymalizacje w celu przyspieszenia dekodowania wideo używając instrukcji SSSE3, SSE4.1 i AVX2.
Razem z tym szybkość dekodowania na procesorach z SSSE3 zwiększona o 24%, a w systemach z AVX2 o 4%
Dodano kod asemblera do akceleracji przy użyciu instrukcji SSE4.1, którego zastosowanie pozwoliło zwiększyć wydajność o 26% w stosunku do wersji niezoptymalizowanej (w porównaniu do optymalizacji opartych na instrukcjach SSSE3, zysk 1,5%).
Dodatkowo zwiększono wydajność dekodera na urządzeniach mobilnych z procesorami opartymi o architekturę ARM64.
Dzięki zastosowaniu operacji wykorzystujących instrukcje NEON, w porównaniu do poprzedniej wersji wydajność wzrosła o około 12%.
W porównaniu z referencyjnym dekoderem aomdec (libaom), przewaga dav1d jest bardziej odczuwalna podczas pracy w trybie wielowątkowym (w niektórych testach dav1d jest 2-4 razy szybszy). W trybie jednowątkowym wydajność różni się o 10-20%.
Udało się zaangażować dav1d w inne projekty. Domyślnie dav1d jest teraz używany w Chromium i Chrome 74 i Firefox 67 (wcześniej dav1d był włączony dla systemu Windows, ale teraz został włączony dla systemów Linux i macOS).
Dalsze używanie dav1d w FFmpeg i VLC, planowane jest przejście na transkoder Handbrake.
Jak zainstalować dekoder dav1d w systemie Linux?
Dla tych, którzy są zainteresowani zainstalowaniem tego dekodera w swoich systemach, mogą to zrobić, postępując zgodnie z instrukcjami, które udostępniamy poniżej.
Ogólnie dla większości dystrybucji Linuksa, chłopaki z oferty projektu Lan pakiet dekodera za pomocą pakietu Snap.
Dlatego, aby zainstalować go w ten sposób, wystarczy, że Twoja dystrybucja obsługuje tego typu pakiety.
W terminalu wystarczy wykonać następujące polecenie:
sudo snap install dav1d --edge
do w przypadku tych, którzy są użytkownikami Arch Linux, Manjaro, Antergos lub jakiejkolwiek innej pochodnej Arch Linux, mogą instalować bezpośrednio z repozytoriów Arch Linux.
Serwico Solo powinien działać w terminalu następujące polecenie
sudo pacman -S dav1d