The goal of this extension is to provide interoperability between OpenCL and the cross-platform Video Acceleration API (VA API). The extension specifically enables sharing of VA API surfaces for media. It uses similar mechanisms and provides similar surface sharing capabilities for VA API that are provided by the Khronos OpenCL 1.2 Media Surface Sharing extension for DX9.
Requires CL12 and a VA API implementation supporting sharing of surfaces with OpenCL.
| Modifier and Type | Field and Description |
|---|---|
| public static final int | CL_ALL_DEVICES_FOR_VA_API_INTEL
Accepted as a set of VA API devices in the |
| public static final int | CL_COMMAND_ACQUIRE_VA_API_MEDIA_SURFACES_INTEL
Returned in the |
| public static final int | CL_COMMAND_RELEASE_VA_API_MEDIA_SURFACES_INTEL
Returned in the |
| public static final int | CL_CONTEXT_VA_API_DISPLAY_INTEL
Accepted as a property name in the |
| public static final int | CL_IMAGE_VA_API_PLANE_INTEL
Accepted as the property being queried in the |
| public static final int | CL_INVALID_VA_API_MEDIA_ADAPTER_INTEL
Returned by |
| public static final int | CL_INVALID_VA_API_MEDIA_SURFACE_INTEL
Returned by |
| public static final int | CL_MEM_VA_API_MEDIA_SURFACE_INTEL
Accepted as the property being queried in the |
| public static final int | CL_PREFERRED_DEVICES_FOR_VA_API_INTEL
Accepted as a set of VA API devices in the |
| public static final int | CL_VA_API_DISPLAY_INTEL
Accepted as a VA API device source in the |
| public static final int | CL_VA_API_MEDIA_SURFACE_ALREADY_ACQUIRED_INTEL
Returned by |
| public static final int | CL_VA_API_MEDIA_SURFACE_NOT_ACQUIRED_INTEL
Returned by |
| Access | Constructor and Description |
|---|---|
| protected |
| Modifier and Type | Method and Description | |||
|---|---|---|---|---|
| public static long | clCreateFromVA_APIMediaSurfaceINTEL(long
a valid OpenCL context created from a VA API display context, long a bit-field that is used to specify usage information. One of: flags, IntBuffer
a pointer to the VA API surface to share surface, int the plane of plane, IntBuffer surface to share, for planar formats. For non-planar formats, plane must be 0.will return an appropriate error code. If errcode_ret)errcode_ret is NULL, no error code is returned.Creates an OpenCL 2D image object from a VA API media surface or a plane of a VA API media surface. | |||
| public static long | clCreateFromVA_APIMediaSurfaceINTEL(long context, long flags, int[] surface, int plane, int[] errcode_ret)
Array version of: | |||
| public static int | clEnqueueAcquireVA_APIMediaSurfacesINTEL(long
a valid command-queue command_queue, PointerBuffer a pointer to a list of OpenCL memory objects that were created from VA API surfaces mem_objects, PointerBuffer a list of events that need to complete before this particular command can be executed. If event_wait_list, PointerBuffer event_wait_list is NULL, then this particular command
does not wait on any event to complete. The events specified in event_wait_list act as synchronization points. The context associated with events in
event_wait_list and command_queue must be the same.Returns an event object that identifies this particular command and can be used to query or queue a wait for this particular command to complete.
event)event can be NULL in which case it will not be possible for the application to query the status of this command or queue a wait for this command to
complete. If the event_wait_list and the event arguments are not NULL, the event argument should not refer to an element of the
event_wait_list array.Acquires OpenCL memory objects that have been created from VA API surfaces. | |||
| public static int | clEnqueueReleaseVA_APIMediaSurfacesINTEL(long
a valid OpenCL context created from a VA API display command_queue, PointerBuffer a pointer to a list of OpenCL memory objects that were created from VA API surfaces mem_objects, PointerBuffer a list of events that need to complete before this particular command can be executed. If event_wait_list, PointerBuffer event_wait_list is NULL, then this particular command
does not wait on any event to complete. The events specified in event_wait_list act as synchronization points. The context associated with events in
event_wait_list and command_queue must be the same.Returns an event object that identifies this particular command and can be used to query or queue a wait for this particular command to complete.
event)event can be NULL in which case it will not be possible for the application to query the status of this command or queue a wait for this command to
complete. If the event_wait_list and the event arguments are not NULL, the event argument should not refer to an element of the
event_wait_list array.Releases OpenCL memory objects that have been created from VA API surfaces. | |||
| public static int | clGetDeviceIDsFromVA_APIMediaAdapterINTEL(long
the platform ID returned by platform, int media_adapter_type, long GetPlatformIDsthe media adapter whose corresponding OpenCL devices are being queried media_adapter, int media_adapter_set, PointerBuffer returns a list of OpenCL devices found. The devices, IntBuffer cl_device_id values returned in devices can be used to identify a specific OpenCL
device. If devices is NULL, this argument is ignored. The number of OpenCL devices returned is the minimum of the value specified by
num_entries and the number of OpenCL devices corresponding to media_adapter.returns the number of OpenCL devices available that correspond to num_devices)media_adapter. If num_devices is NULL, this argument is ignored.Queries the OpenCL devices corresponding to a VA API display. | |||
| public static int | clGetDeviceIDsFromVA_APIMediaAdapterINTEL(long platform, int media_adapter_type, long media_adapter, int media_adapter_set, PointerBuffer devices, int[] num_devices)
Array version of: | |||
| public static long | nclCreateFromVA_APIMediaSurfaceINTEL(long context, long flags, long surface, int plane, long errcode_ret)
Unsafe version of: | |||
| public static int | nclEnqueueAcquireVA_APIMediaSurfacesINTEL(long command_queue, int
the number of memory objects to be acquired in num_objects, long mem_objects, int mem_objects.the number of events in num_events_in_wait_list, long event_wait_list, long event)event_wait_listUnsafe version of: | |||
| public static int | nclEnqueueReleaseVA_APIMediaSurfacesINTEL(long command_queue, int
the number of memory objects to be released in num_objects, long mem_objects, int mem_objectsthe number of events in num_events_in_wait_list, long event_wait_list, long event)event_wait_listUnsafe version of: | |||
| public static int | nclGetDeviceIDsFromVA_APIMediaAdapterINTEL(long platform, int media_adapter_type, long media_adapter, int media_adapter_set, int
the number of cl_device_id entries that can be added to num_entries, long devices, long num_devices)devices. If devices is not NULL then num_entries must be greater
than zero.Unsafe version of: |
| CL_ALL_DEVICES_FOR_VA_API_INTEL | back to summary |
|---|---|
| public static final int CL_ALL_DEVICES_FOR_VA_API_INTEL Accepted as a set of VA API devices in the | |
| CL_COMMAND_ACQUIRE_VA_API_MEDIA_SURFACES_INTEL | back to summary |
|---|---|
| public static final int CL_COMMAND_ACQUIRE_VA_API_MEDIA_SURFACES_INTEL Returned in the | |
| CL_COMMAND_RELEASE_VA_API_MEDIA_SURFACES_INTEL | back to summary |
|---|---|
| public static final int CL_COMMAND_RELEASE_VA_API_MEDIA_SURFACES_INTEL Returned in the | |
| CL_CONTEXT_VA_API_DISPLAY_INTEL | back to summary |
|---|---|
| public static final int CL_CONTEXT_VA_API_DISPLAY_INTEL Accepted as a property name in the | |
| CL_IMAGE_VA_API_PLANE_INTEL | back to summary |
|---|---|
| public static final int CL_IMAGE_VA_API_PLANE_INTEL Accepted as the property being queried in the | |
| CL_INVALID_VA_API_MEDIA_ADAPTER_INTEL | back to summary |
|---|---|
| public static final int CL_INVALID_VA_API_MEDIA_ADAPTER_INTEL Returned by | |
| CL_INVALID_VA_API_MEDIA_SURFACE_INTEL | back to summary |
|---|---|
| public static final int CL_INVALID_VA_API_MEDIA_SURFACE_INTEL Returned by | |
| CL_MEM_VA_API_MEDIA_SURFACE_INTEL | back to summary |
|---|---|
| public static final int CL_MEM_VA_API_MEDIA_SURFACE_INTEL Accepted as the property being queried in the | |
| CL_PREFERRED_DEVICES_FOR_VA_API_INTEL | back to summary |
|---|---|
| public static final int CL_PREFERRED_DEVICES_FOR_VA_API_INTEL Accepted as a set of VA API devices in the | |
| CL_VA_API_DISPLAY_INTEL | back to summary |
|---|---|
| public static final int CL_VA_API_DISPLAY_INTEL Accepted as a VA API device source in the | |
| CL_VA_API_MEDIA_SURFACE_ALREADY_ACQUIRED_INTEL | back to summary |
|---|---|
| public static final int CL_VA_API_MEDIA_SURFACE_ALREADY_ACQUIRED_INTEL Returned by | |
| CL_VA_API_MEDIA_SURFACE_NOT_ACQUIRED_INTEL | back to summary |
|---|---|
| public static final int CL_VA_API_MEDIA_SURFACE_NOT_ACQUIRED_INTEL Returned by | |
| INTELVAAPIMediaSharing | back to summary |
|---|---|
| protected INTELVAAPIMediaSharing() | |
| clCreateFromVA_APIMediaSurfaceINTEL | back to summary | |||
|---|---|---|---|---|
| public static long clCreateFromVA_APIMediaSurfaceINTEL(long context, long flags, IntBuffer surface, int plane, IntBuffer errcode_ret) Creates an OpenCL 2D image object from a VA API media surface or a plane of a VA API media surface.
| ||||
| clCreateFromVA_APIMediaSurfaceINTEL | back to summary |
|---|---|
| public static long clCreateFromVA_APIMediaSurfaceINTEL(long context, long flags, int[] surface, int plane, int[] errcode_ret) Array version of:
| |
| clEnqueueAcquireVA_APIMediaSurfacesINTEL | back to summary |
|---|---|
| public static int clEnqueueAcquireVA_APIMediaSurfacesINTEL(long command_queue, PointerBuffer mem_objects, PointerBuffer event_wait_list, PointerBuffer event) Acquires OpenCL memory objects that have been created from VA API surfaces. The VA API surfaces are acquired by the OpenCL context associated with
OpenCL memory objects created from VA API surfaces must be acquired before they can be used by any OpenCL commands queued to a command-queue. If an
OpenCL memory object created from a VA API surface is used while it is not acquired by OpenCL, the call attempting to use that OpenCL memory object
will return If
| |
| clEnqueueReleaseVA_APIMediaSurfacesINTEL | back to summary |
|---|---|
| public static int clEnqueueReleaseVA_APIMediaSurfacesINTEL(long command_queue, PointerBuffer mem_objects, PointerBuffer event_wait_list, PointerBuffer event) Releases OpenCL memory objects that have been created from VA API surfaces. The VA API surfaces are released by the OpenCL context associated with
OpenCL memory objects created from VA API surfaces which have been acquired by OpenCL must be released by OpenCL before they may be accessed by VA API. Accessing a VA API surface while its corresponding OpenCL memory object is acquired is in error and will result in undefined behavior, including but not limited to possible OpenCL errors, data corruption, and program termination. If
| |
| clGetDeviceIDsFromVA_APIMediaAdapterINTEL | back to summary | |||
|---|---|---|---|---|
| public static int clGetDeviceIDsFromVA_APIMediaAdapterINTEL(long platform, int media_adapter_type, long media_adapter, int media_adapter_set, PointerBuffer devices, IntBuffer num_devices) Queries the OpenCL devices corresponding to a VA API display.
| ||||
| clGetDeviceIDsFromVA_APIMediaAdapterINTEL | back to summary |
|---|---|
| public static int clGetDeviceIDsFromVA_APIMediaAdapterINTEL(long platform, int media_adapter_type, long media_adapter, int media_adapter_set, PointerBuffer devices, int[] num_devices) Array version of:
| |
| nclCreateFromVA_APIMediaSurfaceINTEL | back to summary |
|---|---|
| public static long nclCreateFromVA_APIMediaSurfaceINTEL(long context, long flags, long surface, int plane, long errcode_ret) Unsafe version of: | |
| nclEnqueueAcquireVA_APIMediaSurfacesINTEL | back to summary |
|---|---|
| public static int nclEnqueueAcquireVA_APIMediaSurfacesINTEL(long command_queue, int num_objects, long mem_objects, int num_events_in_wait_list, long event_wait_list, long event) Unsafe version of:
| |
| nclEnqueueReleaseVA_APIMediaSurfacesINTEL | back to summary |
|---|---|
| public static int nclEnqueueReleaseVA_APIMediaSurfacesINTEL(long command_queue, int num_objects, long mem_objects, int num_events_in_wait_list, long event_wait_list, long event) Unsafe version of:
| |
| nclGetDeviceIDsFromVA_APIMediaAdapterINTEL | back to summary |
|---|---|
| public static int nclGetDeviceIDsFromVA_APIMediaAdapterINTEL(long platform, int media_adapter_type, long media_adapter, int media_adapter_set, int num_entries, long devices, long num_devices) Unsafe version of:
| |