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