The OpenNET Project / Index page

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

Второй выпуск dav1d, декодировщика AV1 от проектов VideoLAN и FFmpeg

05.03.2019 11:53

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

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

В новой версии проведена работа по увеличению производительности при обработке потоков с 8-битовым кодированием цветности на устаревших компьютерах и мобильных устройствах. Добавлены ассемблерные оптимизации, реализованные с использованием инструкций SSSE3 и NEON (ранее оптимизации были ограничены применением инструкций AVX2). Производительность большинства функций на языке Си увеличена в диапазоне от 2 до 20 раз. По сравнению с прошлым выпуском производительность декодирования в однопоточном режиме в среднем выросла в 2.25 раза, а в многопоточном - в 2.5 раза.

В целом dav1d теперь обеспечивает производительность, достаточную для декодирования видео 1080p с частотой 30 кадров в секунду практически на любых процессорах с поддержкой SSSE3.

По сравнению с эталонным декодировщиком aomdec на системах с поддержкой SSSE3, но без инструкций AVX2, dav1d работает в 2.5 - 3 раза быстрее для потоков с 8-разрядной глубиной цвета и цветовой субдискретизацией 4:2:0 (aomdec использует 4 потока, а dav1d - 8 потоков для раздельной обработки кадров и 4 для сшивания фрагментов). В однопоточном режиме производительность примерно на одном уровне.

При использовании инструкций SSE4.1 (поддерживаются на 95,82% систем по данным сервиса Steam), dav1d пока немного отстаёт от декодировщика aomdec в однопоточном режиме, но остаётся в два раза быстрее в многопоточном режиме.

При использовании инструкций AVX2 по сравнению с прошлым выпуском производительность увеличена на 1-2% (основные оптимизации были добавлены ранее). При этом dav1d остаётся быстрее aomdec на 40% в однопоточном режиме и в 2.5-5 раз в многопоточном.

На системах ARM64 (Snapdragon 835) с инструкциями NEON производительность в среднем возросла на 38% в однопоточном режиме и на 53% в многопоточном. На 32-разрядных процессорах ARMv7 прирост производительности составил 62% и 46% соответственно.

Напомним, что видеокодек 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%.

Дополнительно можно отметить публикацию чернового варианта спецификации для нового формата кодирования изображений AVIF, в котором задействованы технологии внутрикадрового сжатия из AV1. После завершения рецензирования черновика техническим комитетом альянса AOM (Alliance for Open Media) планируется опубликовать финальный вариант спецификации (сейчас спецификация находится на стадии кандидата в релизы - 1.0.0-rc). AVIF поддерживает как изображения в HDR (High Dynamic Range) и цветовом пространстве Wide-gamut, так и в стандартном динамическом диапазоне (SDR). Контейнер для распространения сжатых данных в AVIF полностью аналогичен HEIF.

  1. Главная ссылка к новости (https://medium.com/@ewoutterho...)
  2. OpenNews: Intel открыл кодировщик видео AV1, оптимизированный для перекодирования на лету
  3. OpenNews: Первый выпуск dav1d, декодировщика AV1 от проектов VideoLAN и FFmpeg
  4. OpenNews: Увидел свет первый выпуск открытого видеокодека нового поколения AV1
  5. OpenNews: Mozilla и Xiph развивают реализацию видеокодека AV1 на языке Rust
  6. OpenNews: Результаты тестирования AV1 в Facebook. Новый формат JPEG XS
Лицензия: CC-BY
Тип: Программы
Ключевые слова: dav1d, av1
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, mfa (?), 13:10, 05/03/2019 [ответить] [показать ветку] [···]    [к модератору]
  • –2 +/
    "SSE4.1 (поддерживаются на 95,82% систем по данным сервиса Steam)"
    каков % охвата ПК стимом?
     
     
  • 2.3, dimqua (ok), 13:19, 05/03/2019 [^] [ответить]    [к модератору]
  • +13 +/
    100% среди YOBA-геймеров. :-)
     
     
  • 3.4, Аноним (4), 13:56, 05/03/2019 [^] [ответить]    [к модератору]
  • +2 +/
    Ты не поверишь какой хлам по YOBA меркам у 95% стимогеймеров.
     
     
  • 4.5, Аноним (4), 13:57, 05/03/2019 [^] [ответить]    [к модератору]
  • +1 +/
    https://store.steampowered.com/hwsurvey забыл-с.
     
     
  • 5.17, Аноним (17), 16:35, 05/03/2019 [^] [ответить]     [к модератору]
  • –5 +/
    MOST POPULAR Physical CPUs 4 cpus 56 35 0 34 то есть ядра одного проца счита... весь текст скрыт [показать]
     
     
  • 6.18, Аноним (18), 16:45, 05/03/2019 [^] [ответить]    [к модератору]  
  • +7 +/
    А видеокарту для гейминга в 4k Аллах даст?
     
     
  • 7.32, адмирал третьего флота очевидно (?), 04:07, 06/03/2019 [^] [ответить]     [к модератору]  
  • +/
    только в этом году на самом деле начали появлятся приемлемые для игр 4к мониторы... весь текст скрыт [показать]
     
  • 6.19, Аноним (4), 16:45, 05/03/2019 [^] [ответить]    [к модератору]  
  • +5 +/
    Для погроммиста или там дизайнера кому надо миллиард вывода на экран, для геймеров даже не бедных особо 4k это 30-40 фпс вместо 60-250 в 1080p. Выбор для многих прост.
     
     
  • 7.20, Аноним (17), 17:06, 05/03/2019 [^] [ответить]     [к модератору]  
  • +/
    Оттуда же MOST POPULAR Video Card Description NVIDIA GeForce GTX 1060 Максималь... весь текст скрыт [показать]
     
     
  • 8.26, Аноним (4), 18:40, 05/03/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    Может конечно 4k 1060.. дело не в этом. А сколько кадров в секунду она может отрендерить в играх в этом самом 4k. Мало, очень мало.
     
     
  • 9.27, Аноним (4), 18:42, 05/03/2019 [^] [ответить]    [к модератору]  
  • +/
    Добавлю, рваные киношки ниже 20 фпс так себе удовольствие для любых казуалов.
     
  • 6.29, Аноним (-), 20:47, 05/03/2019 [^] [ответить]    [к модератору]  
  • –2 +/
    У меня, напр, нет ни одного монитора FullHD - все меньшие. Про 4К даже не мечтаю.
     
  • 2.14, анонимный аноним (ok), 16:10, 05/03/2019 [^] [ответить]    [к модератору]  
  • –2 +/
    >каков % охвата ПК стимом?

    намного больше чем 2 процента у линуксоидов.

     
  • 2.34, Ivan_83 (ok), 05:12, 06/03/2019 [^] [ответить]    [к модератору]  
  • –1 +/
    4.1 - это коредуо, ему уже лет 12.
    В огрызках от него 4.1 нет.
    Что там дальше было я хз, думаю 4.2 уже было даже в интельных огрызках года 2012.
     
  • 1.2, Аноним (-), 13:13, 05/03/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • –3 +/
    > Код проекта написан на языке Си (C99) с ассемблерными вставками (NASM/GAS) и распространяется под лицензией BSD.

    А как же аналогичная поделка от Мозилы на ржавчине? Почему с ней не сравнили?

     
     
  • 2.6, Аноним (4), 13:59, 05/03/2019 [^] [ответить]    [к модератору]  
  • +/
    Она заглушка пока dav1d не дозрел, политика партии.
     
  • 2.7, nobody (??), 14:01, 05/03/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    Потому что все бы увидели, какие реализации на C .... НЕ БЕЗОПАСНЫЕ! 0_0
     
  • 2.8, thresh (??), 14:50, 05/03/2019 [^] [ответить]    [к модератору]  
  • +5 +/
    Потому что rav1e -- это кодировщик, а не декодер.
     
     
  • 3.10, Аноним (-), 15:44, 05/03/2019 [^] [ответить]    [к модератору]  
  • +/
    По принципу "чукча не читатель, чукча - писатель"?
     
     
  • 4.15, thresh (??), 16:11, 05/03/2019 [^] [ответить]    [к модератору]  
  • +/
    Ну да, сложно же сравнивать то, что кодирует в AV1 и то, что декодирует.  Насколько мне известно, наиболее прилично сейчас работает SVT-AV1.
     
  • 1.9, q22343465236 (?), 15:28, 05/03/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    SSE4.2?
     
  • 1.11, q22343465236 (?), 15:59, 05/03/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +1 +/
    Мне так ответили.
    dav1d does not yet have sse4, it will at some point later (probably), but not today,
    dav1d uses ssse3 instructions on sse4 machines,
    libaom has actual sse4 implementations
     
  • 1.12, Аноним (12), 16:06, 05/03/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • –5 +/
    Т.е. теперь чтобы глянуть видео на тытрубе нужен будет только свежий проц со всеми этими SSE3-4-5-6? Ура отделу маркетинга.
     
     
  • 2.13, thresh (??), 16:10, 05/03/2019 [^] [ответить]    [к модератору]  
  • +4 +/
    Где вы взяли процессор без поддержки SSSE3, вот в чем вопрос.
     
     
  • 3.28, Аноним (12), 19:56, 05/03/2019 [^] [ответить]    [к модератору]  
  • –1 +/
    Вообще да, проверил проц 2007го года: есть SSE2 + SSSE3.

    > SSSE3 was first introduced with Intel processors based on the Core microarchitecture on June 26, 2006 with the "Woodcrest" Xeons.

     
     
  • 4.30, Аноним (4), 21:16, 05/03/2019 [^] [ответить]    [к модератору]  
  • +/
    Да тут у многих 2006, из разных тем впечатление вынес.
     
  • 3.37, Аноним (37), 09:06, 06/03/2019 [^] [ответить]    [к модератору]  
  • –1 +/
    На феномах этого набора нет.
     
  • 2.16, Annoynymous (ok), 16:20, 05/03/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    Если ты хочешь смотреть 8К видео — да.

    360p хватит всем.

     
  • 2.21, Аноним84701 (ok), 17:27, 05/03/2019 [^] [ответить]     [к модератору]  
  • +1 +/
    Увы, придется сменить любимый пень III на новомодную четвертую поделку да еще и... весь текст скрыт [показать]
     
     
  • 3.22, Crazy Alex (ok), 18:02, 05/03/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    Что за глас из каменного века?
     
  • 3.35, Ivan_83 (ok), 05:19, 06/03/2019 [^] [ответить]     [к модератору]  
  • –1 +/
    Я любимый п3 сменил в январе 2008 года, потому что киношку в 720p и каком то сов... весь текст скрыт [показать]
     
  • 2.23, Аноним (23), 18:10, 05/03/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    А то что до этого использовались (и видимо прододают) инструкции AVX2 которые только Haswell+ вас не смутило?
     
  • 2.33, адмирал третьего флота очевидно (?), 04:14, 06/03/2019 [^] [ответить]    [к модератору]  
  • +/
    ещё лет 10 тебе хватит поддержки vp9 а потом мир будет совсем другим..

    ну а AV1 в основном потребуется для стриминга какого-нить 8к контента в онлайн кинотеатре на твой телек или мобилку..

     
  • 1.24, Андрей Ситник (?), 18:15, 05/03/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • –3 +/
    О, как вовремя я свою инструкцию про использование AV1 в браузере перевёл на русской.

    Как по ней начнут внедрять AV1-видео, уже может dav1d в браузеры добавлят.

     
     
  • 2.25, Андрей Ситник (?), 18:16, 05/03/2019 [^] [ответить]    [к модератору]  
  • –6 +/
    https://habr.com/ru/post/442020/
     
     
  • 3.31, Аноним (31), 01:19, 06/03/2019 [^] [ответить]    [к модератору]  
  • +3 +/
    Ссылки на богопротивный х-бр теперь и на православном опеннетике.

    Дожили.

     
     
  • 4.36, Аноним (36), 06:20, 06/03/2019 [^] [ответить]    [к модератору]  
  • +/
    А где еще получить столько благодарных читателей?
     
  • 4.38, Аноним (4), 15:15, 06/03/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    Типичная хабравода.
     
  • 1.39, Obito (?), 08:42, 07/03/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Проверил на своём i5-2520m.
    По сравнению с dav1d 0.1.1 прирост 50%. С 8-ю потоками похоже реально в 2 раза быстрее будет.

    Но это такие вот результаты:
    1080p 60 кадров в секунду
    dav1d 0.1.1 - 17 fps
    dav1d 0.2 SSEE3 или SSE4.1 - 26 fps
    dav1d 0.2 SSE2 - 15 fps
    Для этого же видоса но в 30 кадров в секунду fps будет по ниже.

    Цитата: "В целом dav1d теперь обеспечивает производительность, достаточную для декодирования видео 1080p с частотой 30 кадров в секунду практически на любых процессорах с поддержкой SSSE3"
    Ну если "любые" процессоры - это начиная с i5-2xxx или i3-4xxx, то да будет тянуть.

    Теперь запилили бы поддержку AVX, кто AVX2 есть а просто AVX нет.
    Но возможно от простых AVX и прироста нет.

     
  • 1.41, другие нищеброды (?), 09:03, 08/03/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    итого достижений: кое-как получили 30fps fhd на не самом похабном железе не 2008го ни разу года.

    Ау, дорогие ди6илоиды - догадываетесь, о чем я хочу вас спросить? Правильно: а нахрен ваша супер-оптимизированная с наимоднейшими ssssssssssseeeeeeee3 поделка нужна, когда смысл мега-супер-пупер-кодека исключительно в его способности не слишком портить 4k и выше с 60fps и выше, и не вернуться ли вам обратно в школку, в которой вы недоучились?

    а для 30 и даже 60 fhd - mp4 вполне достаточен и рвет ваши поделки как тузик грелку при совершенно неотличимым _глазами_ (я понимаю, вы-то, страдая врожденным п-доглазием, никогда не сравниваете визуально, полагаясь на высосанные из пальца автотесты на ненужно-видео-с-кроликом) результатах.

    впрочем, гугля уже не остановить, конечно. :-(

     
     
  • 2.42, Obito (?), 10:20, 08/03/2019 [^] [ответить]    [к модератору]  
  • +2 +/
    А вы то сами сравнивали визуально?

    Я вот сам кодировал в av1 и сравнивал его с h264 и h265.
    И у av1 всё таки более детальная картинка получается при одинаковом битрейте.
    А эти psnr и ssim метрики в основном дичь показывают.

    >> "смысл мега-супер-пупер-кодека исключительно в его способности не слишком портить 4k и выше с 60fps и выше"

    Вот только сейчас такой поток вы ни на чём не сможете декодировать со скоростью этих 60fps.

     
     
  • 3.44, . (?), 13:37, 10/03/2019 [^] [ответить]    [к модератору]  
  • +/
    > А вы то сами сравнивали визуально?

    нет, у меня нет лишних ста лет жизни ждать пока оно все покодируется с (не иначе - за другие сто лет подобранными) единственно-верными параметрами.

    те демо-ролики, которые легкодоступны - посмотрел, чудес на 4k не увидел, больше мне без надобности.

    > Вот только сейчас такой поток вы ни на чём не сможете декодировать со скоростью этих 60fps.

    /me удивленно крутит в руках копеечную китайскую action camera с "таким" потоком (поток, правда, не в fps'ах а в bps'ах, ну каков вопрос, такой и ответ) - а я и не знал.  Нет, видео с ее флэшки вполне воспроизводит посредственный десктопный компьютер прошлого десятилетия. Ну да, видеокартой, чем еще.

     
     
  • 4.45, Obito (?), 13:57, 10/03/2019 [^] [ответить]    [к модератору]  
  • +1 +/
    > те демо-ролики, которые легкодоступны - посмотрел, чудес на 4k не увидел

    А они есть в h264, h265 кодеках с таким же битрейтом, чтобы сравнить?
    Если нет, то как вы можете говорить о качестве кодека не сравнивая с другими?

    > больше мне без надобности

    Ну если вам не нужно, то это не значит, что другим это не нужно.
    Я бы вообще спокойно смотрел видосы в h264 кодеке и с битрейтом 60-80 мбит.
    Вот только youtube что-то шакалит 4к видос до битрейта 13-17 мбит.

    > крутит в руках копеечную китайскую action camera с "таким" потоком

    И давно такие камеры могут av1 кодировать/декодировать? Я вот что-то таких не видел.
    Через года 2-3 может будут такие, а может и нет.

     
     
  • 5.49, пох (?), 11:58, 11/03/2019 [^] [ответить]     [к модератору]  
  • +/
    а смысл, если чуда-то не видно банально- органолептической оценкой Иначе зачем... весь текст скрыт [показать]
     
     
  • 6.52, Obito (ok), 12:39, 11/03/2019 [^] [ответить]     [к модератору]  
  • +/
    Потому-что качество хорошее Как раз таки ещё как выжать Специально это проверял... весь текст скрыт [показать]
     
     
  • 7.54, пох (?), 15:58, 12/03/2019 [^] [ответить]     [к модератору]  
  • +/
    а, понятно, да, там всякие острые края и резкие переходы, которых алгоритм не лю... весь текст скрыт [показать]
     
  • 6.53, Obito (ok), 13:22, 11/03/2019 [^] [ответить]    [к модератору]  
  • +/
    > Иначе зачем вы теряете гигаватты и месяцы на перекодирование, если разницу заметить можно только попиксельным наложением картинок?

    Никакие гигаватты и месяцы я не тратил, я кодировал в av1 с каким-то средненьким пресетом. При этом в h264 и h265 я кодировал с пресетом slower. В h265 при этом закодировалось только раза в 3-4 быстрее, а не в 10 раз как по некоторым тестам.
    И разницу в качестве видно даже при последовательном просмотре двух видосов.

    > Больше из тех исходников, что им запихивают, не выжать.

    При любом перекодировании с потерями ухудшается качество.
    Даже если взять видос 1080р с битрейтом 10 мбит и перекодировать его тем же кодеком, но в 30 мбит, то качество всё равно будет хуже чем у оригинала.

    В идеале нужно показывать закодированное с потерями видео как есть, а не перекодировать его второй, третий и т.д. раз.
    Или чтобы камера кодировала без потерь, но это битрейт примерно 300-400 мбит(с цветом 4.2.0 150-250 мбит) при 1080р разрешении и 30 кадрах в секунду. Так кодируют только топовые студийные камеры.

     
  • 4.46, Obito (?), 14:04, 10/03/2019 [^] [ответить]    [к модератору]  
  • +/
    > поток, правда, не в fps'ах а в bps'ах

    Это про скорость декодирования, а не битрейт видео

     
     
  • 5.50, пох (?), 12:00, 11/03/2019 [^] [ответить]    [к модератору]  
  • +/
    >> поток, правда, не в fps'ах а в bps'ах
    > Это про скорость декодирования, а не битрейт видео

    так скорость-то от битрейта зависит.
    декодер же не кадры отрисовывать не успевает, а эти ваши 60mbit через себя просасывать.

     
     
  • 6.51, Obito (ok), 12:07, 11/03/2019 [^] [ответить]    [к модератору]  
  • +/
    > так скорость-то от битрейта зависит.

    От битрейта она очень слабо зависит.
    Взять тот же h264 с битрейтом 100 мбит и он декодируется быстрее чем av1 с битрейтом 6 мбит


     
  • 2.43, Аноним (43), 14:05, 09/03/2019 [^] [ответить]    [к модератору]  
  • –2 +/
    > mp4 вполне достаточен

    Mp4 это контейнер, а не кодек. Кому в школку пора?

     
  • 1.47, q22343465236 (?), 20:50, 10/03/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Для меня: если битрейт 6000-12000 Килобит/сек. то и видео закодированое через MPEG-2 выглядит так, что только если придиратся или не отлечимо. Остаётся приимущество только размер. Повышение цветовой передачи до 10, 12 bit для меня значения не имеет.
     
     
  • 2.48, q22343465236 (?), 20:53, 10/03/2019 [^] [ответить]    [к модератору]  
  • +/
    Остаётся приимущество у новых кодеков для меня только размер видео файла.
     
  • 1.55, Kuromi (ok), 01:11, 13/03/2019 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Firefox оперативненько перешел на dav1d с libaom (правда пока только под виндоус) - https://bugzilla.mozilla.org/show_bug.cgi?id=1533742
     

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


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