The OpenNET Project / Index page

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

Компания NVIDIA выпустила библиотеку libvdpau 1.2

01.03.2019 10:16

Спустя три года с момента публикации прошлого выпуска разработчики из компании NVIDIA представили libvdpau 1.2, новую версию открытой библиотеки с поддержкой API VDPAU (Video Decode and Presentation) для Unix. Библиотека VDPAU позволяет задействовать механизмы аппаратного ускорения для обработки видео в форматах h264, h265 и VC1. Сначала поддерживались только GPU от NVIDIA, но впоследствии появилась поддержка открытых драйверов Radeon и Nouveau. VDPAU позволяет GPU взять на себя такие задачи, как пост-обработка, слияние (compositing), отображение и декодирование видео. Дополнительно развивается библиотека libvdpau-va-gl с реализацией VDPAU API на базе OpenGL и технологии аппаратного ускорения Intel VA-API. Код libvdpau распространяется под лицензией MIT.

Кроме исправления ошибок в libvdpau 1.2 реализована поддержка новых типов цветовой субдискретизации (chroma type) для кадров и полукадров (полей), добавлен API VdpDecoderQueryProfileCapability и обеспечена поддержка режима компоновки цвета 4:4:4 для формата HEVC.

  1. Главная ссылка к новости (https://lists.x.org/archives/x...)
  2. OpenNews: Компания NVIDIA выпустила библиотеку libvdpau 1.0 с поддержкой HEVC/H.265
  3. OpenNews: Компания NVIDIA выпустила opensource библиотеку для реализации поддержки VDPAU API
  4. OpenNews: NVIDIA объявила о поддержке открытого стандарта FreeSync/VESA Adaptive-Sync
  5. OpenNews: Доступны графические интерфейсы для разгона видеокарт NVIDIA и AMD
  6. OpenNews: Выпуск проприетарного драйвера NVIDIA 418.43
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/50226-vdpau
Ключевые слова: vdpau
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (40) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Anonim (??), 11:08, 01/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Когда же реализуют в браузерах аппаратное ускорение в Linux?
     
     
  • 2.3, Аноним (3), 11:19, 01/03/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    ...спустя еще 3 года
     
  • 2.5, Zenitur (ok), 11:23, 01/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    https://launchpad.net/~saiarcot895/+archive/ubuntu/chromium-dev

    Только здесь не VDPAU, а VA-API. Поэтому, если у вас NVIDIA, то запускайте через враппер. Ну, который VDPAU backend for VA-API

        export LIBVA_DRIVER_NAME=vdpau
        chromium-browser

     
     
  • 3.11, Ан (??), 13:08, 01/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Поэтому, если у вас NVIDIA, то запускайте через враппер. Ну, который VDPAU backend for VA-API

    Вы здесь ничего не напутали? Зачем для NVIDIA backend for VA-API?

    В Арче, кстати, уже https://bbs.archlinux.org/viewtopic.php?id=244031.

     
     
  • 4.13, Zenitur (ok), 13:23, 01/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Если у вас заболела голова от обилия врапперов, то уточню, что их два. В обе стороны, так сказать.

    * Если вы пытаетесь запустить приложение, которое поддерживает только VA-API (а у вас NVIDIA) - то враппер, позволяющий получить желание, доступен прямо в коде библиотеки libva. Пример такого приложения - Chromium (пруф - у тебя по ссылке: extra/chromium is now being compiled with VA-API support)

    * А если вы пытаетесь запустить приложение, которое поддерживает только VDPAU, (а у вас Intel) - то враппер доступен отдельно под названием libvdpau-va-gl. Пример такого приложения - Flash для Linux

    P.S. Мне интересно, а что будет, если пустить один враппер в другой?

    export LIBVA_DRIVER_NAME=vdpau
    export VDPAU_DRIVER=va_gl
    mplayer filename.mp4

     
  • 4.17, iPony (?), 14:45, 01/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, он не напутал
    https://packages.ubuntu.com/bionic/vdpau-va-driver
    https://wiki.archlinux.org/index.php/Chromium#Hardware_video_acceleration
     
  • 2.12, Fff (?), 13:10, 01/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Собираешь ungoogled-chromium с поддержкой системного ffmpeg, который собираешь в свою очередь с поддержкой аппаратного ускорения. И всё работает (для h264, vp9 пока нет).
     
     
  • 3.18, Анонимс (?), 15:18, 01/03/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Разработчики Firefox утверждали, что в Linux без специального API невозможно запилить аппаратное ускорение видео в браузерах!?
     
     
  • 4.19, НяшМяш (ok), 15:43, 01/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Аппаратное ускорение - это не только аппаратное декодирование, а и аппаратный вывод на экран. Видимо, у мозилловцев как раз с последним проблемы.
     
  • 2.40, iFRAME (ok), 08:12, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Тем временем в винде достаточно просто установить свой любимый браузер и все работает из коробки :)
     

  • 1.2, Аноним (2), 11:15, 01/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А поддержку декодирования HEVC 10bit через vdpau так и не запилили! Чо тут сказать - молодцы!
     
     
  • 2.4, Аноним (3), 11:20, 01/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    еще 3-4 года и все будет
     
  • 2.22, Stax (ok), 16:59, 01/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Они же ясно сказали, что для этого надо использовать NVDEC/CUVID. А VDPAU это так, легаси, реальной разработки там больше не ведется (собственно, от него из-за этого стали отказываться, например из последнего Kodi выпилили...).
    mpv --hwdec=nvdec - все будет работать. В ffmpeg тоже поддержка есть. В gstreamer вроде тоже было.

    НВидии не нравилось поддерживать под каждую платформу свою реализацию, в т.ч. линукс-специфичный VDPAU, поэтому сделали переносимый NVDEC, та же самая реализация работает и под оффтопиком, и под линуксом. Т.е. как бы DXVA2 и VDPAU соответственно все еще работают, но в NVDEC больше фич и рекомендуют именно его для всего использовать.

     
     
  • 3.30, Brusco (?), 04:53, 02/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А как это NVDEC задействовать в Хромиуме?
     
     
  • 4.34, Stax (ok), 13:30, 02/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А как это NVDEC задействовать в Хромиуме?

    Пока вот такая ситуация будет сохраняться https://www.omgubuntu.co.uk/2018/10/hardware-acceleration-chrome-linux - думаю, никак.

    В хромиуме также поддержка VA-API неофициальная и неподдерживаемая. Боюсь, им просто плевать на линукс. Баг с 2015 года почти без прогресса: https://bugs.chromium.org/p/chromium/issues/detail?id=463440

    Так что это проблема не NVDEC, а разработчиков хромиума...

     
     
  • 5.35, soarin (ok), 14:48, 02/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Так что это проблема не NVDEC, а разработчиков хромиума...

    А это уже проблемы шерифов и всё такое.
    Под Windows и macOS вполне работают единые API для разных производителей.
    Под ChromeOS работает опять же единый VAAPI для Intel.

    А вот NVDEC требует Nvidia 630 или новее. И по крайней мере пока никакого толка не принесёт в реализации.

     
     
  • 6.38, Stax (ok), 23:40, 02/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Так что это проблема не NVDEC, а разработчиков хромиума...
    > А это уже проблемы шерифов и всё такое.
    > Под Windows и macOS вполне работают единые API для разных производителей.
    > Под ChromeOS работает опять же единый VAAPI для Intel.

    Ну, что тут поделаешь.

    Хотя иметь реализацию VA-API через NVDEC было бы весьма неплохо, наверное.

    > А вот NVDEC требует Nvidia 630 или новее. И по крайней мере
    > пока никакого толка не принесёт в реализации.

    Эээ. Не вижу проблемы. NVidia 630 это 2012 год. Предыдущее 500 поколение (которое не будет работать) - 2010 год. Да, карты 9-ти летней давности плохо совместимы с современными стандартами, тут ничего удивительного. Срок поддержки видеокарт не такой большой, как у процессоров.

    (да и даже запустив на том же 630, декодировать современные стандарты все равно не выйдет - ну не было тогда таких кодеков в железе!)

     
  • 5.36, soarin (ok), 14:58, 02/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну и ещё приведу цитату с Wiki MPV:

    The cuda and cuda-copy modes provides deinterlacing in the decoder which is useful as there is no other deinterlacing mechanism in the opengl output path. To use this deinterlacing you must pass the option:  vd-lavc-o=deint=[weave|bob|adaptive]. Pass weave (or leave the option unset) to not attempt any deinterlacing. cuda should always be preferred unless the gpu vo is not being used or filters are required.

    nvdec is a newer implementation of CUVID/CUDA decoding, which uses the FFmpeg decoders for file parsing. Experimental, is known not to correctly check whether decoding is supported by the hardware at all. Deinterlacing is not supported. Since this uses FFmpeg's codec parsers, it is expected that this generally causes fewer issues than cuda.

     
     
  • 6.39, Stax (ok), 23:41, 02/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну и ещё приведу цитату с Wiki MPV:
    > nvdec is a newer implementation of CUVID/CUDA decoding, which uses the FFmpeg
    > decoders for file parsing. Experimental, is known not to correctly check
    > whether decoding is supported by the hardware at all. Deinterlacing is
    > not supported. Since this uses FFmpeg's codec parsers, it is expected
    > that this generally causes fewer issues than cuda.

    Ну тут уж без разницы. CUVID суть то же самое, можно и его использовать. Главное что не VDPAU.

     
     
  • 7.41, iZEN (ok), 22:26, 05/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    CUVID/CUDA не работает на FreeBSD (хотя библиотеки вместе с драйвером nvidia-driver для линуксатора можно поставить), а VDPAU работает — уменьшает процессорозависимость при воспроизведении видео в MPV/ffmpeg явно.
     
     
  • 8.42, Stax (ok), 01:07, 06/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, в описании драйвера для FreeBSD NVDEC вроде как упоминается https devtalk... текст свёрнут, показать
     

  • 1.7, Аноним (7), 12:00, 01/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Поддержку wayland ещё не запилили? А то vaapi умеет.
     
     
  • 2.44, Аноним2019 (?), 09:14, 13/04/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А чего так много минусов? Нативно оно до сих пор не работает.
     

  • 1.8, Zenitur (ok), 12:19, 01/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    libvdpau-va-gl был просто бомбой. Эффект в зарубежном интернете был просто бомбическим!

    Суть в том, что YouTube работал через Flash Player. А версия Flash Player для Linux умела только VDPAU. А VDPAU в то время работал исключительно с GPU от NVIDIA. Обидно немного. То есть, пользователи ATi и Intel были "в пролёте".

    Как правило, NVIDIA стояла в больших стационарных компьютерах, на которых проц и так тянул YouTube. А на ноутах, как правило, стояли Intel HD 3000 или Mobility Radeon 4250. Такие ноуты как раз и не тянули YouTube, поэтому было бы здорово, если бы этим занялся GPU. Поэтому у Adobe очень просили поддержку VA-API (для ATi и Intel), но они отвечали, что весь "зоопарк" они поддерживать не намерены.

    В 2012 году программист из Уфы написал враппер, позволяющий флешу работать поверх VA-API. Сам флеш думал, что работает с VDPAU, а враппер транслировал вызовы в libva.so. Когда я установил libvdpau-va-gl на свой нетбук, YouTube стал очень плавным. А на зарубежных форумах (я сужу по Reddit) вообще была эйфория!

    В 2016 году YouTube начал использовать HTML5 для воспроизведения видео, поэтому аппаратное ускорение FullHD в браузерах в линуксе опять перестало работать. Ни на NVIDIA, ни на AMD - ни на чём. Впрочем, за эти годы пользователи обновили свои ноутбуки, и CPU на них тянет YouTube

     
     
  • 2.10, iPony (?), 12:47, 01/03/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Впрочем, за эти годы пользователи обновили свои ноутбуки, и CPU на них тянет YouTube

    Ну-ну. Возьми ноутбук с этак 4К экраном и посмотри как на нём будет vp9@4K играться на CPU. Может и будет, но точно с воем кулеров.

     
     
  • 3.24, Аноним (24), 17:42, 01/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Это у них традиция такая
    flash -> html5 h264 -> vp9 (вместо h265 у которого уже тогда было аппаратное декодирование почти везде) -> скоро av1 будет
     
     
  • 4.25, iPony (?), 19:18, 01/03/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В смысле на новом железе?
    Это Nvidia 960 и новее. Это этак 2015 год.

    h265 не поддержали по лицензионным соображениям. Он весьма дорогой.

     
     
  • 5.28, Аноним (24), 23:21, 01/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    H265 в 2015(у амд в 2014)получил поддержку а VP9 до сих пор на видеокартах амд не имеет аппаратного декодирования(есть только ускорение  т.е. процессор будет загружен 50-70% на 4к видео)
     
     
  • 6.29, Stax (ok), 02:37, 02/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Я вот точно помню, что актуальный H.265 (10bit, с Blu-ray) появился на AMD значительно позже НВидии, к сожалению :( В конце 2016 года только.

    Вот сама крутая карта от AMD на середину 2016 года (Fury X):
    $ vdpauinfo |grep HEVC
    HEVC_MAIN                      186 65536  4096  4096
    HEVC_MAIN_10                   --- not supported ---
    HEVC_MAIN_STILL                --- not supported ---
    HEVC_MAIN_12                   --- not supported ---
    HEVC_MAIN_444                  --- not supported ---

    от этого HEVC_MAIN толку как с козла молока, т.к. по факту неофициальные рипы в него чаще всего 10bit, а уж официальные в стандарте UHD Blu-ray так и подавно HEVC_MAIN_10 по определению.

    Ситуация исправилась только с выходом RX 460 в конце 2016.

    А у нвидии еще в 2015 году вышли 950/960 GTX, прекрасно умеющие 10 bit.

     
     
  • 7.32, Аноним (24), 12:16, 02/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Проглядел, на вики было написано про АMD APU а не про GPU

    1060 и 1050 у нвидии в 10bit VP9 кстати тоже не может

     
     
  • 8.33, Stax (ok), 13:24, 02/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Да и с APU тоже поздно 10bit HEVC внедрили - Только когда мобильная вега вышла... текст свёрнут, показать
     
     
  • 9.37, Аноним (37), 15:51, 02/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Первая ссылка в поиске https www youtube com watch v tO01J-M3g0U ... текст свёрнут, показать
     
  • 2.14, Аноним84701 (ok), 13:49, 01/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Как правило, NVIDIA стояла в больших стационарных компьютерах, на которых проц и
    > так тянул YouTube. А на ноутах, как правило, стояли Intel HD 3000 или Mobility Radeon 4250. Такие ноуты как раз и не тянули YouTube,

    За мобилити не скажу, но чтобы мобильный SandyBridge не тянул тытрубу? Крутая лапша, хорошо на ушах висит :)
    (у меня трубу тянул еще core2duo с T5xxx, причем вплоть до 2014-2015 -- потом отправился в почетную отставку по причине окночательного просаживания подсветки экрана (ССFL, да и единственный выход интеловой интеграшки был VGA). А уж мобильный Arrandale вполне тянет FullHD полностью софтово, с тем же modesetting и отключенным ускорением "AccelMethod none")

     
     
  • 3.20, НяшМяш (ok), 15:45, 01/03/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    FullHD 30FPS или 60FPS? Это очень большая разница.
     
     
  • 4.23, Аноним84701 (ok), 17:08, 01/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > FullHD 30FPS или 60FPS? Это очень большая разница.

    Ну вот, потестил только что
    https://www.youtube.com/watch?v=OKM--8fzDpo
    в palemon и FF, полет нормальный, никаких рывков.
    mpv



    % mpv --ytdl-format=bestvideo "https://www.youtube.com/watch?v=OKM--8fzDpo"
    Playing: https://www.youtube.com/watch?v=OKM--8fzDpo
    (+) Video --vid=1 (*) (h264 1920x1080 59.940fps)
    [vo/gpu/opengl] Suspected software renderer or indirect context


    ни одного дропа (я правда не смотрел все -- так попрыгал и проиграл секунд с 30).


    https://www.youtube.com/watch?v=1La4QzGeaaQ - (оно больше смахивает на настоящее, а не "переделанное" 60fps)
    иногда очень легкие подтормаживания в палмуне, нормально в ФФ, отлично в mpv (жрет половину CPU в mpv и 2/3+ в браузерах):




    % mpv --ytdl-format="bestvideo[height=1080]" "https://www.youtube.com/watch?v=1La4QzGeaaQ"     ;                                     
    Playing: https://www.youtube.com/watch?v=1La4QzGeaaQ
    (+) Video --vid=1 (*) (h264 1920x1080 59.940fps)
    [vo/gpu/opengl] Suspected software renderer or indirect context.



    дрова:



    Section "Device"
            Option     "AccelMethod"                "none" # <str>
            Identifier  "Card0"
            Driver      "modesetting"
            BusID       "PCI:0:2:0"
    EndSection


    ЗЫ:
    к тому же, речь вроде бы не шла о 60 fps@FullHD в 2012 ;).
    Тем более, для котиков, сериалов, да и большей части тогдашних рипов фильмов - 720p было за глаза (т.к. качество исходного материала как раз и было где-то там. Да и гонять 1920×1080 на экране 1366x768 конечно можно, "но зачем?"(c)).

     
     
  • 5.26, редстань (?), 21:13, 01/03/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а потом включаешь 2х потому что большинство видосов слишком медленные и всё накрывается
     
     
  • 6.27, Аноним84701 (ok), 22:10, 01/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > а потом включаешь 2х потому что большинство видосов слишком медленные и всё накрывается

    Ну, не знаю.
    У меня L430 с этим самым "Intel HD 3000" в качестве проигрывателя ютуба и прочего (установлен Kodi с плагинами) последние пару лет в телевизор воткнут.
    С другой стороны -- видео именно в браузере (полноценно, т.е. пару часов за раз и "FullHD") не смотрел уже пару-тройку лет -- нормальный видеоплеер все-таки для этого намного удобнее будет, да еще и (бонусом) не такой прожорливый по ресурсам, плюс может управляться через тот же коди/KDE connect с телефона,

     
  • 2.21, Анончик (?), 16:34, 01/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Кстати да. Во flash'е смогли, а тут так и не могут. Что-то здесь не так...
     
  • 2.31, leap42 (ok), 06:43, 02/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > FullHD в браузерах в линуксе опять перестало работать

    false

    Всё работает и давно. Нужен Chromium с патчами (openSUSE и Fedora поставляют такой из коробки) и рабочий VAAPI (современаня графика Intel и AMD умеет из коробки).

     

  • 1.16, Урри (?), 14:25, 01/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А где сорцы то? По ссылке только исходники враппера (vdpau_wrapper.c) с набором хаков (командную строку, например, читают через "/proc/self/cmdline").
     

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



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

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