Преди няколко дни общностите на VideoLAN и FFmpeg обявиха пускането на новата версия на библиотеката dav1d 1.0.0. Това е алтернативна реализация на безплатен декодер на формата за кодиране на видео AV1.
Библиотеката dav1d поддържа всички функции на AV1, включително усъвършенствани типове понижаваща проба и всички параметри за контрол на дълбочината на цвета, декларирани в спецификацията (8, 10 и 12 бита). Библиотеката беше тествана върху голяма колекция от файлове във формат AV1.
Видео кодекът AV1 е разработен от Open Media Alliance. (AOMedia), в която са представени компании като Mozilla, Google, Microsoft, Intel, ARM, NVIDIA, IBM, Cisco, Amazon, Netflix, AMD, VideoLAN, CCN и Realtek
AV1 се позиционира като формат за видео кодиране със свободен достъп, който не изисква заплащане на такси, което е значително по-добро от H.264 и VP9 по отношение на компресията.
Референтният декодер за AV1 е страхотен, но това е изследователска кодова база, така че има много да се подобри. Ето защо общностите VideoLAN, VLC и FFmpeg започнаха работа по нов декодер, спонсориран от Алианс на отворените медии, за да създадете референтно оптимизиран декодер за AV1.
Ключова характеристика на dav1d е фокусът му върху постигането на производителност възможна скорост на декодиране и осигуряване на висококачествена работа с много нишки.
Основни нови функции на dav1d 1.0.0
В тази наскоро пусната версия на декодера са направени различни малки корекции на грешки, за които беше съобщено в началото, както и важни функции, които са внедрени.
И това е, че в тази нова версия на dav1d 1.0.0 организацията с много нишки е преработена, включително автоматично управление на потока, като по този начин производителността е подобрена в сравнение с AVX2 спрямо SSE 4.1
Друга от промените, които се открояват в тази нова версия, е това добавена възможност за ускоряване на изчисленията използвайки векторни инструкции AVX-512, плюс добавените преди това оптимизации, базирани на инструкциите SSE2 и AVX2, бяха подобрени.
От друга страна можем да установим, че е било предложено нов API за улесняване на използването на графичния процесор за ускорение и че е добавен API за получаване на информация за кадрите, с които е имало проблеми по време на декодирането.
докато за част от отстранените грешки в тази нова версия се споменават следното:
- Коригиран е проблем с 32-битов Windows DLL неуспешен при функциите dav1d_ipred_*_ssse3
- Поправка за срив при изпълнение на възпроизвеждане, ако в първия кадър няма ключов кадър.
- Целочислени грешки при препълване, открити чрез Libfuzzer
- arm64 ASM се повреди на Apple M1
- Счупена версия на Android (недефиниран маркер: pthread_getafinity_np)
- Поправка за проблеми при компилиране на ffmpeg с libdav1d в Windows
- Грешка при компилиране (грешки при свързване на "недефинирана препратка") в Linux, ако флагът Clang -fprofile-instr-generate е зададен на CFLAGS
- Интензивното търсене на видео файл създава случайни артефакти на срив
- Грешките не се разпространяват при използване на нишки на рамката
- Позволете на dav1d_get_picture да върне информация за това кой пакет е бил лош
- Добавете основна многонишкова работа по подразбиране
- Тестовият случай на Fuzzer дава 3 кадъра с dav1d срещу 0 кадъра с libaom.
- Внедряване на интелигентни нишки по подразбиране въз основа на съдържанието и системата
Накрая ако искате да научите повече за това за тази нова версия, а също и за проекта на този декодер, можете да проверите подробностите В следващия линк.
Как да инсталирам декодер dav1d на Ubuntu и деривати?
За тези, които се интересуват от възможността да инсталират този декодер в своите системи, те могат да го направят, като следват инструкциите, които споделяме по-долу.
Като цяло, за повечето дистрибуции на Linux, момчетата от проекта VideoLan, предлагат пакета за декодиране посредством пакет Snap.
Така че, за да го инсталирате по този начин, е необходимо само вашата дистрибуция да има поддръжка за този тип пакети.
В терминал те просто трябва да изпълнят следната команда:
sudo snap install dav1d --edge