ВДПАУ - VDPAU
Оригинальный автор (ы) | Nvidia |
---|---|
Разработчики) | freedesktop.org |
Стабильный выпуск | 1.3 / 18 октября 2019 г. |
Написано в | C, C ++ |
Операционная система | Кроссплатформенность |
Тип | |
Лицензия | Лицензия MIT |
Интернет сайт | www |
Video Decode and Presentation API для Unix (ВДПАУ) является бесплатным интерфейс прикладного программирования (API), а также его реализация как бесплатно и с открытым исходным кодом библиотека (libvdpau) распространяется в рамках Лицензия MIT.[1] VDPAU также поддерживается Nvidia.[2]
Интерфейс VDPAU должен быть реализован драйверы устройств, Такие как Драйвер Nvidia GeForce, модерн, amdgpu, чтобы предлагать программное обеспечение для конечных пользователей, например Медиаплеер VLC или же GStreamer, стандартизированный доступ к имеющимся декомпрессия видео аппаратное ускорение в виде специализированная интегральная схема (ASIC) блоки на графические процессоры (GPU), например Nvidia's PureVideo или же AMD Единый видеодекодер и использовать это.
ВДПАУ нацелен на Unix-подобный операционные системы (включая Linux, FreeBSD, Солярис ).[3][4][5]
Функциональный диапазон интерфейса
VDPAU позволяет видеопрограммам обращаться к специализированным ASIC декодирования видео на графическом процессоре, чтобы разгружать части декодирование видео процесс и постобработка видео от ЦПУ к GPU.[6]
В настоящее время части, которые VDPAU может выгружать на GPU, являются компенсация движения (мес.), обратное дискретное косинусное преобразование (iDCT), VLD (декодирование с переменной длиной) и снятие блокировки за MPEG-1, MPEG-2, MPEG-4 ASP (MPEG-4, часть 2), H.264 / MPEG-4 AVC и ВК-1, WMV3 /WMV9 закодированные видео.[3] Какие именно кодеки из них могут быть выгружены в GPU, зависит от версии поколения аппаратного обеспечения GPU.
История
VDPAU был первоначально разработан Nvidia для их PureVideo. Блок SIP присутствовать на их GeForce 8 серии и более поздние графические процессоры.[7]
9 марта 2015 года Nvidia выпустила VDPAU версии 1.0, которая поддерживает Высокоэффективное кодирование видео (HEVC) декодирование для профилей Main, Main 4: 4: 4, Main Still Picture, Main 10 и Main 12.[8]
Драйверы устройств и видеоконтроллеры, реализующие VDPAU
ВДПАУ реализован в X11 программного обеспечения драйверы устройств, но полагается на функции ускорения в аппаратном GPU.
Все графические карты Nvidia, для которых драйвер реализует VDPAU, перечислены в Nvidia PureVideo.[9]
S3 Графика добавили VDPAU к драйверам Linux своих Хром 400 видеокарты. Начиная с версии 14.02.17 драйвера устройства для Linux, VDPAU доступен с оборудованием S3 Chrome 430 GT, S3 Chrome 440 GTX, S3 Chrome 530 GT и S3 Chrome 540 GTX.[10]
ATI / AMD выпустила драйвер с открытым исходным кодом для видеокарт Radeon HD 4000+ с ускорением VDPAU.[11][12]
Intel не предлагает драйверы VDPAU, они поддерживают только свои VA-API. Однако можно использовать драйверы Intel VA-API в виде libvdpau-va-gl.
Nvidia надеется, что другие разработчики графических процессоров сделают свои продукты совместимыми с библиотекой VDPAU с открытым исходным кодом и предоставят драйверы с ускорением VDPAU, указав примеры названий аппаратных драйверов для Intel и ATI: libvdpau_intel.so и libvdpau_ati.so.[13] Intel заявила, что рассматривает возможность использования VDPAU.[14]
Суньси SoC (Allwinner ) имеют экспериментальную реализацию ВДПАУ.[15]
Меса начиная с версии 8.0 включает VDPAU для видеокарт, использующих Галлий3D.
Универсальный драйвер VDPAU
По состоянию на конец 2013 года существует независимо разработанный серверный драйвер, который, в свою очередь, использует OpenGL (для рисования и масштабирования) и VA-API, если есть (для декодирования).[16] Сообщается, что он работает над некоторыми Графика Intel и Adobe Flash Player.[17]
Ускоренное масштабирование с использованием только функций OpenGL необходимо в основном из-за Flash Player, который использует неускоренное масштабирование, если VDPAU недоступен. Почти все другое программное обеспечение для работы с видео, работающее на GNU / Linux или FreeBSD поддерживает XV. Это важно для полноэкранного видео на более медленных компьютерах без встроенной поддержки VDPAU.
Преобразование VDPAU в VA-API для HW-декодирования полезно с последним графическим оборудованием Intel, поскольку некоторое программное обеспечение поддерживает HW-декодирование через VDPAU, но не VA-API.
Программное обеспечение, поддерживающее VDPAU
- Авидемукс начиная с версии 2.6
- Boxee[18]
- GStreamer[19]
- MPlayer
- MythTV[20]
- Коди (ранее XBMC)[21][22][23][24]
- Xine[25][26]
- MLT[27]
- Adobe Flash 10.2 Сценическое видео и более поздние версии[28]
- Медиаплеер VLC 2.1
- MPV[29]
ВДПАУ также можно использовать как бэкэнд за VA-API и OpenMAX IL, которые сами по себе охватывают подмножество возможностей VDPAU; поэтому любое программное обеспечение, использующее VA-API или OpenMAX IL, также частично способно использовать VDPAU (например, медиаплеер VLC).[30]
Наборы функций Nvidia VDPAU
Наборы функций Nvidia VDPAU[31] - это разные поколения графических процессоров, поддерживающие разные уровни возможностей аппаратного декодирования (Nvidia PureVideo). Для наборов функций A, B и C максимальная ширина и высота видео составляют 2048 пиксели, минимальная ширина и высота 48 пикселей, и все кодеки в настоящее время ограничены максимумом 8192 макроблоки (8190 для VC-1 / WMV9). Частичное ускорение означает, что VLD (битовый поток) декодирование выполняется на ЦП, при этом графический процессор выполняет только IDCT, компенсация движения и снятие блокировки. Полное ускорение означает, что графический процессор выполняет все VLD, IDCT, компенсацию движения и снятие блокировки.
- Набор функций A
- Поддерживает полное ускорение для H.264 и частичное ускорение для MPEG-1, MPEG-2, ВК-1 /WMV9
- Набор функций B
- Поддерживает полное ускорение для MPEG-1, MPEG-2, VC-1 / WMV9 и H.264.
- Обратите внимание, что все оборудование Feature Set 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, часть 2 (также известный как MPEG-4 ASP), VC-1 / WMV9 и H.264.
- Компенсация глобального движения и разделение данных не поддерживаются для MPEG-4, часть 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 пикселей. Графические процессоры с набором функций VDPAU E поддерживают расширенный режим маскирования ошибок, который обеспечивает более надежную обработку ошибок при декодировании поврежденных видеопотоков.[32]
- Набор функций F
- Введены специальные HEVC Декодирование видео Main (8 бит) и Main 10 (10 бит) с разрешением до 4096 × 2304 пикселей.
- Набор функций G
- Аппаратная поддержка декодирования видео HEVC Main 12 (12-бит), но VDPAU в настоящее время не поддерживает этот профиль.[33]
- Набор функций H
- Набор функций H поддерживает декодирование с аппаратным ускорением 8192x8192 (разрешение 8k) видеопотоков H.265 / HEVC.[34]
libvdpau автономная библиотека VDPAU
Автономная библиотека VDPAU libvdpau распространяется Nvidia независимо от их проприетарного графического драйвера Linux, чтобы помочь пользователям за пределами Nvidia внедрить VDPAU. Этот пакет библиотеки с открытым исходным кодом содержит библиотеку-оболочку и библиотеку отладки, позволяющую другим производителям реализовывать VDPAU в своих драйверах устройств.[7][35][36][37]
Смотрите также
- PureVideo
- Единый видеодекодер
- Ускорение видео DirectX (DXVA) - API, эквивалентный VDPAU для Майкрософт Виндоус Операционная система.
- Video Acceleration API (VA API) - альтернативный API ускорения видео для операционной системы Linux / UNIX.
- X-Video Bitstream Acceleration (XvBA) - альтернативный API ускорения видео для операционной системы Linux / UNIX.
- API компенсации движения X-Video (XvMC) - альтернативный и самый старый API ускорения видео для операционной системы Linux / UNIX.
- Распределенный движок кодеков (libcde) это Инструменты Техаса API для движка видеокодеков в OMAP на базе встроенных систем
- Платформа ускорения декодирования видео является Apple Inc. API для аппаратного ускорения декодирования H.264 на Mac OS X
- VideoToolbox это API от Apple Inc. для декодирования с аппаратным ускорением на Apple TV и Mac OS X.[38]
- OpenMAX IL (уровень интеграции Open Media Acceleration) - бесплатный кроссплатформенный API абстракции медиа из Хронос Групп
Рекомендации
- ^ "Объявление libvdpau 0.2". freedesktop.org. 2009-09-17.
- ^ https://www.phoronix.com/scan.php?page=news_item&px=NVIDIA-NVDEC-GStreamer
- ^ а б Майкл Ларабель (2008-11-14). «Драйвер NVIDIA привносит функции PureVideo в Linux». Фороникс. Получено 2009-03-13.
- ^ Майкл Ларабель (2008-11-14). «Тесты NVIDIA VDPAU». Фороникс. Получено 2009-03-13.
- ^ «VDPAU: Video Decode and Presentation API для Unix». Nvidia.
- ^ «Video4Linux2: путь к стандартизированному API видеокодеков» (PDF). Events.linusfoundation.org accessdate = 25.05.2016.
- ^ а б «NVIDIA выпускает автономную библиотеку VDPAU - Phoronix». Фороникс.
- ^ Ларабель, Майкл (9 марта 2015 г.). «NVIDIA анонсирует VDPAU 1.0 с декодированием HEVC / H.265». Фороникс. Получено 9 марта 2015.
- ^ «Таблица поддержки PureVideo» (PDF). Nvidia. Получено 2014-05-22.
- ^ «Архивная копия». Архивировано из оригинал на 2012-07-08. Получено 2010-02-28.CS1 maint: заархивированная копия как заголовок (связь)
- ^ "[PATCH] drm / radeon: поддержка UVD для RV710-SI". Lists.freedesktop.org. Получено 2016-05-25.
- ^ «AMD выпускает поддержку видео UVD с открытым исходным кодом - Phoronix». Фороникс. Получено 2016-05-25.
- ^ "VDPAU: Уровень интеграции оконной системы X11". Download.nvidia.com.
- ^ «Intel рассматривает возможность поддержки VDPAU для драйвера X.Org - Phoronix». Фороникс. Получено 2016-05-25.
- ^ «GitHub - linux-sunxi / libvdpau-sunxi: экспериментальный VDPAU для Allwinner sunxi SoC (WiP)». GitHub. Получено 2016-05-25.
- ^ "GitHub - i-rinat / libvdpau-va-gl: драйвер VDPAU с бэкэндом OpenGL / VAAPI". GitHub. Получено 2016-05-25.
- ^ «Аппаратное ускорение Adobe Flash Player на видеокартах Intel». WebUpd8. 5 сентября 2013 г.. Получено 2016-05-25.
- ^ «Архивная копия». Архивировано из оригинал 26 июня 2009 г.. Получено 26 июня, 2009.CS1 maint: заархивированная копия как заголовок (связь)
- ^ "Новые кодеки Fluendo поддерживают VDPAU, VA-API - Phoronix". Phoronix.com. Получено 2016-05-25.
- ^ Майкл Ларабель (2008-11-29). «MythTV добавляет поддержку NVIDIA VDPAU». Фороникс. Получено 2009-03-13.
- ^ «XBMC for Linux VDPAU - поддержка декодирования видео NVIDIA GPU (теперь в основной линии SVN)». Xbmc.org. Архивировано из оригинал на 2009-02-28. Получено 2016-05-25.
- ^ «Kodi - программное обеспечение для домашнего кинотеатра с открытым исходным кодом». Xbmc.org. Архивировано из оригинал на 2009-04-14. Получено 2016-05-25.
- ^ «XBMC получает основную поддержку для VDPAU - Phoronix». Фороникс.
- ^ «XBMC получает основную поддержку для VDPAU». Phoronix.com. 2009-03-23. Получено 2016-05-25.
- ^ Майкл Ларабель (2008-12-17). «Xine получает поддержку VDPAU NVIDIA». Фороникс. Получено 2009-03-13.
- ^ "xine-lib / xine-lib-1.2: набор изменений 11335: 9b68f6efb713". Debian.org. Получено 2016-05-25.
- ^ ddennedy (30 ноября 2009 г.). «VDPAU для MLT 0.4.11 версии Git». MLT. Архивировано из оригинал на 2010-02-27. Получено 2009-11-30.
- ^ "Flash Player 10.2 beta - с ускорением VDPAU!: Linux". Reddit.
- ^ "Справочное руководство по mpv". Получено 2016-04-09.
- ^ Майкл Ларабель (2009-02-03). "Серверная часть NVIDIA VDPAU для Intel VA-API". Фороникс. Получено 2009-03-13.
- ^ «Приложение G. Поддержка VDPAU». Nvidia. 2016-12-14. Получено 2017-01-03.
- ^ «VDPAU для графического процессора NVIDIA Maxwell в Linux». Phoronix.com. 2014-03-03. Получено 2016-05-25.
- ^ «Приложение G. Поддержка VDPAU». us.download.nvidia.com. Получено 2017-09-17.
- ^ http://www.nvidia.com/download/driverResults.aspx/104284/en-us Nvidia LINUX X64 (AMD64 / EM64T) ДРАЙВЕР ДИСПЛЕЯ Версия: 367.27
- ^ "[ОБЪЯВЛЕНИЕ] libvdpau 0.2". Lists.freedesktop / org. Получено 2016-05-25.
- ^ «NVIDIA предлагает VDPAU для патчей DRI2 - Phoronix». Фороникс. Получено 2016-05-25.
- ^ "[PULL] Добавить драйверы VDPAU в реализацию DRI2 сервера". xorg. Получено 2016-05-25.
- ^ «VideoToolbox - документация для разработчиков Apple». developer.apple.com. Получено 2018-08-05.