Coder Social home page Coder Social logo

dvirk-kiner / libvpl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from intel/libvpl

0.0 0.0 0.0 18.43 MB

Intel® Video Processing Library (Intel® VPL) API, dispatcher, and examples

Home Page: https://intel.github.io/libvpl/

License: MIT License

Shell 0.13% C++ 83.14% Python 4.32% C 10.51% Pawn 0.01% CMake 1.32% Batchfile 0.09% Starlark 0.48%

libvpl's Introduction

Intel® Video Processing Library (Intel® VPL)

Intel® Video Processing Library (Intel® VPL) provides access to hardware accelerated video decode, encode, and processing capabilities on Intel® GPUs to support AI visual inference, media delivery, cloud gaming, and virtual desktop infrastructure use cases.

See the specification for additional information.

This repository contains the following components:

  • Copies of the Intel® VPL API header files. The version of the API is listed in the mfxdefs.h file.
  • Intel® VPL Dispatcher
  • Examples demonstrating API usage

Important

Intel® VPL Tools are no longer in this repository. They have all been moved to https://github.com/intel/libvpl-tools

To use Intel® VPL for video processing you need to install at least one implementation. Here is a list:

Architecture

graph TD;
    dispatcher["Intel® VPL Dispatcher"]-->oneVPL-intel-gpu;
    dispatcher-->msdk["Intel® MediaSDK"];
Loading

As shown in this diagram, the Intel® VPL Dispatcher forwards function calls from the application to use the selected runtime.

Dispatcher behavior when targeting Intel® GPUs

Runtime loaded by Intel® VPL Dispatcher and their Microsoft* DirectX* support:

GPU Media SDK Intel® VPL Microsoft* DirectX* Support
Earlier platforms, back to BDW (Broadwell) ✔️ DX9/DX11
ICL (Ice Lake) ✔️ DX9/DX11
JSL (Jasper Lake) ✔️ DX9/DX11
EHL (Elkhart Lake) ✔️ DX9/DX11
SG1 ✔️ DX9/DX11
TGL (Tiger Lake) ✔️ ✔️ DX9/DX11*
DG1 (Intel® Iris® Xe MAX graphics) ✔️ ✔️ DX11*
RKL (Rocket Lake) ✔️ DX11
ADL-S (Alder Lake S) ✔️ DX11
ADL-P (Alder Lake P) ✔️ DX11
DG2 (Intel® Arc™ A-Series Graphics) ✔️ DX11
ATSM (Intel® Data Center GPU Flex Series) ✔️ DX11
Future platforms... ✔️ DX11

For TGL and DG1, if both Intel® VPL and Intel® Media SDK runtime are installed then the Intel® VPL Dispatcher will prefer Intel® VPL runtime unless the application requests D3D9 by setting the filter property "mfxImplDescription.AccelerationMode" to MFX_ACCEL_MODE_VIA_D3D9.

Installing Intel® VPL

Installation options

Intel® VPL may be installed:

Using Intel® VPL

Configure your shell environment

If you did not install to standard system locations, you need to set up the environment, so tools like CMake and pkg-config can find the library and headers.

For Linux:

source <vpl-install-location>/etc/vpl/vars.sh

For Windows:

<vpl-install-location>\etc\vpl\vars.bat

Link to Intel® VPL with CMake

Add the following code to your CMakeLists, assuming TARGET is defined as the component that wants to use Intel® VPL:

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)

Link to Intel® VPL from Bash with pkg-config

The following command line illustrates how to link a simple program to Intel® VPL using pkg-config.

gcc program.cpp `pkg-config --cflags --libs vpl`

How to Contribute

See CONTRIBUTING.md for more information.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Security

See the Intel® Security Center for information on how to report a potential security issue or vulnerability.

libvpl's People

Contributors

mav-intel avatar tletnes avatar jonrecker avatar shepark avatar jeffreymcallister avatar supreetsinghpalne avatar ying2guo avatar splotnikv avatar vcheah avatar mounikamandava avatar akwrobel avatar janezhang8 avatar sbalandi avatar changchingyew avatar igorbelyakovintel avatar hoesheng avatar aukhina avatar microyy avatar romka0017 avatar tengjinchung avatar sengguan avatar furongzhang avatar mgonchar avatar christa03 avatar siewhoon avatar nngokhale avatar zlice avatar rupakroyintel avatar jluii avatar yskuridi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.