英特尔® 视频处理库(Intel® VPL)
英特尔® 视频处理库(Intel® VPL)提供对英特尔® GPU上硬件加速视频解码、编码和处理功能的访问,以支持AI视觉推理、媒体传输、云游戏和虚拟桌面基础设施等用例。
有关更多信息,请参阅规范。
此存储库包含以下组件:
- 英特尔® VPL API头文件的副本。API版本列在mfxdefs.h文件中。
- 英特尔® VPL调度程序
- 演示API使用的示例
[!重要]
英特尔® VPL工具不再在此存储库中。它们已全部移至 https://github.com/intel/libvpl-tools
要使用英特尔® VPL进行视频处理,您需要至少安装一个实现。以下是列表:
- 英特尔® VPL GPU运行时,用于英特尔® Iris® Xe显卡及更新版本
- 英特尔® Media SDK,用于旧版英特尔® 显卡
架构
graph TD;
dispatcher["英特尔® VPL调度程序"]-->oneVPL-intel-gpu;
dispatcher-->msdk["英特尔® MediaSDK"];
如图所示,英特尔® VPL调度程序将应用程序的函数调用转发至所选运行时。
针对英特尔® GPU时调度程序的行为
英特尔® VPL调度程序加载的运行时及其Microsoft* DirectX*支持:
GPU | Media SDK | 英特尔® VPL | Microsoft* DirectX*支持 |
---|---|---|---|
早期平台,追溯至BDW(Broadwell) | :heavy_check_mark: | DX9/DX11 | |
ICL(Ice Lake) | :heavy_check_mark: | DX9/DX11 | |
JSL(Jasper Lake) | :heavy_check_mark: | DX9/DX11 | |
EHL(Elkhart Lake) | :heavy_check_mark: | DX9/DX11 | |
SG1 | :heavy_check_mark: | DX9/DX11 | |
TGL(Tiger Lake) | :heavy_check_mark: | :heavy_check_mark: | DX9/DX11* |
DG1(英特尔® Iris® Xe MAX显卡) | :heavy_check_mark: | :heavy_check_mark: | DX11* |
RKL(Rocket Lake) | :heavy_check_mark: | DX11 | |
ADL-S(Alder Lake S) | :heavy_check_mark: | DX11 | |
ADL-P(Alder Lake P) | :heavy_check_mark: | DX11 | |
DG2(英特尔® Arc™ A系列显卡) | :heavy_check_mark: | DX11 | |
ATSM(英特尔® 数据中心GPU Flex系列) | :heavy_check_mark: | DX11 | |
未来平台... | :heavy_check_mark: | DX11 |
对于TGL和DG1,如果同时安装了英特尔® VPL和英特尔® Media SDK运行时,则英特尔® VPL调度程序将优先选择英特尔® VPL运行时,除非应用程序通过将过滤器属性"mfxImplDescription.AccelerationMode"设置为MFX_ACCEL_MODE_VIA_D3D9来请求D3D9。
安装英特尔® VPL
安装选项
英特尔® VPL可以通过以下方式安装:
- 从源代码安装。请参阅INSTALL.md中的安装和使用说明。
- 从Linux软件包安装。请参阅英特尔®通用GPU功能软件
使用英特尔® VPL
配置shell环境
如果您没有安装到标准系统位置,则需要设置环境,以便CMake和pkg-config等工具可以找到库和头文件。
对于Linux:
source <vpl-安装位置>/etc/vpl/vars.sh
对于Windows:
<vpl-安装位置>\etc\vpl\vars.bat
使用CMake链接到英特尔® VPL
假设TARGET定义为要使用英特尔® VPL的组件,将以下代码添加到您的CMakeLists中:
if(WIN32 AND CMAKE_SIZEOF_VOID_P EQUAL 4)
set(CMAKE_LIBRARY_ARCHITECTURE x86)
endif()
find_package(VPL REQUIRED)
target_link_libraries(${TARGET} VPL::dispatcher)
使用Bash和pkg-config链接到英特尔® VPL
以下命令行说明如何使用pkg-config将简单程序链接到英特尔® VPL。
gcc program.cpp `pkg-config --cflags --libs vpl`
如何贡献
有关更多信息,请参阅CONTRIBUTING.md。
许可证
本项目采用MIT许可证。有关详细信息,请参阅LICENSE文件。
安全性
有关如何报告潜在安全问题或漏洞的信息,请参阅英特尔®安全中心。