Trzecie wydanie dav1d, dekodera AV1 z projektów VideoLAN i FFmpeg

Społeczności VideoLAN i FFmpeg opublikowane trzecie wydanie (0.3) biblioteki dav1d z implementacją alternatywnego, bezpłatnego dekodera formatu kodowania wideo AV1. Kod projektu napisany jest w języku C (C99) z wstawkami asemblera (NASM/GAS) i dystrybuowane przez na licencji BSD. Zaimplementowano obsługę architektur x86, x86_64, ARMv7 i ARMv8 oraz systemów operacyjnych Linux, Windows, macOS, Android i iOS.

Biblioteka dav1d obsługuje wszystkie funkcje AV1, w tym zaawansowane widoki podpróbkowanie oraz wszystkie parametry kontroli głębi kolorów określone w specyfikacji (8, 10 i 12 bitów). Biblioteka 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 dekodowania i zapewnieniu wysokiej jakości pracy w trybie wielowątkowym.

Nowa wersja dodaje dodatkowe optymalizacje przyspieszające dekodowanie wideo przy użyciu instrukcji SSSE3, SSE4.1 i AVX2. Szybkość dekodowania na procesorach z SSSE3 wzrosła o 24%, a na systemach z AVX2 o 4%. Dodano kod asemblera do akceleracji przy użyciu instrukcji SSE4.1, którego zastosowanie zwiększyło wydajność o 26% w porównaniu do wersji niezoptymalizowanej (w porównaniu do optymalizacji opartych na instrukcjach SSSE3, zysk wynosi 1.5%).

Trzecie wydanie dav1d, dekodera AV1 z projektów VideoLAN i FFmpeg

Zwiększona została także wydajność dekodera na urządzeniach mobilnych z procesorami opartymi na architekturze ARM64. Dzięki wdrożeniu operacji przy użyciu instrukcji NEON wydajność wzrosła o około 12% w porównaniu do poprzedniej wersji.

Trzecie wydanie dav1d, dekodera AV1 z projektów VideoLAN i FFmpeg

W porównaniu do referencyjnego dekodera aomdec (libaom), przewaga dav1d jest najsilniej 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%.

Trzecie wydanie dav1d, dekodera AV1 z projektów VideoLAN i FFmpeg

Trzecie wydanie dav1d, dekodera AV1 z projektów VideoLAN i FFmpeg

Użycie dav1d w innych projektach okazało się sukcesem. Wartość domyślna to teraz dav1d stosowany w Chromium/Chrome 74 i Firefox 67 (poprzednio dav1d był wliczony dla systemu Windows, ale teraz aktywowany dla Linuksa i MacOS). Dalsze wykorzystanie dav1d w FFmpeg i VLC, planowane przejście na transkoder dav1d Hamulec ręczny.

Przypomnijmy, że kodek wideo AV1 opracowany przez sojusz Otwarte media (AOMedia), w skład której wchodzą takie firmy jak Mozilla, Google, Microsoft, Intel, ARM, NVIDIA, IBM, Cisco, Amazon, Netflix, AMD, VideoLAN, CCN i Realtek. AV1 jest pozycjonowany jako publicznie dostępny, bezpłatny format kodowania wideo, który zauważalnie wyprzedza H.264 i VP9 pod względem poziomów kompresji. W całym zakresie testowanych rozdzielczości AV1 zapewnia średnio ten sam poziom jakości, zmniejszając jednocześnie przepływność o 13% w porównaniu z VP9 i o 17% niższą niż HEVC. Przy wysokich przepływnościach wzmocnienie wzrasta do 22–27% dla VP9 i do 30–43% dla HEVC. W testach na Facebooku AV1 przewyższał główny profil H.264 (x264) o 50.3% pod względem poziomu kompresji, wysoki profil H.264 o 46.2%, a VP9 (libvpx-vp9) o 34.0%.

Źródło: opennet.ru

Dodaj komentarz