Media (Intel® Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
Announcements
The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.

what's difference for OpenCL/D3D11/D3D9/MSDK

donglin_q_
Beginner
1,698 Views

Hi Guys,

     as for video funcitionality such as encode/decode/vpp, there are different methods to achieve like using OpenCL /D3D11 / D3D9 or MSDK native functions, does it have performance difference for above realizations ? or which method is best for video applications , personally ,i am not very familiar with DirectX programming ,any comments are welcomed!!!

Thanks,

Donney

0 Kudos
1 Solution
Surbhi_M_Intel
Employee
1,698 Views

Hi Donney, 

Media SDK is a software development library that exposes the media acceleration capabilities of Intel platforms for decoding, encoding and video. Media SDK offers both hw & sw support for different codecs & video pre/post algorithms. Using Media SDK APIs, developers can develop professional level media applications. An advantage to use Intel Media SDK is that developers don't have to write separate code paths to tap into platform specific hardware acceleration to improve video performance.

Direct3d is a low graphics API by Microsoft to take advantage of hardware acceleration, more information can be found on wikipedia.    

Media SDK offer two infrastructures to support hw acceleartion i.e. via D3d9 DXVA or D3d11 Video API, details on how to use them can be found in the Media SDK manual. Support for hw acceleration via D3d implementation is hardware dependent. 

OpenCL is an open standard for heterogeneous computing to optimize application performance on GPU. In relation to Media SDK, OpenCL can be used to improve any particular feature like pixel processing which can improve the overall performance of video processing algorithms. You can find details about openCL with Media SDK in the product & samples package of Media SDK. 

In general, decode/encode/transcode performance using hw acceleration via D3d9 or D3d11 implementation is pretty good, but depending upon the pipeline & hw performance numbers should vary. 

Hope that helps!

-Surbhi

View solution in original post

0 Kudos
4 Replies
Surbhi_M_Intel
Employee
1,699 Views

Hi Donney, 

Media SDK is a software development library that exposes the media acceleration capabilities of Intel platforms for decoding, encoding and video. Media SDK offers both hw & sw support for different codecs & video pre/post algorithms. Using Media SDK APIs, developers can develop professional level media applications. An advantage to use Intel Media SDK is that developers don't have to write separate code paths to tap into platform specific hardware acceleration to improve video performance.

Direct3d is a low graphics API by Microsoft to take advantage of hardware acceleration, more information can be found on wikipedia.    

Media SDK offer two infrastructures to support hw acceleartion i.e. via D3d9 DXVA or D3d11 Video API, details on how to use them can be found in the Media SDK manual. Support for hw acceleration via D3d implementation is hardware dependent. 

OpenCL is an open standard for heterogeneous computing to optimize application performance on GPU. In relation to Media SDK, OpenCL can be used to improve any particular feature like pixel processing which can improve the overall performance of video processing algorithms. You can find details about openCL with Media SDK in the product & samples package of Media SDK. 

In general, decode/encode/transcode performance using hw acceleration via D3d9 or D3d11 implementation is pretty good, but depending upon the pipeline & hw performance numbers should vary. 

Hope that helps!

-Surbhi

0 Kudos
donglin_q_
Beginner
1,696 Views

 

Thank you Surbhi for your clarification!

0 Kudos
diamantis__nikos
1,696 Views

@Surbhi and all.

There is no HW acceleration for encoding via Microsoft's DXVA. DXVA is an API that can be used for decoding only (not encoding)

So, I believe that using Intel's MediaSDK for HW acceleration of encoding process, means that you are using a proprietary API from Intel, with a code base from Intel, without using any Microsoft code (for encoding).

If you have any proof of the opposite, please provide it.

 

 

0 Kudos
Surbhi_M_Intel
Employee
1,696 Views

Hi Nikos, 

You are right for defining the hw acceleration for encoding and yes, Microsoft DXVA can be used for decoding. I din't specify for encoding & decoding separately. 

-Surbhi

0 Kudos
Reply