The OpenVX Specification
a73e458
vx_kernels.h
1
/*
2
* Copyright (c) 2012-2017 The Khronos Group Inc.
3
*
4
* Permission is hereby granted, free of charge, to any person obtaining a
5
* copy of this software and/or associated documentation files (the
6
* "Materials"), to deal in the Materials without restriction, including
7
* without limitation the rights to use, copy, modify, merge, publish,
8
* distribute, sublicense, and/or sell copies of the Materials, and to
9
* permit persons to whom the Materials are furnished to do so, subject to
10
* the following conditions:
11
*
12
* The above copyright notice and this permission notice shall be included
13
* in all copies or substantial portions of the Materials.
14
*
15
* MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS
16
* KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS
17
* SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT
18
* https://www.khronos.org/registry/
19
*
20
* THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
23
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
24
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
25
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
26
* MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
27
*/
28
29
#ifndef _OPENVX_KERNELS_H_
30
#define _OPENVX_KERNELS_H_
31
37
#ifdef __cplusplus
38
extern
"C"
{
39
#endif
40
49
#define VX_LIBRARY_KHR_BASE 0x0
50
75
#define VX_KERNEL_COLOR_CONVERT (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x1))
76
85
#define VX_KERNEL_CHANNEL_EXTRACT (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x2))
86
93
#define VX_KERNEL_CHANNEL_COMBINE (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x3))
94
98
#define VX_KERNEL_SOBEL_3x3 (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE , 0x4))
99
105
#define VX_KERNEL_MAGNITUDE (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x5))
106
112
#define VX_KERNEL_PHASE (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x6))
113
121
#define VX_KERNEL_SCALE_IMAGE (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x7))
122
126
#define VX_KERNEL_TABLE_LOOKUP (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x8))
127
131
#define VX_KERNEL_HISTOGRAM (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x9))
132
136
#define VX_KERNEL_EQUALIZE_HISTOGRAM (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0xA))
137
141
#define VX_KERNEL_ABSDIFF (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0xB))
142
146
#define VX_KERNEL_MEAN_STDDEV (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0xC))
147
151
#define VX_KERNEL_THRESHOLD (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0xD))
152
156
#define VX_KERNEL_INTEGRAL_IMAGE (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0xE))
157
161
#define VX_KERNEL_DILATE_3x3 (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0xF))
162
166
#define VX_KERNEL_ERODE_3x3 (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x10))
167
171
#define VX_KERNEL_MEDIAN_3x3 (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x11))
172
176
#define VX_KERNEL_BOX_3x3 (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x12))
177
181
#define VX_KERNEL_GAUSSIAN_3x3 (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x13))
182
186
#define VX_KERNEL_CUSTOM_CONVOLUTION (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x14))
187
191
#define VX_KERNEL_GAUSSIAN_PYRAMID (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x15))
192
196
#define VX_KERNEL_ACCUMULATE (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x16))
197
201
#define VX_KERNEL_ACCUMULATE_WEIGHTED (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x17))
202
206
#define VX_KERNEL_ACCUMULATE_SQUARE (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x18))
207
211
#define VX_KERNEL_MINMAXLOC (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x19))
212
216
#define VX_KERNEL_CONVERTDEPTH (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x1A))
217
221
#define VX_KERNEL_CANNY_EDGE_DETECTOR (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x1B))
222
226
#define VX_KERNEL_AND (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x1C))
227
231
#define VX_KERNEL_OR (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x1D))
232
236
#define VX_KERNEL_XOR (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x1E))
237
241
#define VX_KERNEL_NOT (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x1F))
242
246
#define VX_KERNEL_MULTIPLY (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x20))
247
251
#define VX_KERNEL_ADD (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x21))
252
256
#define VX_KERNEL_SUBTRACT (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x22))
257
261
#define VX_KERNEL_WARP_AFFINE (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x23))
262
266
#define VX_KERNEL_WARP_PERSPECTIVE (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x24))
267
271
#define VX_KERNEL_HARRIS_CORNERS (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x25))
272
276
#define VX_KERNEL_FAST_CORNERS (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x26))
277
281
#define VX_KERNEL_OPTICAL_FLOW_PYR_LK (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x27))
282
286
#define VX_KERNEL_REMAP (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x28))
287
291
#define VX_KERNEL_HALFSCALE_GAUSSIAN (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x29))
292
293
/* kernel added in OpenVX 1.1 */
294
298
#define VX_KERNEL_LAPLACIAN_PYRAMID (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x2A))
299
303
#define VX_KERNEL_LAPLACIAN_RECONSTRUCT (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x2B))
304
308
#define VX_KERNEL_NON_LINEAR_FILTER (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x2C))
309
310
/* insert new kernels here */
313
#define VX_KERNEL_MAX_1_0 (VX_ENUM_KERNEL(VX_ID_KHRONOS, VX_LIBRARY_KHR_BASE, 0x2D))
315
#ifdef __cplusplus
316
}
317
#endif
318
319
#endif
/* _OPEN_VISION_LIBRARY_KERNELS_H_ */
include
VX
vx_kernels.h
Generated on Thu Mar 9 2017 21:39:50 for The OpenVX Specification by
1.8.13