mirror of https://github.com/opencv/opencv.git
parent
0dc28d3446
commit
862fc06b6f
11 changed files with 204 additions and 67 deletions
@ -0,0 +1,160 @@ |
||||
/*******************************************************************************
|
||||
* Copyright (c) 2008-2020 The Khronos Group Inc. |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
******************************************************************************/ |
||||
/*****************************************************************************\
|
||||
|
||||
Copyright (c) 2013-2019 Intel Corporation All Rights Reserved. |
||||
|
||||
THESE MATERIALS ARE PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR ITS |
||||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
||||
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
||||
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
||||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |
||||
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY OR TORT (INCLUDING |
||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THESE |
||||
MATERIALS, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
File Name: cl_va_api_media_sharing_intel.h |
||||
|
||||
Abstract: |
||||
|
||||
Notes: |
||||
|
||||
\*****************************************************************************/ |
||||
|
||||
|
||||
#ifndef __OPENCL_CL_VA_API_MEDIA_SHARING_INTEL_H |
||||
#define __OPENCL_CL_VA_API_MEDIA_SHARING_INTEL_H |
||||
|
||||
#include <CL/cl.h> |
||||
#include <CL/cl_platform.h> |
||||
#include <va/va.h> |
||||
|
||||
#ifdef __cplusplus |
||||
extern "C" { |
||||
#endif |
||||
|
||||
/******************************************
|
||||
* cl_intel_va_api_media_sharing extension * |
||||
*******************************************/ |
||||
|
||||
#define cl_intel_va_api_media_sharing 1 |
||||
|
||||
/* error codes */ |
||||
#define CL_INVALID_VA_API_MEDIA_ADAPTER_INTEL -1098 |
||||
#define CL_INVALID_VA_API_MEDIA_SURFACE_INTEL -1099 |
||||
#define CL_VA_API_MEDIA_SURFACE_ALREADY_ACQUIRED_INTEL -1100 |
||||
#define CL_VA_API_MEDIA_SURFACE_NOT_ACQUIRED_INTEL -1101 |
||||
|
||||
/* cl_va_api_device_source_intel */ |
||||
#define CL_VA_API_DISPLAY_INTEL 0x4094 |
||||
|
||||
/* cl_va_api_device_set_intel */ |
||||
#define CL_PREFERRED_DEVICES_FOR_VA_API_INTEL 0x4095 |
||||
#define CL_ALL_DEVICES_FOR_VA_API_INTEL 0x4096 |
||||
|
||||
/* cl_context_info */ |
||||
#define CL_CONTEXT_VA_API_DISPLAY_INTEL 0x4097 |
||||
|
||||
/* cl_mem_info */ |
||||
#define CL_MEM_VA_API_MEDIA_SURFACE_INTEL 0x4098 |
||||
|
||||
/* cl_image_info */ |
||||
#define CL_IMAGE_VA_API_PLANE_INTEL 0x4099 |
||||
|
||||
/* cl_command_type */ |
||||
#define CL_COMMAND_ACQUIRE_VA_API_MEDIA_SURFACES_INTEL 0x409A |
||||
#define CL_COMMAND_RELEASE_VA_API_MEDIA_SURFACES_INTEL 0x409B |
||||
|
||||
typedef cl_uint cl_va_api_device_source_intel; |
||||
typedef cl_uint cl_va_api_device_set_intel; |
||||
|
||||
extern CL_API_ENTRY cl_int CL_API_CALL |
||||
clGetDeviceIDsFromVA_APIMediaAdapterINTEL( |
||||
cl_platform_id platform, |
||||
cl_va_api_device_source_intel media_adapter_type, |
||||
void* media_adapter, |
||||
cl_va_api_device_set_intel media_adapter_set, |
||||
cl_uint num_entries, |
||||
cl_device_id* devices, |
||||
cl_uint* num_devices) CL_EXT_SUFFIX__VERSION_1_2; |
||||
|
||||
typedef CL_API_ENTRY cl_int (CL_API_CALL * clGetDeviceIDsFromVA_APIMediaAdapterINTEL_fn)( |
||||
cl_platform_id platform, |
||||
cl_va_api_device_source_intel media_adapter_type, |
||||
void* media_adapter, |
||||
cl_va_api_device_set_intel media_adapter_set, |
||||
cl_uint num_entries, |
||||
cl_device_id* devices, |
||||
cl_uint* num_devices) CL_EXT_SUFFIX__VERSION_1_2; |
||||
|
||||
extern CL_API_ENTRY cl_mem CL_API_CALL |
||||
clCreateFromVA_APIMediaSurfaceINTEL( |
||||
cl_context context, |
||||
cl_mem_flags flags, |
||||
VASurfaceID* surface, |
||||
cl_uint plane, |
||||
cl_int* errcode_ret) CL_EXT_SUFFIX__VERSION_1_2; |
||||
|
||||
typedef CL_API_ENTRY cl_mem (CL_API_CALL * clCreateFromVA_APIMediaSurfaceINTEL_fn)( |
||||
cl_context context, |
||||
cl_mem_flags flags, |
||||
VASurfaceID* surface, |
||||
cl_uint plane, |
||||
cl_int* errcode_ret) CL_EXT_SUFFIX__VERSION_1_2; |
||||
|
||||
extern CL_API_ENTRY cl_int CL_API_CALL |
||||
clEnqueueAcquireVA_APIMediaSurfacesINTEL( |
||||
cl_command_queue command_queue, |
||||
cl_uint num_objects, |
||||
const cl_mem* mem_objects, |
||||
cl_uint num_events_in_wait_list, |
||||
const cl_event* event_wait_list, |
||||
cl_event* event) CL_EXT_SUFFIX__VERSION_1_2; |
||||
|
||||
typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueAcquireVA_APIMediaSurfacesINTEL_fn)( |
||||
cl_command_queue command_queue, |
||||
cl_uint num_objects, |
||||
const cl_mem* mem_objects, |
||||
cl_uint num_events_in_wait_list, |
||||
const cl_event* event_wait_list, |
||||
cl_event* event) CL_EXT_SUFFIX__VERSION_1_2; |
||||
|
||||
extern CL_API_ENTRY cl_int CL_API_CALL |
||||
clEnqueueReleaseVA_APIMediaSurfacesINTEL( |
||||
cl_command_queue command_queue, |
||||
cl_uint num_objects, |
||||
const cl_mem* mem_objects, |
||||
cl_uint num_events_in_wait_list, |
||||
const cl_event* event_wait_list, |
||||
cl_event* event) CL_EXT_SUFFIX__VERSION_1_2; |
||||
|
||||
typedef CL_API_ENTRY cl_int (CL_API_CALL *clEnqueueReleaseVA_APIMediaSurfacesINTEL_fn)( |
||||
cl_command_queue command_queue, |
||||
cl_uint num_objects, |
||||
const cl_mem* mem_objects, |
||||
cl_uint num_events_in_wait_list, |
||||
const cl_event* event_wait_list, |
||||
cl_event* event) CL_EXT_SUFFIX__VERSION_1_2; |
||||
|
||||
#ifdef __cplusplus |
||||
} |
||||
#endif |
||||
|
||||
#endif /* __OPENCL_CL_VA_API_MEDIA_SHARING_INTEL_H */ |
||||
|
@ -1,31 +0,0 @@ |
||||
# Main variables: |
||||
# VA_INTEL_IOCL_INCLUDE_DIR to use VA_INTEL |
||||
# HAVE_VA_INTEL for conditional compilation OpenCV with/without VA_INTEL |
||||
|
||||
# VA_INTEL_IOCL_ROOT - root of Intel OCL installation |
||||
|
||||
if(UNIX AND NOT ANDROID) |
||||
ocv_check_environment_variables(VA_INTEL_IOCL_ROOT) |
||||
if(NOT DEFINED VA_INTEL_IOCL_ROOT) |
||||
set(VA_INTEL_IOCL_ROOT "/opt/intel/opencl") |
||||
endif() |
||||
|
||||
find_path( |
||||
VA_INTEL_IOCL_INCLUDE_DIR |
||||
NAMES CL/va_ext.h |
||||
PATHS ${VA_INTEL_IOCL_ROOT} |
||||
PATH_SUFFIXES include |
||||
DOC "Path to Intel OpenCL headers") |
||||
endif() |
||||
|
||||
if(VA_INTEL_IOCL_INCLUDE_DIR) |
||||
set(HAVE_VA_INTEL TRUE) |
||||
if(NOT DEFINED VA_INTEL_LIBRARIES) |
||||
set(VA_INTEL_LIBRARIES "va" "va-drm") |
||||
endif() |
||||
else() |
||||
set(HAVE_VA_INTEL FALSE) |
||||
message(WARNING "Intel OpenCL installation is not found.") |
||||
endif() |
||||
|
||||
mark_as_advanced(FORCE VA_INTEL_IOCL_INCLUDE_DIR) |
Loading…
Reference in new issue