stringtranslate.com

ВДПАУ

Video Decode and Presentation API для Unix ( VDPAU ) — это бесплатный интерфейс прикладного программирования (API), а также его реализация в виде бесплатной библиотеки с открытым исходным кодом ( libvdpau ), распространяемой по лицензии MIT . [2] VDPAU также поддерживается Nvidia . [3]

Интерфейс VDPAU должен быть реализован драйверами устройств , такими как драйвер Nvidia GeForce , nouveau , amdgpu , чтобы предложить программному обеспечению конечного пользователя, такому как медиаплеер VLC или GStreamer , стандартизированный доступ к доступному оборудованию ускорения декомпрессии видео в форме приложения . -специфические блоки интегральных схем (ASIC) на графических процессорах (GPU), таких как PureVideo от Nvidia или Unified Video Decoder от AMD , и использовать их.

VDPAU ориентирован на Unix-подобные операционные системы (включая Linux , FreeBSD , Solaris ). [4] [5] [6]

Функциональный диапазон интерфейса

VDPAU позволяет видеопрограммам получать доступ к специализированной ASIC декодирования видео на графическом процессоре, чтобы переложить части процесса декодирования видео и постобработки видео с центрального процессора на графический процессор. [7]

В настоящее время VDPAU может выгружать на графический процессор следующие части: компенсация движения (mo comp), обратное дискретное косинусное преобразование (iDCT), VLD (декодирование переменной длины) и деблокирование для MPEG-1 , MPEG-2 , MPEG-4. Видео в кодировке ASP (MPEG-4 Part 2) , H.264/MPEG-4 AVC и VC-1 , WMV3 / WMV9 . [4] Какие именно кодеки из них можно выгрузить в графический процессор, зависит от версии аппаратного обеспечения графического процессора.

История

VDPAU изначально был разработан Nvidia для блока PureVideo SIP , присутствующего в графических процессорах серии GeForce 8 и более поздних версий. [8]

9 марта 2015 года Nvidia выпустила версию VDPAU 1.0, которая поддерживает декодирование высокоэффективного видеокодирования (HEVC) для профилей Main, Main 4:4:4, Main Still Picture, Main 10 и Main 12. [9]

Драйверы устройств и видеоконтроллеры, реализующие VDPAU

VDPAU реализован в программных драйверах устройств X11 , но опирается на функции ускорения аппаратного графического процессора.

Все графические карты Nvidia, для которых драйвер реализует VDPAU, перечислены в Nvidia PureVideo . [10]

S3 Graphics добавила VDPAU в драйверы Linux своих видеокарт Chrome 400 . Начиная с версии 14.02.17 драйвера устройства Linux, VDPAU доступен с оборудованием S3 Chrome 430 GT, S3 Chrome 440 GTX, S3 Chrome 530 GT и S3 Chrome 540 GTX. [11]

ATI/AMD выпустила драйвер с открытым исходным кодом для графических карт Radeon HD 4000+ с ускорением VDPAU. [12] [13]

Intel не предлагает драйверы VDPAU, они поддерживают только свой VA-API . Однако можно использовать драйверы Intel VA-API посредством libvdpau-va-gl.

Nvidia надеется, что другие разработчики графических процессоров сделают свои продукты совместимыми с библиотекой VDPAU с открытым исходным кодом и предоставят драйверам ускорение VDPAU, указав примеры названий драйверов для конкретного оборудования для Intel и ATI: libvdpau_intel.so и libvdpau_ati.so. [14] Intel заявила, что рассматривает возможность VDPAU. [15]

SoC Sunxi ( Allwinner ) имеют экспериментальную реализацию VDPAU. [16]

Mesa начиная с версии 8.0 включает VDPAU для видеокарт, использующих Gallium3D .

Общий драйвер VDPAU

По состоянию на конец 2013 года существует независимо разработанный внутренний драйвер, который, в свою очередь, использует OpenGL (для рисования и масштабирования) и VA-API, если он доступен (для декодирования). [17] Сообщается, что он работает с некоторыми графическими процессорами Intel и Adobe Flash Player . [18]

Ускоренное масштабирование с использованием только функций OpenGL необходимо в основном из-за проигрывателя Flash Player, который использует неускоренное масштабирование, если VDPAU недоступен. Почти все другие программы для видео, работающие в Linux или FreeBSD, поддерживают Xv . Это важно для полноэкранного видео на медленных компьютерах без встроенной поддержки VDPAU.

Преобразование VDPAU в VA-API для аппаратного декодирования полезно с новейшим графическим оборудованием Intel, поскольку некоторое программное обеспечение поддерживает аппаратное декодирование через VDPAU, но не VA-API.

Программное обеспечение, поддерживающее VDPAU

VDPAU также можно использовать в качестве бэкэнда для VA-API и OpenMAX IL , которые сами по себе охватывают подмножество возможностей VDPAU; поэтому любое программное обеспечение, использующее VA-API или OpenMAX IL, также частично способно использовать VDPAU (например, медиаплеер VLC). [31]

Наборы функций Nvidia VDPAU

Наборы функций Nvidia VDPAU [32] — это различные поколения аппаратных графических процессоров, поддерживающие разные уровни возможностей аппаратного декодирования (Nvidia PureVideo). Для наборов функций A, B и C максимальная ширина и высота видео составляет 2048 пикселей , минимальная ширина и высота — 48 пикселей, а все кодеки в настоящее время ограничены максимум 8192 макроблоками (8190 для VC-1/WMV9). Частичное ускорение означает, что декодирование VLD (битового потока) выполняется на ЦП, а графический процессор выполняет только IDCT , компенсацию движения и деблокировку . Полное ускорение означает, что графический процессор выполняет все VLD, IDCT, компенсацию движения и деблокировку.

Набор функций А
Поддерживает полное ускорение для H.264 и частичное ускорение для MPEG-1 , MPEG-2 , VC-1 / WMV9.
Набор функций B
Поддерживает полное ускорение для MPEG-1, MPEG-2, VC-1/WMV9 и H.264.
Обратите внимание, что все оборудование набора функций B не может декодировать H.264 для следующих значений ширины: 769–784, 849–864, 929–944, 1009–1024, 1793–1808, 1873–1888, 1953–1968, 2033–2048 пикселей.
Набор функций C
Поддерживает полное ускорение для MPEG-1, MPEG-2, MPEG-4 Part 2 (также известного как MPEG-4 ASP) , VC-1/WMV9 и H.264.
Глобальная компенсация движения и разделение данных не поддерживаются для MPEG-4 Part 2.
Набор функций D
Аналогичен набору функций C, но добавлена ​​поддержка декодирования H.264 с разрешением до 4032×4080 и MPEG-1/MPEG-2 с разрешением до 4032×4048 пикселей.
Набор функций E
Аналогичен набору функций D, но добавлена ​​поддержка декодирования H.264 с разрешением до 4096×4096 и MPEG-1/MPEG-2 с разрешением до 4080×4080 пикселей. Графические процессоры с набором функций E VDPAU поддерживают расширенный режим маскировки ошибок, который обеспечивает более надежную обработку ошибок при декодировании поврежденных видеопотоков. [33]
Набор функций F
Представлено выделенное декодирование видео HEVC Main (8 бит), Main 10 (10 бит) и VP9 Profile 0 (8 бит) с разрешением до 4096 × 2304 пикселей. [34]
Набор функций G
Добавлена ​​аппаратная поддержка декодирования видео HEVC Main 12 (12 бит) и VP9 Profile 2 (12 бит). [34]
Набор функций H
Набор функций H обеспечивает аппаратное ускорение декодирования видеопотоков H.265/HEVC с разрешением 8192x8192 (разрешение 8k). [35]
Набор функций I
Аналогично набору функций H. [34]

Набор функций J

Набор функций J добавляет поддержку декодирования HEVC 444. [34]

Набор функций K

Набор функций K обеспечивает аппаратное ускорение декодирования видеопотоков AV1 MAIN Profile разрешением 8192x8192 (разрешение 8k) [34]

libvdpau автономная библиотека VDPAU

Автономная библиотека VDPAU libvdpau распространяется Nvidia независимо от ее проприетарного графического драйвера Linux, чтобы помочь внедрить VDPAU теми, кто не входит в Nvidia. Этот пакет библиотеки с открытым исходным кодом содержит библиотеку-оболочку и библиотеку отладки, позволяющую другим производителям реализовывать VDPAU в своих драйверах устройств. [8] [36] [37] [38]

Смотрите также

Рекомендации

  1. ^ "[VDPAU] [ОБЪЯВЛЕНИЕ] libvdpau 1.5" . Freedesktop.org . Проверено 8 марта 2022 г.
  2. ^ «Анонсируем libvdpau 0.2» . сайт freedesktop.org . 17 сентября 2009 г.
  3. ^ «GStreamer добавляет поддержку декодирования графического процессора NVDEC NVIDIA — Phoronix» .
  4. ^ аб Майкл Ларабель (14 ноября 2008 г.). «Драйвер NVIDIA добавляет функции PureVideo в Linux». Фороникс . Проверено 13 марта 2009 г.
  5. ^ Майкл Ларабель (14 ноября 2008 г.). «Бенчмарки NVIDIA VDPAU». Фороникс . Проверено 13 марта 2009 г.
  6. ^ «VDPAU: API декодирования и представления видео для Unix» . Нвидиа.
  7. ^ «Video4Linux2: путь к стандартизированному API видеокодека» (PDF) . Events.linusfoundation.org\accessdate=25 мая 2016 г.
  8. ^ ab «NVIDIA выпускает автономную библиотеку VDPAU - Phoronix» . Фороникс.
  9. Ларабель, Майкл (9 марта 2015 г.). «NVIDIA объявляет о выпуске VDPAU 1.0 с декодированием HEVC/H.265» . Фороникс . Проверено 9 марта 2015 г.
  10. ^ «Таблица поддержки PureVideo» (PDF) . Нвидия . Проверено 22 мая 2014 г.
  11. ^ «Архивная копия». Архивировано из оригинала 8 июля 2012 г. Проверено 28 февраля 2010 г.{{cite web}}: CS1 maint: архивная копия в заголовке ( ссылка )
  12. ^ «[ИСПРАВЛЕНИЕ] drm/radeon: поддержка UVD для RV710-SI» . Lists.freedesktop.org . Проверено 25 мая 2016 г.
  13. ^ «AMD выпускает поддержку видео UVD с открытым исходным кодом - Phoronix» . Фороникс . Проверено 25 мая 2016 г.
  14. ^ «VDPAU: Уровень интеграции оконной системы X11» . Скачать.nvidia.com .
  15. ^ «Intel рассматривает возможность поддержки VDPAU для драйвера X.Org - Phoronix» . Фороникс . Проверено 25 мая 2016 г.
  16. ^ «GitHub - linux-sunxi/libvdpau-sunxi: экспериментальный VDPAU для SoC Allwinner Sunxi (WiP)» . Гитхаб . Проверено 25 мая 2016 г.
  17. ^ «GitHub – i-rinat/libvdpau-va-gl: драйвер VDPAU с бэкэндом OpenGL/VAAPI» . Гитхаб . Проверено 25 мая 2016 г.
  18. ^ «Аппаратное ускорение Adobe Flash Player на видеокартах Intel» . ВебУпд8 . 5 сентября 2013 года . Проверено 25 мая 2016 г.
  19. ^ «Блог Boxee» Boxee для Windows, переходя в высшую лигу» . Архивировано из оригинала 26 июня 2009 года . Проверено 26 июня 2009 г.
  20. ^ «Новые кодеки Fluendo поддерживают VDPAU, VA-API – Phoronix» . Фороникс.com . Проверено 25 мая 2016 г.
  21. ^ Майкл Ларабель (29 ноября 2008 г.). «MythTV добавляет поддержку NVIDIA VDPAU». Фороникс . Проверено 13 марта 2009 г.
  22. ^ «XBMC для Linux VDPAU — поддержка декодирования видео NVIDIA GPU (теперь в основной версии SVN)» . Xbmc.org. Архивировано из оригинала 28 февраля 2009 г. Проверено 25 мая 2016 г.
  23. ^ «Kodi - программное обеспечение для домашнего кинотеатра с открытым исходным кодом» . Xbmc.org. Архивировано из оригинала 14 апреля 2009 г. Проверено 25 мая 2016 г.
  24. ^ «XBMC получает основную поддержку для VDPAU - Phoronix» . Фороникс.
  25. ^ «XBMC получает основную поддержку для VDPAU» . Фороникс.com . 23 марта 2009 г. Проверено 25 мая 2016 г.
  26. ^ Майкл Ларабель (17 декабря 2008 г.). «Xine получает поддержку VDPAU от NVIDIA». Фороникс . Проверено 13 марта 2009 г.
  27. ^ «xine-lib/xine-lib-1.2: набор изменений 11335:9b68f6efb713». Debian.org . Проверено 25 мая 2016 г.
  28. ^ Дденнеди (30 ноября 2009 г.). «ВДПАУ для версии MLT 0.4.11 Git». МЛТ . Архивировано из оригинала 27 февраля 2010 г. Проверено 30 ноября 2009 г.
  29. ^ «Бета-версия Flash Player 10.2 – с ускорением VDPAU!: Linux» . реддит . Декабрь 2010.
  30. ^ «Справочное руководство по MPV» . Проверено 9 апреля 2016 г.
  31. ^ Майкл Ларабель (3 февраля 2009 г.). «Верточная часть NVIDIA VDPAU для VA-API Intel». Фороникс . Проверено 13 марта 2009 г.
  32. ^ «Приложение G. Поддержка VDPAU». Нвидия . 14 декабря 2016 г. Проверено 03 января 2017 г.
  33. ^ «VDPAU для графического процессора NVIDIA Maxwell в Linux» . Фороникс.com . 03.03.2014 . Проверено 25 мая 2016 г.
  34. ^ abcde «Приложение G. Поддержка VDPAU». us.download.nvidia.com . Проверено 2 июня 2022 г.
  35. ^ http://www.nvidia.com/download/driverResults.aspx/104284/en-us Nvidia LINUX X64 (AMD64/EM64T) ДРАЙВЕР ДИСПЛЕЯ Версия: 367.27
  36. ^ "[ОБЪЯВЛЕНИЕ] libvdpau 0.2" . Lists.freedesktop/org . Проверено 25 мая 2016 г.
  37. ^ «NVIDIA предлагает VDPAU для патчей DRI2 - Phoronix» . Фороникс . Проверено 25 мая 2016 г.
  38. ^ «[PULL] Добавьте драйверы VDPAU в реализацию DRI2 сервера». xorg . Проверено 25 мая 2016 г.
  39. ^ «VideoToolbox — Документация разработчика Apple» . разработчик.apple.com . Проверено 05 августа 2018 г.

Внешние ссылки