Community
cancel
Showing results for 
Search instead for 
Did you mean: 
donglin_q_
Beginner
247 Views

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

Jump to solution

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
247 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

4 Replies
Surbhi_M_Intel
Employee
248 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

donglin_q_
Beginner
247 Views

 

Thank you Surbhi for your clarification!

247 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.

 

 

Surbhi_M_Intel
Employee
247 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

Reply