{"id":13537314,"url":"https://github.com/intel/libvpl","last_synced_at":"2026-02-21T00:02:44.355Z","repository":{"id":44136975,"uuid":"244967696","full_name":"intel/libvpl","owner":"intel","description":"Intel® Video Processing Library (Intel® VPL) API, dispatcher, and examples","archived":false,"fork":false,"pushed_at":"2025-01-17T17:07:38.000Z","size":24385,"stargazers_count":297,"open_issues_count":5,"forks_count":90,"subscribers_count":29,"default_branch":"main","last_synced_at":"2025-01-17T18:27:07.649Z","etag":null,"topics":["transcode-video","video-processing"],"latest_commit_sha":null,"homepage":"https://intel.github.io/libvpl/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/intel.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-04T17:54:49.000Z","updated_at":"2025-01-17T17:07:40.000Z","dependencies_parsed_at":"2024-06-17T21:52:14.052Z","dependency_job_id":"20944551-9b5a-46f5-8a90-b18bd5c80a09","html_url":"https://github.com/intel/libvpl","commit_stats":null,"previous_names":["intel/libvpl","oneapi-src/onevpl"],"tags_count":42,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intel%2Flibvpl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intel%2Flibvpl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intel%2Flibvpl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intel%2Flibvpl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/intel","download_url":"https://codeload.github.com/intel/libvpl/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246756813,"owners_count":20828772,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["transcode-video","video-processing"],"created_at":"2024-08-01T09:00:57.508Z","updated_at":"2025-10-22T06:31:38.549Z","avatar_url":"https://github.com/intel.png","language":"C++","readme":"# Intel® Video Processing Library (Intel® VPL)\n\nIntel® Video Processing Library (Intel® VPL) provides access to hardware\naccelerated video decode, encode, and processing capabilities on Intel®\nGPUs to support AI visual inference, media delivery, cloud gaming, and virtual\ndesktop infrastructure use cases.\n\nSee the [specification](https://intel.github.io/libvpl) for additional information.\n\nThis repository contains the following components:\n\n- Copies of the Intel® VPL API header files. The version of the API is listed in\nthe [mfxdefs.h](./api/vpl/mfxdefs.h) file.\n- Intel® VPL Dispatcher\n- Examples demonstrating API usage\n\n\u003e [!IMPORTANT]\n\u003e\n\u003e Intel® VPL Tools are no longer in this repository. They have all been moved to\n\u003e https://github.com/intel/libvpl-tools\n\nTo use Intel® VPL for video processing you need to install at least one\nimplementation. Here is a list:\n\n- [Intel® VPL GPU Runtime](https://github.com/intel/vpl-gpu-rt) for use on\n  Intel® Iris® Xe graphics and newer\n- [Intel® Media SDK](https://github.com/Intel-Media-SDK/MediaSDK) for use on\n  legacy Intel® graphics\n\n## Architecture\n```mermaid\ngraph TD;\n    dispatcher[\"Intel® VPL Dispatcher\"]--\u003eoneVPL-intel-gpu;\n    dispatcher--\u003emsdk[\"Intel® MediaSDK\"];\n```\n\nAs shown in this diagram, the Intel® VPL Dispatcher forwards function calls from\nthe application to use the selected runtime.\n\n## Dispatcher behavior when targeting Intel® GPUs\nRuntime loaded by Intel® VPL Dispatcher and their Microsoft* DirectX* support:\n\n\n| GPU                                        | Media SDK        | Intel® VPL       | Microsoft* DirectX* Support |\n|--------------------------------------------|------------------|------------------|-----------------------------|\n| Earlier platforms, back to BDW (Broadwell) |:heavy_check_mark:|                  | DX9/DX11                    |\n| ICL (Ice Lake)                             |:heavy_check_mark:|                  | DX9/DX11                    |\n| JSL (Jasper Lake)                          |:heavy_check_mark:|                  | DX9/DX11                    |\n| EHL (Elkhart Lake)                         |:heavy_check_mark:|                  | DX9/DX11                    |\n| SG1                                        |:heavy_check_mark:|                  | DX9/DX11                    |\n| TGL (Tiger Lake)                           |:heavy_check_mark:|:heavy_check_mark:| DX9/DX11*                   |\n| DG1 (Intel® Iris® Xe MAX graphics)         |:heavy_check_mark:|:heavy_check_mark:| DX11*                       |\n| RKL (Rocket Lake)                          |                  |:heavy_check_mark:| DX11                        |\n| ADL-S (Alder Lake S)                       |                  |:heavy_check_mark:| DX11                        |\n| ADL-P (Alder Lake P)                       |                  |:heavy_check_mark:| DX11                        |\n| ADL-N (Alder Lake N)                       |                  |:heavy_check_mark:| DX11                        |\n| DG2 (Intel® Arc™ A-Series Graphics)        |                  |:heavy_check_mark:| DX11                        |\n| ATSM (Intel® Data Center GPU Flex Series)  |                  |:heavy_check_mark:| DX11                        |\n| RPL-S (Raptor Lake S)                      |                  |:heavy_check_mark:| DX11                        |\n| RPL-P (Raptor Lake P)                      |                  |:heavy_check_mark:| DX11                        |\n| MTL (Meteor Lake)                          |                  |:heavy_check_mark:| DX11                        |\n| ARL-S (Arrow Lake S)                       |                  |:heavy_check_mark:| DX11                        |\n| ARL-H (Arrow Lake H)                       |                  |:heavy_check_mark:| DX11                        |\n| LNL (Lunar Lake)                           |                  |:heavy_check_mark:| DX11                        |\n| Future platforms...                        |                  |:heavy_check_mark:| DX11                        |\n\nFor TGL and DG1, if both Intel® VPL and Intel® Media SDK runtime are installed\nthen the Intel® VPL Dispatcher will prefer Intel® VPL runtime unless the\napplication requests D3D9 by setting the filter property\n\"mfxImplDescription.AccelerationMode\" to MFX_ACCEL_MODE_VIA_D3D9.\n\n## Installing Intel® VPL\n\n### Installation options\n\nIntel® VPL may be installed:\n\n- from source code.  See install and use instructions at\n  [INSTALL.md](INSTALL.md).\n- from Linux packages.  See [Intel® software for general purpose GPU\n  capabilities](https://dgpu-docs.intel.com/)\n\n\n## Using Intel® VPL\n\n### Configure your shell environment\n\nIf you did not install to standard system locations, you need to set up the\nenvironment, so tools like CMake and pkg-config can find the library and\nheaders.\n\nFor Linux:\n```\nsource \u003cvpl-install-location\u003e/etc/vpl/vars.sh\n```\n\nFor Windows:\n```\n\u003cvpl-install-location\u003e\\etc\\vpl\\vars.bat\n```\n\n### Link to Intel® VPL with CMake\n\nAdd the following code to your CMakeLists, assuming TARGET is defined as the\ncomponent that wants to use Intel® VPL:\n\n```\nif(WIN32 AND CMAKE_SIZEOF_VOID_P EQUAL 4)\n set(CMAKE_LIBRARY_ARCHITECTURE x86)\nendif()\nfind_package(VPL REQUIRED)\ntarget_link_libraries(${TARGET} VPL::dispatcher)\n```\n\n\n### Link to Intel® VPL from Bash with pkg-config\n\nThe following command line illustrates how to link a simple program to Intel®\nVPL using pkg-config.\n\n```\ngcc program.cpp `pkg-config --cflags --libs vpl`\n```\n\n## How to Contribute\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for more information.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file\nfor details.\n\n## Security\n\nSee the [Intel® Security\nCenter](https://www.intel.com/content/www/us/en/security-center/default.html)\nfor information on how to report a potential security issue or vulnerability.\n\n\n## Backward Compatibility\n\nNo code changes may be introduced that would regress support for any currently supported hardware.\nAll contributions must ensure continued compatibility and functionality across all supported hardware platforms.\nFailure to maintain hardware compatibility may result in the rejection or reversion of the contribution.\n\nAny deliberate modifications or removal of hardware support will be transparently communicated in the release notes.\n\nAPI options are solely considered as a stable interface.\nAny debug parameters, environmental variables, and internal data structures, are not considered as an interface and may be changed or removed at any time.\n","funding_links":[],"categories":["C++"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintel%2Flibvpl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fintel%2Flibvpl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintel%2Flibvpl/lists"}