Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
14 Views

Intel Media SDK and openCL filter

Hi,

I've developed a pipeline as shown below:

HEVC Decoder -->  YUV1  -->  openCL Filter  -->  YUV2  -->  HEVC Encoder

Here openCL Filter is not a plugin for QSV, its a separate module. YUV1 and YUV2 frames reside in DX surface.

For openCL filter, if I don't memcpy the frame surface and pass the same surface pointer to the openCL Filter, the output YUV2 gets corrupted. Whereas if i memcpy the YUV1 surface to a unsigned char buffer then apply filter and again memcpy back the result to YUV2 surface the application works but performance is degraded drastically.

Can someone please clarify:

1. Why passing the pointer YUV1->data.y to openCL Filter doesn't work?

2. Is there any work around to remove memcpys?

P.S.: The application is developed in C.

Thnks

Shashwat

0 Kudos
2 Replies
Employee
14 Views

Shashwat,

Could you please take a look at this tutorial https://software.intel.com/en-us/articles/sharing-surfaces-between-opencl-and-directx-11-on-intel-processor-graphics and make sure that you apply all the recommendations there.

0 Kudos
Highlighted
Beginner
14 Views

Thanks robert for the link. 

0 Kudos