Media Driver Media для VAAPI-это новый пользовательский режим VAAPI, поддерживающий аппаратный ускоренный ускоренный ускоренный декодирование, кодирование и обработку видео для Gen Graphics Hardware.
Водитель медиа Intel (R) для VaAPI распределен по лицензии MIT с частями, охватываемыми лицензией BSD 3-й нанесение «новой» или «пересмотренной» лицензии. Вы можете получить копию лицензии на MIT & BSD-3-CLAUSE
Для Ubuntu 16.04+
apt install autoconf libtool libdrm-dev xorg xorg-dev openbox libx11-dev libgl1-mesa-glx
Эквиваленты для других распределений должны работать.
<workspace>
|- media-driver
$ mkdir <workspace>/build_media
<workspace>
|- media-driver
|- build_media
$ cd <workspace>/build_media
$ cmake ../media-driver
$ make -j"$(nproc)"
$ sudo make install
Это установит следующие файлы (например, на Ubuntu):
-- Installing: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
-- Installing: /etc/profile.d/intel-media.sh
-- Installing: /usr/lib/x86_64-linux-gnu/igfxcmrt64.so
Для ihd_drv_video.so, пожалуйста, экспортируйте связанные с ним переменные среды Libva.
export LIBVA_DRIVERS_PATH=<path-contains-iHD_drv_video.so>
export LIBVA_DRIVER_NAME=iHD
Водитель медиа содержит три компонента, как показано ниже
СМИ ДВИДАЙТЕЛЬНОСТИ поддерживает ниже две сборки
Что касается Ubuntu/Debian OSV, они предоставляют Intel-Media-Va-Driver-Non-Non (полная сборка функций) и Intel-Media-Va-Driver (бесплатная сборка ядра) в два пакета. Бесплатно здесь означает ядро с открытым исходным кодом, но не связано с платой. Вы можете обратиться к вариантам сборки для более подробной информации.
Если вы с нетерпением ждете возможности обмена функциями компонентов медиа -компонента на этих двух сборках, ниже таблицы - это хорошая ссылка на вашу информацию.
Кодек | Типы сборки | BMG | Прозрачный | MTLX | DG2/ATSM | DG1/SG1 | TGLX | EHL/JSL | ICL | KBLX | Bxtx | Костюма | BDW |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Avc | Полная функция Free-Kernel | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E/ES D/E. | D/E/ES D/E. | D/E. D/E. | D/E/ES D/E. | D/E/ES D/E. | D/E/ES D/E. | D/E/ES D/E. | D/ES Дюймовый |
MPEG-2 | Полная функция Free-Kernel | Дюймовый Дюймовый | Дюймовый Дюймовый | Дюймовый Дюймовый | Дюймовый Дюймовый | D/ES Дюймовый | D/ES Дюймовый | Дюймовый Дюймовый | D/ES Дюймовый | D/ES Дюймовый | Дюймовый Дюймовый | D/ES Дюймовый | D/ES Дюймовый |
VC-1 | Полная функция Free-Kernel | Дюймовый | Дюймовый | Дюймовый | Дюймовый | Дюймовый | Дюймовый | Дюймовый | Дюймовый | ||||
JPEG | Полная функция Free-Kernel | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | Дюймовый Дюймовый |
VP8 | Полная функция Free-Kernel | Дюймовый Дюймовый | Дюймовый Дюймовый | Дюймовый Дюймовый | D* D* | Дюймовый Дюймовый | D/ES Дюймовый | D/ES Дюймовый | Дюймовый Дюймовый | Дюймовый Дюймовый | Дюймовый Дюймовый | ||
HEVC 8BT | Полная функция Free-Kernel | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E/ES D/E. | D/E/ES D/E. | D/E. D/E. | D/E/ES D/E. | D/ES Дюймовый | D/ES Дюймовый | D/ES Дюймовый | |
HEVC 8BT 422 | Полная функция Free-Kernel | D/E. D/E. | D/E. D/E. | Дюймовый Дюймовый | D/E. D/E. | D/ES Дюймовый | D/ES Дюймовый | Дюймовый Дюймовый | D/ES Дюймовый | ||||
HEVC 8bit 444 | Полная функция Free-Kernel | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | ||||
HEVC 10 бит | Полная функция Free-Kernel | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E/ES D/E. | D/E/ES D/E. | D/E. D/E. | D/E/ES D/E. | D/ES Дюймовый | Дюймовый Дюймовый | ||
HEVC 10 бит 422 | Полная функция Free-Kernel | D/E. D/E. | D/E. D/E. | Дюймовый Дюймовый | D/E. D/E. | D/ES Дюймовый | D/ES Дюймовый | Дюймовый Дюймовый | D/ES Дюймовый | ||||
HEVC 10 бит 444 | Полная функция Free-Kernel | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | ||||
HEVC 12BT | Полная функция Free-Kernel | Дюймовый Дюймовый | Дюймовый Дюймовый | Дюймовый Дюймовый | Дюймовый Дюймовый | D/ES Дюймовый | D/ES Дюймовый | ||||||
HEVC 12BIT 422 | Полная функция Free-Kernel | Дюймовый Дюймовый | Дюймовый Дюймовый | Дюймовый Дюймовый | Дюймовый Дюймовый | Дюймовый Дюймовый | Дюймовый Дюймовый | ||||||
HEVC 12BIT 444 | Полная функция Free-Kernel | Дюймовый Дюймовый | Дюймовый Дюймовый | Дюймовый Дюймовый | Дюймовый Дюймовый | Дюймовый Дюймовый | Дюймовый Дюймовый | ||||||
VP9 8bt | Полная функция Free-Kernel | Дюймовый Дюймовый | Дюймовый Дюймовый | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | Дюймовый Дюймовый | Дюймовый Дюймовый | ||
VP9 8bit 444 | Полная функция Free-Kernel | Дюймовый Дюймовый | Дюймовый Дюймовый | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | ||||
VP9 10 бит | Полная функция Free-Kernel | Дюймовый Дюймовый | Дюймовый Дюймовый | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | Дюймовый Дюймовый | |||
VP9 10 -бит 444 | Полная функция Free-Kernel | Дюймовый Дюймовый | Дюймовый Дюймовый | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. D/E. | ||||
VP9 12BT | Полная функция Free-Kernel | Дюймовый Дюймовый | Дюймовый Дюймовый | Дюймовый Дюймовый | Дюймовый Дюймовый | Дюймовый Дюймовый | Дюймовый Дюймовый | ||||||
VP9 12BIT 444 | Полная функция Free-Kernel | Дюймовый Дюймовый | Дюймовый Дюймовый | Дюймовый Дюймовый | Дюймовый Дюймовый | Дюймовый Дюймовый | Дюймовый Дюймовый | ||||||
Av1 8bt | Полная функция Free-Kernel | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. Эн | Дюймовый | Дюймовый | ||||||
AV1 10 бит | Полная функция Free-Kernel | D/E. D/E. | D/E. D/E. | D/E. D/E. | D/E. Эн | Дюймовый | Дюймовый | ||||||
VVC 8bt | Полная функция Free-Kernel | Дюймовый Дюймовый | |||||||||||
VVC 10 бит | Полная функция Free-Kernel | Дюймовый Дюймовый |
ПРИМЕЧАНИЕ. Кодирование с низкой мощностью (vaentrypointencslicelp) и кодирование шейдера (vaentrypointencslice) консолидируются с унифицированным интерфейсом (vaentrypointencslice) с платформы MTL . Он проходит через Vdenc/HUC за ускорение HW, чтобы выпустить ресурс GPU для клиентов.
Для получения дополнительной информации о функциях и кодировании, пожалуйста, обратитесь к
Кодек | Типы сборки | BMG | Прозрачный | MTLX | DG2/ATSM | DG1/SG1 | TGLX | EHL/JSL | ICL | KBLX | Bxtx | Костюма | BDW |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Смешивание | Полная функция Free-Kernel | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да | Да | Да | Да |
CSC | Полная функция Free-Kernel | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да | Да | Да | Да |
Деинтерлс | Полная функция Free-Kernel | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да* Да* | Да Да | Да | Да | Да | Да |
De-noise | Полная функция Free-Kernel | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | |
Luma Key | Полная функция Free-Kernel | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да | Да | Да | Да |
Зеркалирование | Полная функция Free-Kernel | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да | Да | Да | Да |
Прокат | Полная функция Free-Kernel | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да | Да | Да | Да |
Ротация | Полная функция Free-Kernel | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да | Да | Да | Да |
Масштабирование | Полная функция Free-Kernel | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да | Да | Да | Да |
Заточка | Полная функция Free-Kernel | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да | Да | Да | Да |
Std/E. | Полная функция Free-Kernel | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | |
TCC | Полная функция Free-Kernel | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | Да | |
Цветная заполнение | Полная функция Free-Kernel | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да | Да | Да | Да |
Размещение хромы | Полная функция Free-Kernel | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да Да | Да | Да | Да | |
HDR10 TM | Полная функция Free-Kernel | Да | Да | Да | Да | Да | Да | Да | |||||
3dlut | Полная функция Free-Kernel | Да | Да | Да | Да | Да | Да |
Для получения дополнительной информации о функции, пожалуйста, обратитесь к поддерживаемой обработке видео CSC/масштабированию формата
СМИ-драйвер поддерживает различные типы сборки, как описано ниже. Вы можете обратиться к следующим настройкам, чтобы включить их.
Media Driver требует специальной версии Driver Mode Mode I915 (KMD) для поддержки следующих платформ, поскольку вверх по течению версии I915 KMD не полностью поддерживает их (ожидающие патчи вверх по течению). Чтобы включить эти платформы, необходимо указать ENABLE_PRODUCTION_KMD=ON
(по умолчанию: OFF
) опция конфигурации сборки.
Рекомендуется построить водителя Media Media Media для VAAPI против компилятора GCC V6.1 или более поздней версии, который официально поддерживал C ++ 11.
Прошивка HUC необходима для AVC/HEVC/VP9/AV1, кодирующего битрейт, включая CBR, VBR, VBR и т. Д. Конфигурация ядра по умолчанию не позволила загружать HUC для TGL/RKL и устаревших платформ, но позволила ему с платформ ADL+. Вы можете изменить настройку HUC с помощью "options i915 enable_guc=2" > /etc/modprobe.d/i915.conf
под корнем. Для платформ ADL+ ядро загружает HUC в качестве по умолчанию, если соответствующая платформа HUC Binary существует в /lib/firware/i915
. HUC Firstwares, доступные на разных платформах:
i915.enable_guc=2
i915.enable_guc=2
i915.enable_guc=2
i915.enable_guc=2
i915.enable_guc=2
i915.enable_guc=2
Другие более известные проблемы, пожалуйста, обратитесь к страницам «известные проблемы» в медиа-драйвере/вики.