VDPAU

редактировать
VDPAU
Исходный автор (-ы) Nvidia
Разработчик (-ы) freedesktop.org
Стабильная версия 1.3 / 18 октября 2019 г.; 12 месяцев назад (18.10.2019)
Написано наC, C ++
Операционная система Кросс-платформенная
Тип
Лицензия MIT Лицензия
Веб-сайтwww.freedesktop.org / wiki / Software / VDPAU /

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

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

VDPAU нацелен на Unix-like операционные системы (включая Linux, FreeBSD, Solaris ).

Содержание
  • 1 Функциональный диапазон интерфейса
  • 2 История
  • 3 Драйверы устройств и видеоконтроллеры, реализующие VDPAU
    • 3.1 Общий драйвер VDPAU
  • 4 Программное обеспечение, поддерживающее VDPAU
  • 5 Функция Nvidia VDPAU Устанавливает
  • 6 автономная библиотека VDPAU libvdpau
  • 7 См. Также
  • 8 Ссылки
  • 9 Внешние ссылки
Функциональный диапазон интерфейса

VDPAU позволяет видеопрограммам обращаться к специализированному декодированию видео ASIC на ГП для разгрузки частей процесса декодирования видео и постобработки видео с ЦП на ГП.

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

История

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

9 марта 2015 года Nvidia выпустила VDPAU версии 1.0, которая поддерживает декодирование High Efficiency Video Coding (HEVC) для основного, основного 4: 4: 4, основного неподвижного изображения, основного 10 и основного 12.

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

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

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

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

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

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

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

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

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

Generic VDPAU driver

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

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

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

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

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

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

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

Набор функций A
Поддерживает полное ускорение для H.264 и частичное ускорение для MPEG-1, MPEG-2, VC-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 Part 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 поддерживают расширенный режим маскирования ошибок, который обеспечивает более надежную обработку ошибок при декодировании поврежденных видеопотоков.
Набор функций F
Представлен выделенный HEVC Main ( 8 бит) и Main 10 (10 бит) с разрешением до 4096 × 2304 пикселей.
Набор функций G
Аппаратная поддержка декодирования видео HEVC Main 12 (12 бит) но VDPAU в настоящее время не поддерживает этот профиль.
Набор функций H
Набор функций H поддерживает декодирование с аппаратным ускорением 8192x8192 (разрешение 8k) видеопотоков H.265 / HEVC.
Автономная библиотека VDPAU libvdpau

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

См. Также
  • Портал бесплатного программного обеспечения с открытым исходным кодом
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-18 07:35:54
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте