|
CUresult cuGraphicsVDPAURegisterVideoSurface |
( |
CUgraphicsResource * |
pCudaResource, |
|
|
VdpVideoSurface |
vdpSurface, |
|
|
unsigned int |
flags | |
|
) |
| | |
Registers the VdpVideoSurface specified by vdpSurface for access by CUDA. A handle to the registered object is returned as pCudaResource . The surface's intended usage is specified using flags , as follows:
- CU_GRAPHICS_MAP_RESOURCE_FLAGS_NONE: Specifies no hints about how this resource will be used. It is therefore assumed that this resource will be read from and written to by CUDA. This is the default value.
- CU_GRAPHICS_MAP_RESOURCE_FLAGS_READ_ONLY: Specifies that CUDA will not write to this resource.
- CU_GRAPHICS_MAP_RESOURCE_FLAGS_WRITE_DISCARD: Specifies that CUDA will not read from this resource and will write over the entire contents of the resource, so none of the data previously stored in the resource will be preserved.
The VdpVideoSurface is presented as an array of subresources that may be accessed using pointers returned by cuGraphicsSubResourceGetMappedArray. The exact number of valid arrayIndex values depends on the VDPAU surface format. The mapping is shown in the table below. mipLevel must be 0.
VdpChromaType | arrayIndex | Size | Format | Content |
VDP_CHROMA_TYPE_420 | 0 | w x h/2 | R8 | Top-field luma |
1 | w x h/2 | R8 | Bottom-field luma |
2 | w/2 x h/4 | R8G8 | Top-field chroma |
3 | w/2 x h/4 | R8G8 | Bottom-field chroma |
VDP_CHROMA_TYPE_422 | 0 | w x h/2 | R8 | Top-field luma |
1 | w x h/2 | R8 | Bottom-field luma |
2 | w/2 x h/2 | R8G8 | Top-field chroma |
3 | w/2 x h/2 | R8G8 | Bottom-field chroma |
- Parameters:
-
| pCudaResource | - Pointer to the returned object handle |
| vdpSurface | - The VdpVideoSurface to be registered |
| flags | - Map flags |
- Returns:
- CUDA_SUCCESS, CUDA_ERROR_INVALID_HANDLE, CUDA_ERROR_ALREADY_MAPPED, CUDA_ERROR_INVALID_CONTEXT,
- Note:
- Note that this function may also return error codes from previous, asynchronous launches.
- See also:
- cuCtxCreate, cuVDPAUCtxCreate, cuGraphicsVDPAURegisterOutputSurface, cuGraphicsUnregisterResource, cuGraphicsResourceSetMapFlags, cuGraphicsMapResources, cuGraphicsUnmapResources, cuGraphicsSubResourceGetMappedArray, cuVDPAUGetDevice
|