在opencl中更改Directx采集曲面的图像格式
我在opencl工作,从Directx获取媒体表面在opencl中更改Directx采集曲面的图像格式,directx,opencl,intel-media-sdk,Directx,Opencl,Intel Media Sdk,我在opencl工作,从Directx获取媒体表面 /* Working on NV12 surfaces, associate the shared buffer with the kernel object*/ p->memobj[0] = clCreateFromDX9MediaSurfaceINTEL(p->context, CL_MEM_READ_ONLY, input_D3D_surf, input_D3D_surf_hdl, 0, &error);
/* Working on NV12 surfaces, associate the shared buffer with the kernel object*/
p->memobj[0] = clCreateFromDX9MediaSurfaceINTEL(p->context, CL_MEM_READ_ONLY, input_D3D_surf, input_D3D_surf_hdl, 0, &error);
p->memobj[1] = clCreateFromDX9MediaSurfaceINTEL(p->context, CL_MEM_READ_ONLY, input_D3D_surf, input_D3D_surf_hdl, 1, &error);
p->memobj[2] = clCreateFromDX9MediaSurfaceINTEL(p->context, CL_MEM_READ_ONLY, input_D3D_surf, input_D3D_surf_hdl, 0, &error);
p->memobj[3] = clCreateFromDX9MediaSurfaceINTEL(p->context, CL_MEM_READ_ONLY, input_D3D_surf, input_D3D_surf_hdl, 1, &error);
cl_mem surfaces[4];
surfaces[0] = p->memobj[0];
surfaces[1] = p->memobj[1];
surfaces[2] = p->memobj[2];
surfaces[3] = p->memobj[3];
error = clEnqueueAcquireDX9ObjectsINTEL(p->command_queue, 4, surfaces, 0, NULL, NULL);
介质表面的NV12格式如下所述,并且
我想将opencl对象的平面0(表示曲面[0]和曲面[2])的图像格式更改为CL_RGBA。有什么方法可以做到这一点吗?您可以使用英特尔opencl SDK将NV12转换为RGBA。() 示例代码在这里。()
MAKEFOURCC(?N?,?V?,?1?,?2?),Plane0 CL_R CL_UNORM_INT8
MAKEFOURCC(?N?,?V?,?1?,?2?),Plane1 CL_RG CL_UNORM_INT8