ВДПАУ
Оригинальный автор(ы) | Нвидиа |
---|---|
Разработчик(и) | freedesktop.org |
Первоначальный выпуск | 17 сентября 2009 г [ 1 ] |
Стабильная версия | 1,5
/ 7 марта 2022 г [ 2 ] |
Написано в | С , С++ |
Операционная система | Кросс-платформенный |
Тип | |
Лицензия | МОЯ лицензия |
Веб-сайт | www |
API декодирования и представления видео для Unix ( VDPAU ) — это бесплатный интерфейс прикладного программирования (API), а также его реализация в виде с открытым исходным кодом бесплатной библиотеки ( libvdpau ), распространяемый по лицензии MIT . [ 1 ] VDPAU также поддерживается Nvidia . [ 3 ]
Интерфейс VDPAU должен быть реализован драйверами устройств , такими как драйвер Nvidia GeForce , nouveau , amdgpu , чтобы предложить программному обеспечению конечного пользователя, такому как медиаплеер VLC или GStreamer , стандартизированный доступ к доступному оборудованию ускорения декомпрессии видео в форме приложения. -специальные блоки интегральных схем (ASIC) на графических процессорах (GPU), таких как от Nvidia PureVideo или от AMD Unified Video Decoder , и использовать их.
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 ]
Sunxi SoC ( 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
[ редактировать ]- Avidemux версии 2.6
- Боксер [ 19 ]
- FFmpeg
- GStreamer [ 20 ]
- Течет
- MPlayer
- МифТВ [ 21 ]
- Коди (ранее XBMC) [ 22 ] [ 23 ] [ 24 ] [ 25 ]
- Сине [ 26 ] [ 27 ]
- МЛТ [ 28 ]
- Adobe Flash 10.2 Stage Video и более поздние версии [ 29 ]
- Медиаплеер VLC 2.1
- минивэн [ 30 ]
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 ]
См. также
[ редактировать ]- ЧистоеВидео
- Единый видеодекодер
- DirectX Video Acceleration (DXVA) – эквивалентный API VDPAU для Microsoft Windows . операционной системы
- API ускорения видео (VA API) – альтернативный API ускорения видео для операционной системы Linux/UNIX.
- X-Video Bitstream Acceleration (XvBA) – альтернативный API-интерфейс ускорения видео для операционной системы Linux/UNIX.
- API X-Video Motion Compensation (XvMC) – альтернативный и самый старый API-интерфейс ускорения видео для операционной системы Linux/UNIX.
- Distributed Codec Engine (libcde) — это API Texas Instruments для механизма видеокодеков во OMAP . встроенных системах на базе
- Video Decode Acceleration Framework — это API Apple Inc. для аппаратного ускорения декодирования H.264 в Mac OS X.
- VideoToolbox — это API от Apple Inc. для аппаратного ускорения декодирования на Apple TV и Mac OS X. [ 39 ]
- OpenMAX IL (Open Media Acceleration Integration Layer) — бесплатный кроссплатформенный API-интерфейс абстракции мультимедиа от Khronos Group.
Ссылки
[ редактировать ]- ^ Jump up to: а б «Анонсируем libvdpau 0.2» . сайт freedesktop.org . 17 сентября 2009 г.
- ^ "[VDPAU] [АНОНС] libvdpau 1.5" . Freedesktop.org . Проверено 8 марта 2022 г.
- ^ «GStreamer добавляет поддержку декодирования NVDEC NVIDIA GPU — Phoronix» .
- ^ Jump up to: а б Майкл Ларабель (14 ноября 2008 г.). «Драйвер NVIDIA добавляет функции PureVideo в Linux» . Фороникс . Проверено 13 марта 2009 г.
- ^ Майкл Ларабель (14 ноября 2008 г.). «Бенчмарки NVIDIA VDPAU» . Фороникс . Проверено 13 марта 2009 г.
- ^ «VDPAU: API декодирования и представления видео для Unix» . Нвидиа.
- ^ «Video4Linux2: путь к стандартизированному API видеокодека» (PDF) . Events.linusfoundation.org\accessdate=25 мая 2016 г.
- ^ Jump up to: а б «NVIDIA выпускает автономную библиотеку VDPAU – Phoronix» . Фороникс.
- ^ Ларабель, Майкл (9 марта 2015 г.). «NVIDIA анонсирует VDPAU 1.0 с декодированием HEVC/H.265» . Фороникс . Проверено 9 марта 2015 г.
- ^ «Таблица поддержки PureVideo» (PDF) . Нвидиа . Проверено 22 мая 2014 г.
- ^ «Архивная копия» . Архивировано из оригинала 8 июля 2012 г. Проверено 28 февраля 2010 г.
{{cite web}}
: CS1 maint: архивная копия в заголовке ( ссылка ) - ^ «[ИСПРАВЛЕНИЕ] drm/radeon: поддержка UVD для RV710-SI» . Lists.freedesktop.org . Проверено 25 мая 2016 г.
- ^ «AMD выпускает поддержку видео UVD с открытым исходным кодом – Phoronix» . Фороникс . Проверено 25 мая 2016 г.
- ^ «VDPAU: уровень интеграции оконной системы X11» . Скачать.nvidia.com .
- ^ «Intel рассматривает возможность поддержки VDPAU для драйвера X.Org — Phoronix» . Фороникс . Проверено 25 мая 2016 г.
- ^ «GitHub — linux-sunxi/libvdpau-sunxi: экспериментальный VDPAU для SoC Allwinner Sunxi (WiP)» . Гитхаб . Проверено 25 мая 2016 г.
- ^ «GitHub – i-rinat/libvdpau-va-gl: драйвер VDPAU с бэкэндом OpenGL/VAAPI» . Гитхаб . Проверено 25 мая 2016 г.
- ^ «Аппаратное ускорение Adobe Flash Player на видеокартах Intel» . ВебУпд8 . 5 сентября 2013 года . Проверено 25 мая 2016 г.
- ^ «Блог Boxee » Boxee for Windows, переход в высшую лигу» . Архивировано из оригинала 26 июня 2009 года . Проверено 26 июня 2009 г.
- ^ «Новые кодеки Fluendo поддерживают VDPAU, VA-API – Phoronix» . Фороникс.com . Проверено 25 мая 2016 г.
- ^ Майкл Ларабель (29 ноября 2008 г.). «MythTV добавляет поддержку NVIDIA VDPAU» . Фороникс . Проверено 13 марта 2009 г.
- ^ «XBMC для Linux VDPAU — поддержка декодирования видео NVIDIA GPU (теперь в основной версии SVN)» . Xbmc.org. Архивировано из оригинала 28 февраля 2009 г. Проверено 25 мая 2016 г.
- ^ «Kodi — программное обеспечение для домашнего кинотеатра с открытым исходным кодом» . Xbmc.org. Архивировано из оригинала 14 апреля 2009 г. Проверено 25 мая 2016 г.
- ^ «XBMC получает основную поддержку для VDPAU – Phoronix» . Фороникс.
- ^ «XBMC получает основную поддержку VDPAU» . Фороникс.com . 23 марта 2009 г. Проверено 25 мая 2016 г.
- ^ Майкл Ларабель (17 декабря 2008 г.). «Xine получает поддержку NVIDIA VDPAU» . Фороникс . Проверено 13 марта 2009 г.
- ^ «xine-lib/xine-lib-1.2: набор изменений 11335:9b68f6efb713» . Debian.org . Проверено 25 мая 2016 г.
- ^ Дденнеди (30 ноября 2009 г.). «ВДПАУ для версии MLT 0.4.11 Git» . МЛТ . Архивировано из оригинала 27 февраля 2010 г. Проверено 30 ноября 2009 г.
- ^ «Бета-версия Flash Player 10.2 – с ускорением VDPAU!: Linux» . реддит . Декабрь 2010.
- ^ «Справочное руководство по MPV» . Проверено 9 апреля 2016 г.
- ^ Майкл Ларабель (3 февраля 2009 г.). «Бэкенд NVIDIA VDPAU для VA-API Intel» . Фороникс . Проверено 13 марта 2009 г.
- ^ «Приложение Ж. Поддержка ВДПАУ» . Нвидиа . 14 декабря 2016 г. Проверено 03 января 2017 г.
- ^ «VDPAU для графического процессора NVIDIA Maxwell в Linux» . Фороникс.com . 03.03.2014 . Проверено 25 мая 2016 г.
- ^ Jump up to: а б с д и «Приложение Ж. Поддержка ВДПАУ» . us.download.nvidia.com . Проверено 2 июня 2022 г.
- ^ http://www.nvidia.com/download/driverResults.aspx/104284/en-us Nvidia LINUX X64 (AMD64/EM64T) ДРАЙВЕР ДИСПЛЕЯ Версия: 367.27
- ^ "[РЕКЛАМА] libvdpau 0.2" . Lists.freedesktop/org . Проверено 25 мая 2016 г.
- ^ «NVIDIA предлагает VDPAU для патчей DRI2 – Phoronix» . Фороникс . Проверено 25 мая 2016 г.
- ^ «[PULL] Добавьте драйверы VDPAU в реализацию DRI2 сервера» . xorg . Проверено 25 мая 2016 г.
- ^ «VideoToolbox — Документация разработчика Apple» . разработчик.apple.com . Проверено 05 августа 2018 г.