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.
3075 Discussions

Is it efficient: Copy decoded video frame into OpenGL by OpenCL kernel?

Yaroslav_Korchevsky
1,783 Views

Hi

I integrated Intel QuickSync with Intel MediaSDK into a product, which uses OpenGL for video displaying.

My integration receives frame data into system memory.

While benchmarking I encountered, that decoding  into Direct3D memory is much faster.

So, I imagine, that QuickSync decodes frame into Direct3D, and then copies it (probably via DMA) into system memory.

So, in my system, each decoded frame happens double copying of frame data from GPU memory to System memory and back.

As far as I didn't find simple way to copy or use Direct 3D data in OpenGL, I got an idea to copy media frame data inside of GPU memory.

There is OpenCL to DirectX interoperability and OpenGL-openCL interoperability.

The question is: Will this work?

If yes - will it be more efficient, than double DMA via System memory?

0 Kudos
1 Solution
Anthony_P_Intel
Employee
1,783 Views

Hi,

Sorry I missed seeing this question earlier.  I believe the OpenGL extension "WGL_NV_DX_interop" may provide a direct DX->OpenGL solution. I know the OpenGL extension was added to Intel drivers a while ago, but I do not know the latest performance (or if it even supports NV12 media surfaces).  I'll check.

View solution in original post

0 Kudos
9 Replies
Anthony_P_Intel
Employee
1,784 Views

Hi,

Sorry I missed seeing this question earlier.  I believe the OpenGL extension "WGL_NV_DX_interop" may provide a direct DX->OpenGL solution. I know the OpenGL extension was added to Intel drivers a while ago, but I do not know the latest performance (or if it even supports NV12 media surfaces).  I'll check.

0 Kudos
Yaroslav_Korchevsky
1,783 Views

glew-1.10.0 reports missing WGL_NVDX_interop capabilities :(
does it mean it is implemented differently?

glew does not recognize this extension because it checks this capability by NVIDIA algorithm?

 

0 Kudos
Anthony_P_Intel
Employee
1,783 Views

Hi,

I just checked this and I see glew-1.10.0 reporting this extension as supported.

Are you accessing your platform while the Intel graphics adapter is active and DirectX usage is available?

There are several reasons why usability of any Direct3D9 capability might not be available.  (old hardware, remote desktop usage with no monitor, etc.)

Are any D3D9-based applications successfully operating with acceleration? (including MediaSDK?). You can run "dxdiag" and provide the output if you would like me to analyze why you might not be seeing the WGL_NV_DX_interop extension supported.

0 Kudos
Yaroslav_Korchevsky
1,783 Views

I use 2 computers. One is  i3 2100 + H61 chipset

Another is i3 2120 + H77 chipset

both run QuickSync ( hardware accelerated MediaSDK )  I verified it under debugger.

both reports WGL_NV_DX_interop capabilities MISSING

I attach DxDiag of the first configuration

If it is helpful, I will provide second configuration on Monday.

0 Kudos
Yaroslav_Korchevsky
1,783 Views

I attach DxDiag from H77 chipset

0 Kudos
Anthony_P_Intel
Employee
1,783 Views

The processors on these systems are 2nd Generation Intel® Core™ i3 Processors and this OpenGL feature was introduced in the 3nd Generation Intel® Core™ Processors (with Intel® HD Graphics 2500 or newer).

 

0 Kudos
Yaroslav_Korchevsky
1,783 Views

Thank you this is good answer.

However, I still ask about methodology D3D to OpenGL copying with OpenCL ( for possibility to use Intel HD Graphics 2000 also)

Besides, how to recognize is WGL_DX_NV_interop capability supported in the system, running my software?

0 Kudos
Yaroslav_Korchevsky
1,783 Views

Since now II have i5-3570K CPU on GigaByte GA-H77M-D3H motherboard

WGL_DX_NV_interop is still missing :(

I attach new DxDiag and glewinfo files.

is it possible that some other software is missing?

 

 

0 Kudos
Anthony_P_Intel
Employee
1,783 Views

Hi,

From this DxDiag output, it looks like the Intel(r) HD Graphics drivers have not been installed yet (vga driver was listed).  You can obtain the latest drivers here from downloadcenter.intel.com.

Also, i noticed this is running Windows 7.  The Intel(r) 3rd Generation system i checked was running Windows 8.  I believe the Intel OpenGL capabilities are the same on win7 and 8, but I can check with others to make sure.

 

0 Kudos
Reply