Исходный автор (-ы) | 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 ).
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 реализован в программном 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.
По состоянию на конец 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 также можно использовать в качестве backend для VA-API и OpenMAX IL, которые сами по себе охватывают подмножество возможностей VDPAU; поэтому любое программное обеспечение, использующее VA-API или OpenMAX IL, также частично способно использовать VDPAU (например, медиаплеер VLC).
Наборы функций Nvidia VDPAU - это другое оборудование поколения GPU, поддерживающие различные уровни возможностей аппаратного декодирования (Nvidia PureVideo). Для наборов функций A, B и C максимальная ширина и высота видео составляют 2048 пикселей, минимальная ширина и высота 48 пикселей, и все кодеки в настоящее время ограничены максимум 8192 макроблоками (8190 для VC-1 / WMV9). Частичное ускорение означает, что декодирование VLD (битовый поток) выполняется на CPU, при этом GPU выполняет только IDCT, компенсацию движения и удаление блочности. Полное ускорение означает, что графический процессор выполняет все VLD, IDCT, компенсацию движения и снятие блокировки.
Автономная библиотека VDPAU libvdpau распространяется Nvidia независимо от их проприетарного графического драйвера Linux, чтобы помочь внедрить VDPAU не в Nvidia. Этот пакет библиотеки с открытым исходным кодом содержит библиотеку оболочки и библиотеку отладки, позволяющую другим производителям внедрять VDPAU в свои драйверы устройств.