The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

11.12.2018 21:44  Первый выпуск dav1d, декодировщика AV1 от проектов VideoLAN и FFmpeg

Сообщества VideoLAN и FFmpeg опубликовали первый выпуск библиотеки dav1d с реализацией альтернативного свободного декодировщика формата кодирования видео AV1. Выпуск 0.1 позиционируется как первая версия, пригодная для повседневного использования. Код проекта написан на языке Си (C99) с ассемблерными вставками (NASM/GAS) и распространяется под лицензией BSD. Реализована поддержка архитектур x86, x64, ARMv7 и ARMv8, и операционных систем Linux, Windows, macOS, Android и iOS.

Библиотека dav1d поддерживает все возможности AV1, включая расширенные виды субдискретизации и все заявленные в спецификации параметры управления глубиной цвета (8, 10 и 12 бит). Работа библиотеки протестирована на большой коллекции файлов в формате AV1. Ключевой особенностью dav1d является ориентация на достижение максимально возможной производительности декодирования и обеспечение качественной работы в многопоточном режиме.

Плюсом dav1d также является более компактная реализация: dav1d включает в 10 раз меньше кода по сравнению с libaom, а размер бинарного файла меньше в три раза. В процессе декодирования dav1d потребляет в 4 раза меньше памяти.

Из последних достижений проекта отмечается добавление поддержки инструкций SSSE3 для ускорения работы на старых системах и реализация ассемблерных оптимизаций для архитектуры ARMv8 (в однопоточном режиме libaom и dav1d на устройствах ARMv8 пока показывают примерно одинаковую производительность, но при многопоточной работе лидирует dav1d). Ведутся эксперименты по задействованию шейдеров для ускорения некоторых операций.

Напомним, что видеокодек AV1 разработан альянсом Open Media (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 обогнал по уровню сжатия main profile H.264 (x264) на 50.3%, high profile H.264 на 46.2%, а VP9 (libvpx-vp9) на 34.0%.

  1. Главная ссылка к новости (http://www.jbkempf.com/blog/po...)
  2. OpenNews: VideoLAN и FFmpeg разработали новый декодировщик для видеокодека AV1
  3. OpenNews: В Firefox 63 появится поддержка видеокодека AV1
  4. OpenNews: Mozilla и Xiph развивают реализацию видеокодека AV1 на языке Rust
  5. OpenNews: Результаты тестирования AV1 в Facebook. Новый формат JPEG XS
  6. OpenNews: Увидел свет первый выпуск открытого видеокодека нового поколения AV1
Лицензия: CC-BY
Тип: Программы
Ключевые слова: av1, dav1d, videolan, ffmpeg
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.2, Аноним (2), 23:00, 11/12/2018 [ответить] [показать ветку] [···]     [к модератору]
  • +1 +/
    Стоит уточнить что опережает оно только libaom 1 0 релизнутый при царе горохе А... весь текст скрыт [показать]
     
     
  • 2.4, Аноним (2), 23:01, 11/12/2018 [^] [ответить]    [к модератору]  
  • –6 +/
    А, еще и система сборки мезон, требует гадский пихтон. Тоже мне, сишный проект, блин. Маркетинг и хипстота во все поля.
     
     
  • 3.7, qcgg (?), 23:13, 11/12/2018 [^] [ответить]    [к модератору]  
  • +4 +/
    meson сейчас майнстримная система сборки. То, что они решили использовать meson, только плюс.
     
     
  • 4.24, Аноним (24), 08:45, 12/12/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    Странно, а им собирается что-то кроме частей Gnome? Штука хорошая, там пыхтон как нельзя кстати, но что-то я ее не вижу во многих проектах.
     
     
  • 5.39, Аноним (39), 11:46, 12/12/2018 [^] [ответить]    [к модератору]  
  • –2 +/
    Какой-то манагер в RH наслушался свеженанятых пыхтонрастмакак и принял мегарешение. Карманные проекты редхата и взяли под козырек. Сразу весь "майнстрим" и спалился, оптом.
     
  • 5.45, Crazy Alex (ok), 12:18, 12/12/2018 [^] [ответить]    [к модератору]  
  • +4 +/
    ну вот mesa на него переползла, например
     
     
  • 6.65, Владимир (??), 23:58, 12/12/2018 [^] [ответить]    [к модератору]  
  • –2 +/
    Ага, только на мезон они переползли с Autotools. ЛЮБАЯ система сборки будет лучше, чем это, конечно, они будут ее нахваливать.
     
     
  • 7.68, нах (?), 17:57, 13/12/2018 [^] [ответить]     [к модератору]  
  • +/
    если вам не нужна переносимость и линукс ваш новый стандарт - тогда да, любая др... весь текст скрыт [показать]
     
  • 4.38, Аноним (39), 11:45, 12/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Я не знаю для кого оно там майнстримное, кроме шестерок редхата и визгливых бидо... весь текст скрыт [показать]
     
  • 3.16, DerRoteBaron (ok), 02:25, 12/12/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    Лучше cmake или meson и более-менее нормальная воспроизводимость сборки, чем пор... весь текст скрыт [показать]
     
     
  • 4.36, Аноним (36), 10:47, 12/12/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    Забавно, как же тогда ядро собирается, без cmake и meson? Или они ещё не знают, что у них всё плохо и надо брючки подвернуть?
     
     
  • 5.40, Аноним (-), 11:58, 12/12/2018 [^] [ответить]     [к модератору]  
  • +3 +/
    Более того - meson еще и не умеет генерить make файлы Только какую-то НЕХ для д... весь текст скрыт [показать]
     
     
  • 6.57, Аноним (57), 19:47, 12/12/2018 [^] [ответить]     [к модератору]  
  • +3 +/
    доставьте ссылку, пожалуйста ... весь текст скрыт [показать]
     
  • 6.60, Андрей (??), 21:21, 12/12/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    В Debian не могут больше актуализировать пакет с языком программирования Scala ... весь текст скрыт [показать]
     
     
  • 7.64, КГБ СССР (?), 23:25, 12/12/2018 [^] [ответить]    [к модератору]  
  • +3 +/
    Ловлю фейспалмы от чтения этого треда. Жгите ещё, пацаны!
     
  • 3.55, нах (?), 15:40, 12/12/2018 [^] [ответить]    [к модератору]  
  • +/
    мэйкфайлы руками пишут лохи, автоконф для дедов, симейк слишком сложно, линукс ваш новый стандарт!

     
  • 3.62, Аноним (62), 22:36, 12/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Тулкитодpoчеры должны страдать.
     
  • 3.74, Аноним (74), 11:49, 28/12/2018 [^] [ответить]    [к модератору]  
  • +/
    А автолулзы требуют гадский perl. А plain Makefile больше не пишут.
     
  • 2.22, Аноним (22), 06:59, 12/12/2018 [^] [ответить]    [к модератору]  
  • +/
    > А текущая версия их кода - и близко не опережает текущую версию libaom

    При наличии AVX2 таки опережает, где-то в два раза. Но без AVX2 где-то в те же два раза отстаёт, SSSE3 не очень помогает.

     
     
  • 3.23, Аноним (23), 07:59, 12/12/2018 [^] [ответить]    [к модератору]  
  • +/
    SSE дорожка сырая недопилка. Увы и ах пока что беспоелезн на всем старше Haswell.
     
  • 3.41, Аноним (-), 12:05, 12/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Пруф А то у них прямо на сайте же и написано что отстает, потому что дескать оп... весь текст скрыт [показать]
     
     
  • 4.53, Аноним (22), 14:47, 12/12/2018 [^] [ответить]     [к модератору]  
  • +3 +/
    На сегодняшних master-ветках code ffmpeg -i av1-720p webm -map 0 v -f null -... весь текст скрыт [показать]
     
  • 4.73, Ванёк (?), 14:34, 19/12/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    По опыту оптимизаций можно сказать, что зачастую оптимизированный код, в котором вообще не используется AVX/SSE, оказывается быстрее или на уровне кода с использованием AVX/SSE по целому ряду причин.
     
  • 1.3, Семён (?), 23:00, 11/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –9 +/
    Вот только лицензия BSD огорчает.
     
     
  • 2.17, анон (?), 02:32, 12/12/2018 [^] [ответить]    [к модератору]  
  • +17 +/
    Не думал что доживу до подобных комментариев.
     
  • 2.26, Аноним (24), 08:48, 12/12/2018 [^] [ответить]    [к модератору]  
  • +6 +/
    Отдавать свой продукт корпорастам или нет - это дело программиста.
    Тебе дали свободу делать с этим все, что угодно, что не так?
     
     
  • 3.31, Аноним (31), 09:44, 12/12/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Такое впечатление что разработчики VideoLAN и ffmpeg не корпорасты, а работяги, которые каждый вечер после после смены на заводе и врубают vim и кодят для души.
     
     
  • 4.44, Аноним (44), 12:15, 12/12/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    А судя по бложикам и кодингу - в vlc те еще околокорпоративные фрукты Поэтому т... весь текст скрыт [показать]
     
  • 1.5, Ъ (?), 23:05, 11/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +20 +/
    Выбор цвета столбцов в гистограмме - уровень бог
     
     
  • 2.18, анон (?), 02:33, 12/12/2018 [^] [ответить]    [к модератору]  
  • +8 +/
    Синий явно лишний, почему бы не сделать его каким-нибудь приятным, например зеленым? ))
     
     
  • 3.51, Аноним (51), 13:00, 12/12/2018 [^] [ответить]    [к модератору]  
  • –3 +/
    Почему бы вам обоим мониторы не подстроить? Ну, или если не поможет - к окулисту не сходить?
     
     
  • 4.72, grsec (ok), 19:26, 14/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Стало страшно смотреть в твой подстроенный монитор.
     
  • 1.6, НяшМяш (ok), 23:09, 11/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    > Ведутся эксперименты по задействованию шейдеров для ускорения некоторых операций.

    Всегда было интересно, почему не сделать кодер/декодер полностью на чём-то вроде OpenCL/Vulkan. Проприетарные и/или платные реализации есть, а вот в опенсорсе реализаций не встречал. Тем более, что AV1 - типа кодек будущего и я не вижу препятствий сделать полноценную реализацию на том же Vulkane.

     
     
  • 2.9, VINRARUS (ok), 23:33, 11/12/2018 [^] [ответить]    [к модератору]  
  • +5 +/
    >я не вижу препятствий сделать полноценную реализацию на том же Vulkane.

    Сделай. Или заставь других более убедитильными доводами.

     
  • 2.21, Вулкан (?), 06:29, 12/12/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    Потому что на GPU нетривиально написать производительный код, в котором много за... весь текст скрыт [показать]
     
     
  • 3.25, Ю.Т. (?), 08:47, 12/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Даже невозможно. Производительность окажется ограниченной моделью обработки.
    (имея в виду, что GPU это паралл.-выч. оборудование по модели с общей памятью )
     
  • 2.30, Странный факт (?), 09:42, 12/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Приколу ради запускал opencl реализацию перекодирования фильмов в mp4 для ffmpeg... весь текст скрыт [показать]
     
  • 2.32, Ydro (?), 10:01, 12/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Эталонный вариант , если можно так выразится не делается с привязкой к сторонни... весь текст скрыт [показать]
     
     
  • 3.37, Аноним (31), 11:12, 12/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Сейчас в каждом новом SOC включая бюджетные есть OpenCL/Vulkan. Через пару лет чипы без оного придется поискать в дикой природе.
     
     
  • 4.43, Аноним (-), 12:12, 12/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Таки не в каждом В половину дешевых чипов до сих пор мали галимый пихают Потом... весь текст скрыт [показать]
     
  • 2.42, Аноним (-), 12:11, 12/12/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Ну вот представь себе, есть у тебя грейдер Он может тонну грунта за раз свороти... весь текст скрыт [показать]
     
  • 1.8, Ivan_83 (ok), 23:25, 11/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    С libaom на райзен 2700х элекардовское 4к видео лагает дико и жрёт только 4 ядра.
     
     
  • 2.46, Аноним (44), 12:18, 12/12/2018 [^] [ответить]    [к модератору]  
  • +/
    > С libaom на райзен 2700х элекардовское 4к видео лагает дико и жрёт
    > только 4 ядра.

    А он у тебя какой версии? Libaom в смысле. Если 1.0 то это тухляк невероятный по состоянию на сейчас.

     
     
  • 3.56, Ivan_83 (ok), 17:57, 12/12/2018 [^] [ответить]    [к модератору]  
  • +/
    aom-1.0.0.1023
    он у нас во фряхе каждую неделю по два раза обновляется %)
     
  • 1.10, lucentcode (ok), 23:44, 11/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Годная новость. Софтовый декодер будут и дальше совершенствовать, и скоро он станет юзабельным. А вот чипсеты для мобильных устройств с харварной поддержкой завезут, вероятно, не скоро.
     
     
  • 2.29, Аноним (29), 09:39, 12/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Например, в следующем поколении Снэпдрагонов (через год).
     
  • 1.11, КГБ СССР (?), 23:48, 11/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    > Код проекта написан на языке Си (C99) с ассемблерными вставками (NASM/GAS)

    А что, на пихтоне и жлобоскрипте такое написать не получится? Странно. А в телевизоре^W интернете сказали, что браузер — это новая универсальная платформа для прогрессивных приложений. Даже пример показали: прогрессивное веб-приложение https://squoosh.app/ (а вот хакер, скреатививший шедевр: avatars3.githubusercontent.com/u/7694752 ).

     
     
  • 2.12, Анонимчжан (?), 23:58, 11/12/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    говорят что можно, только скорость обработки никто не отменял си побыстрее буде... весь текст скрыт [показать]
     
     
  • 3.13, КГБ СССР (?), 00:01, 12/12/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    Да я шучу. :)

    Думаю, что в данном случае на С (и с ассемблерными вставками) будет быстрее на два-три порядка, а не в два-три раза. :)

     
  • 3.20, leap42 (ok), 05:57, 12/12/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    > си побыстрее будет раза в 2, а то и в 3 в данном случае

    лол, 2-3...

    js помедленнее Си будет в 2-10 раз (зависит от задачи), python3 примерно в 15-20 раз

     
     
  • 4.27, Аноним (24), 08:51, 12/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Нихрена, JS медленнее PyPy. Уточняйте интерпретатор пожалуйста.
     
  • 3.59, IdeaFix (ok), 20:51, 12/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Вот и стал Си языком низкого уровня.... а у меня в зачетке была строчка 'Программирование на "ЯВУ"'
     
     
  • 4.61, Ю.Т. (?), 21:22, 12/12/2018 [^] [ответить]    [к модератору]  
  • +/
    > Вот и стал Си языком низкого уровня.... а у меня в зачетке
    > была строчка 'Программирование на "ЯВУ"'

    Всё, что на вид достаточно похоже на человеческий (английский) язык, это ЯВУ по ГОСТу. ))

     
     
  • 5.63, Аноним84701 (ok), 22:55, 12/12/2018 [^] [ответить]     [к модератору]  
  • +/
    Для когнитивного диссонансу можно вспомнить HLA HLA High Level Assembly, от а... весь текст скрыт [показать]
     
     
  • 6.69, Ю.Т. (?), 21:52, 13/12/2018 [^] [ответить]    [к модератору]  
  • +/
    >>> Вот и стал Си языком низкого уровня.... а у меня в зачетке
    >> Всё, что на вид достаточно похоже на человеческий (английский) язык, это ЯВУ по ГОСТу. ))
    > Для "когнитивного диссонансу" можно вспомнить HLA
    > Хотя в принципе, все более-менее известные (MASM/TASM/NASM/YASM/FASM) имели кучу высокоуровневых

    Вообще любой ассемблер это содержал(-ит), имея в виду что ассемблер это автокод плюс расширения, и вот они как раз "ВУ".
    Даже на ДВК или ЕС ЭВМ. ))

     
  • 6.70, Акакжев (?), 13:28, 14/12/2018 [^] [ответить]    [к модератору]  
  • +/
    > Для "когнитивного диссонансу"

    http://flatassembler.net/docs.php?article=fasmg

    What is flat assembler g?

    ...
    This is a bare engine that by itself has no ability to recognize and encode instructions of any processor, however it has an ability to become an assembler for any CPU architecture.
    ...

    Да, Томаш созрел.

     
  • 2.14, Crazy Alex (ok), 00:02, 12/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Ну и нахрена заведомую чушь нести? Всему своё место. Тут, вон, тоже на ассемблере не всё пишут, а по необходимости.

    Веб-приложение, кстати, тоже так сделано - UI на HTML/JS, а для тяжёлой работы использует вполне себе сишные кодеки - WebAssembly в помощь :-) Правда, работать они будут в несколько раз медленнее натива, потому что в WebAssembly поддержку SSE и многопоточность до сих пор не завезли, но там, где оно не нужно - скорость от нативно скомпилированных сей отличается меньше чем вдвое.

     
     
  • 3.15, Аноним (15), 01:57, 12/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Никто и не сомневался что ваш вебассембли не взлетит.
     
     
  • 4.19, Crazy Alex (ok), 03:47, 12/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Ну, он не то чтобы мой... Просто из вебовских костылей он, пожалуй, наиболее явный, логичный и последовательный. А фичи в него постепенно подвозят, и всякие SSE - штуки приятные, но нужные отнюдь не всем.
     
     
  • 5.66, Интересно (?), 17:07, 13/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Как можно считать логичным приблуду для веба не умеющую взаимодействовать ни с сетью ни с пользователем?
     
     
  • 6.71, Crazy Alex (ok), 17:32, 14/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Так из них никто напрямую не умел за исключением браузерных плагинов (не к ночи будь помянуты с их дырами). Но это, как минимум, шустро и бескостыльно считает и не прибито к конкретному ЯП.

    А бирджи для взаимодействия генерируются автоматом, тем же emscripten. И это примерно последнее место, где там возникают проблемы. Ну и планы на что-то более нативное у них есть, и судя по текущей истории - шуршат они неспешно, но планомерно, что лично мне нравится гораздо больше, чем странные шатания в собственно джаваскриптовой части.

     
  • 2.33, Странный факт (?), 10:03, 12/12/2018 [^] [ответить]    [к модератору]  
  • +/
    >А что, на пихтоне и жлобоскрипте такое написать не получится?

    С декодирование в облаке на Амазоне - Любой каприз за Ваши деньги. :)

    P.S. Этак скоро до того дойдет - чтоб фильм скачанный с Ютуба перекодировать, придется кластер поднимать.

     
     
  • 3.48, Аноним (44), 12:22, 12/12/2018 [^] [ответить]     [к модератору]  
  • +/
    А что, ты потом результат декодирования еще и прокачать сможешь В реальном врем... весь текст скрыт [показать]
     
     
  • 4.67, Аноним (67), 17:11, 13/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Имелось ввиду перекодировать, например в mp4. Для просто посмотреть не так интересно.
     
  • 2.34, пох (?), 10:25, 12/12/2018 [^] [ответить]    [к модератору]  
  • +/
    > А что, на пихтоне и жлобоскрипте такое написать не получится?

    да, я тоже не понимаю, фигня какая-то.

    Ну хотя бы на яве?

     
  • 2.47, Аноним (44), 12:20, 12/12/2018 [^] [ответить]    [к модератору]  
  • +/
    > А что, на пихтоне и жлобоскрипте такое написать не получится? Странно.

    Эти фаготы для сборки мезоногуно затребовали. ФакЪ.

     
  • 1.35, Нанобот (ok), 10:26, 12/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    >Плюсом dav1d также является более компактная реализация: dav1d включает в 10 раз меньше кода по сравнению с libaom

    через пару годиков разбухнет до сравнимых размеров

     
     
  • 2.49, Аноним (44), 12:23, 12/12/2018 [^] [ответить]    [к модератору]  
  • +/
    Без энкодера таки не разбухнет наверное, но и кодировать соответственно не сможет.
     
  • 1.50, Аноним (50), 12:39, 12/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Ждем конкурирующего проекта GoL1aph
     
  • 1.52, Анонтоним (?), 13:25, 12/12/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    >  с ассемблерными вставками (NASM/GAS)

    Когда же они эту дурь из головы выбросят? Компиляторы давно уже починили - пользуйтесь же интринсиками наконец!

     
     
  • 2.54, VEG (ok), 14:50, 12/12/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    На обычном асме такие оптимизации писать может быть просто удобнее.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2019 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor