Спільноти VideoLAN та FFmpeg нещодавно оголосили про публікація третя версія (0.3) з бібліотеки dav1d з реалізацією альтернативного безкоштовного декодера формату кодування відео AV1.
Бібліотека dav1d підтримує всі функції AV1, включаючи вдосконалені типи субдискретизації та всі параметри регулювання глибини кольору, встановлене у специфікації (8, 10 та 12 біт).
Робота бібліотеки була перевірена на великій колекції файлів у форматі AV1. Ключовою особливістю dav1d є спрямованість на досягнення максимально високих показників розшифрувати і забезпечити якісну роботу в багатопотоковому режимі.
Код проекту написаний на мові C (C99) з асемблерними вставками (NASM / GAS) і поширюється за ліцензією BSD.
Відеокодекo AV1 був розроблений Open Media Alliance (AOMedia), в якій представлені такі компанії, як Mozilla, Google, Microsoft, Intel, ARM, NVIDIA, IBM, Cisco, Amazon, Netflix, AMD, VideoLAN, CCN та Realtek
AV1 позиціонується як формат кодування відео з вільним доступом, який не вимагає сплати зборів, що значно перевершує H.264 та VP9 за рівнем стиснення.
Для повного діапазону перевірених роздільних здатностей AV1 забезпечує в середньому однаковий рівень якості, знижуючи бітрейт на 13% порівняно з VP9 та на 17% порівняно з HEVC.
При високих бітових швидкостях коефіцієнт підсилення збільшується до 22-27% для VP9 та до 30-43% для HEVC. У тестах Facebook AV1 перевершив основний профіль H.264 (x264) на 50.3%, високий профіль H.264 на 46.2% та VP9 (libvpx-vp9) на 34.0%.
Що нового в цій версії?
З виходом цієї нової версії декодера, додано різні додаткові оптимізації для пришвидшення декодування відео використовуючи інструкції SSSE3, SSE4.1 та AVX2.
Разом з цим швидкість декодування на процесорах з SSSE3 збільшена на 24%, а в системах з AVX2 на 4%
Додано код асемблера для прискорення за допомогою інструкцій SSE4.1, використання якого збільшило продуктивність на 26% порівняно з неоптимізованою версією (порівняно з оптимізацією на основі інструкцій SSSE3, посилення 1,5%).
Крім того, продуктивність декодера була підвищена на мобільних пристроях з процесорами на основі архітектури ARM64.
Завдяки використанню операцій, що використовують інструкції NEON, порівняно з попередньою версією, продуктивність зросла приблизно на 12%.
Порівняно з еталонним декодером aomdec (libaom), перевага dav1d відчувається більше при роботі в багатопотоковому режимі (у деяких тестах dav1d в 2-4 рази швидший). У режимі одного потоку продуктивність відрізняється на 10-20%.
Досягнуто успіху у залученні dav1d в інші проекти. За замовчуванням dav1d тепер використовується в Chromium та Chrome 74 і Firefox 67 (раніше dav1d був увімкнений для Windows, а тепер - для Linux та macOS.)
Продовжуючи використовувати dav1d у FFmpeg та VLC, планується перехід на транскодер Handbrake.
Як встановити декодер dav1d на Linux?
Для тих, хто зацікавлений у можливості встановити цей декодер у свої системи, вони можуть це зробити, дотримуючись інструкцій, які ми ділимо нижче.
Загалом для більшості дистрибутивів Linux, хлопці з проекту Lan, пропонують пакет декодера за допомогою пакета Snap.
Тому, щоб встановити його цим способом, потрібно лише, щоб ваш дистрибутив підтримував цей тип пакетів.
У терміналі їм просто потрібно виконати таку команду:
sudo snap install dav1d --edge
в справа тих, хто користується Arch Linux, Manjaro, Antergos або будь-яким іншим похідним Для Arch Linux вони можуть встановлювати безпосередньо зі сховищ Arch Linux.
Соло повинен працювати в терміналі наступну команду
sudo pacman -S dav1d