The OpenNET Project / Index page

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

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

01.05.2019 09:49

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

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

В новой версии добавлены дополнительные оптимизации для ускорения декодирования видео при помощи инструкций 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, запланирован переход на dav1d перекодировщика Handbrake.

Напомним, что видеокодек 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. Главная ссылка к новости (https://medium.com/@ewoutterho...)
  2. OpenNews: Второй выпуск dav1d, декодировщика AV1 от проектов VideoLAN и FFmpeg
  3. OpenNews: Intel открыл кодировщик видео AV1, оптимизированный для перекодирования на лету
  4. OpenNews: VideoLAN и FFmpeg разработали новый декодировщик для видеокодека AV1
  5. OpenNews: Sisvel формирует патентный пул для сбора отчислений за использование кодеков AV1 и VP9
  6. OpenNews: Альянс AOMedia опубликовал заявление, касающееся попыток сбора отчислений за AV1
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/50605-dav1d
Ключевые слова: dav1d, av1
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (71) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Ъ (?), 09:59, 01/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > Работа библиотеки протестирована на большой коллекции файлов в формате AV1
    > Feels Like Summer

    Хайповые парни

     
  • 1.2, VINRARUS (ok), 10:09, 01/05/2019 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –9 +/
     
     
  • 2.3, Аноним (3), 10:15, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +7 +/
     
     
  • 3.17, Аноним (17), 12:04, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +5 +/
     
     
  • 4.60, Канделябры (?), 22:48, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 3.25, asdasd (?), 12:59, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
  • 2.5, freehck (ok), 10:48, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • –6 +/
     
     
  • 3.10, VINRARUS (ok), 11:36, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.6, Аноним (6), 10:50, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +6 +/
     
     
  • 3.14, ыы (?), 11:59, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +4 +/
     
     
  • 4.61, Канделябры (?), 22:49, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 3.72, freehck (ok), 14:12, 02/05/2019 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.7, KhabMan (ok), 10:51, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 3.12, VINRARUS (ok), 11:44, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
  • 3.15, ыы (?), 12:00, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 2.8, АнОним (?), 11:10, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 3.11, VINRARUS (ok), 11:38, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
     
  • 4.13, АнОним (?), 11:47, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 5.16, VINRARUS (ok), 12:01, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 6.62, Канделябры (?), 22:51, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 6.70, VladSh (?), 12:01, 02/05/2019 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.18, Аноним (17), 12:07, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 5.20, ыы (?), 12:09, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 5.23, VINRARUS (ok), 12:18, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 5.44, Gannet (ok), 16:02, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.43, Аноним (-), 15:50, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.9, Аноним (9), 11:28, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 3.19, Аноним (17), 12:09, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +2 +/
     
     
  • 4.33, Дон Ягон (?), 14:48, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • –3 +/
     
  • 4.63, Канделябры (?), 22:54, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • –3 +/
     
  • 3.21, VINRARUS (ok), 12:11, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 4.52, Аноним (52), 18:29, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 3.24, Аноним (24), 12:40, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.28, Ordu (ok), 13:41, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +3 +/
     
     
  • 3.30, VINRARUS (ok), 14:25, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
     
  • 4.31, Ordu (ok), 14:38, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 5.32, VINRARUS (ok), 14:43, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 6.36, Ordu (ok), 15:06, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 7.38, VINRARUS (ok), 15:11, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
     
  • 8.50, Ordu (ok), 17:02, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 9.64, Канделябры (?), 23:00, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 6.37, Ordu (ok), 15:07, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 7.39, VINRARUS (ok), 15:14, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
  • 7.46, Дон Ягон (?), 16:16, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 7.53, Аноним (52), 18:31, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 6.71, VladSh (?), 12:06, 02/05/2019 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.29, commiethebeastie (ok), 13:53, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 3.34, Аноним (34), 14:50, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
     
  • 4.45, Gannet (ok), 16:06, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 5.57, Аноним (57), 21:21, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 2.35, Дон Ягон (?), 14:56, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 3.40, VINRARUS (ok), 15:16, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
     
  • 4.41, Дон Ягон (?), 15:33, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
     
  • 5.42, Аноним (42), 15:45, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • –3 +/
     
  • 5.59, анон (?), 22:45, 01/05/2019 Скрыто ботом-модератором     [к модератору]
  • –4 +/
     
  • 2.67, Нанобот (ok), 09:19, 02/05/2019 Скрыто ботом-модератором     [к модератору]
  • +/
     

     ....ответы скрыты (54)

  • 1.47, Аноним (47), 16:24, 01/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    а нагрузка на процессор и энергопотребление тоже выросли?
     
  • 1.48, gcc (??), 16:30, 01/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Писать на asm - мартышкин труд.
     
     
  • 2.54, Аноним84701 (ok), 19:37, 01/05/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Писать на asm - мартышкин труд.

    Я правильно понимаю, что ссылка на вашу версию, с такой же (или более высокой) производительностью и без этих глупых асм вставок, отсутствует лишь из соображений скромности?


     
     
  • 3.68, InuYasha (?), 11:16, 02/05/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Анон намекал на то, что в современном мире от ассемблерных вставок чаще копеечный выигрыш и более весомые проблемы с переносимостью на другие процессоры.
     
     
  • 4.69, Аноним84701 (ok), 11:44, 02/05/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >  более весомые проблемы с переносимостью на другие процессоры

    Э-э, а зачем переносить код для AVX2 на процессор без поддержки AVX2?

    > Анон намекал на то, что в современном мире от ассемблерных вставок чаще
    > копеечный выигрыш и более весомые проблемы с переносимостью на другие процессоры.

    С одной стороны - есть, с многозначительным и мудрым видом, намекающие на тайные знания аноны.
    С другой стороны, конкретные авторы конкретного софта с вполне конкретным результатом говорят:
    > By hand-writing SSSE3 and NEON assembly code, most of the C functions were sped up by factors ranging anywhere from 2 to 20, resulting in hugely higher frame rates.

    https://medium.com/@ewoutterhoeven/dav1d-0-2-0-covering-all-pcs-including
    Как и наличие таких же вставок в AOM или том же glibc:
    https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/x86_64/multiarch/memc
    https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/x86_64/multiarch/memc

    Но анонам, как обычно виднее, что и как лучше и правильнее делать, а пруфы для них совсем не обязательны, ведь "это знают все", нэ? :)

     
     
  • 5.74, Аноним84702 (?), 18:47, 02/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В фразе "hand-writing SSSE3 and NEON assembly code", та часть, что использует SIMD инструкции даёт ускорение от 3 до 30 раз (по сравнению с обычной Си реализацией где быть может не особо об оптимизациях и думали!), а вот вручную писанный ассемблерный код может быть только замедляет в полтора раза... Не нужно думать, что один мегаразработчик знает работу процессора и компьютера в целом лучше чем тысяча разработчиков компилятора. Зато его понтовый код где дикая смесь макросов и директив предпроцессора сможет сопровождать только он и быть может ещё пара странных личностей (в смысле без 100 грамм в таком коде не разберёшься). А всё потому, что кто когда давным давно столкнулся с багом в gcc и теперь боится использовать SIMD интринсики.
     
     
  • 6.75, zzz (??), 20:27, 02/05/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >Не нужно думать, что один мегаразработчик знает работу процессора и компьютера в целом лучше чем тысяча разработчиков компилятора

    Разработчик софта, в отличие от разработчика компилятора, в целом лучше знает механику своего кода.

     

  • 1.49, Kuromi (ok), 16:52, 01/05/2019 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

     ....ответы скрыты (4)

  • 1.51, Анимайзер (?), 18:08, 01/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Что там слышно о судьбе тролля, который наехал на альянс Open Media и затребовавшего отчислений за AV1? Юристы всех компаний, входящих в альянс, объединились, чтобы дать по губам наглого тролля? Или всё совсем плохо и дело-труба?
     
     
  • 2.56, Аноним84701 (ok), 20:29, 01/05/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Что там слышно о судьбе тролля, который наехал на альянс Open Media
    > и затребовавшего отчислений за AV1? Юристы всех компаний, входящих в альянс,
    > объединились, чтобы дать по губам наглого тролля? Или всё совсем плохо и дело-труба?

    Подтвердили намерения (защищать право на royality-free)
    https://aomedia.org/the-alliance-for-open-media-statement/
    Юристы в предвкушении роют копытами землю – новая шубка жене, колечко с камешком любовнице и Гарвард с Оксфордами детям сами себя не оплатят!
    (по этим же причинам не следует так быстро ожидать результатов – судебные процессы дело не быстрое. Не зря же  "откупные"  у тролля были в 0.32€ за устройство – чтобы был соблазн плюнуть на судебную тяжбу и результат "когда-то потом" и просто заплатить).

     

  • 1.76, Аноним (76), 15:55, 06/05/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "все заявленные в спецификации параметры управления глубиной цвета (8, 10 и 12 бит)"
    При современных тенденциях для мониторов в 6bit + мерцание ;)
     

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



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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