develop/amd_openvx/openvx/include/VX/vx_api.h Source File

develop/amd_openvx/openvx/include/VX/vx_api.h Source File#

MIVisionX: develop/amd_openvx/openvx/include/VX/vx_api.h Source File
vx_api.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2012-2026 The Khronos Group Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef OPENVX_API_H
18 #define OPENVX_API_H
19 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
29 /*==============================================================================
30  CONTEXT
31  =============================================================================*/
32 
42 
58 
67 
80 VX_API_ENTRY vx_status VX_API_CALL vxQueryContext(vx_context context, vx_enum attribute, void *ptr, vx_size size);
81 
94 VX_API_ENTRY vx_status VX_API_CALL vxSetContextAttribute(vx_context context, vx_enum attribute, const void *ptr, vx_size size);
95 
108 VX_API_ENTRY vx_status VX_API_CALL vxHint(vx_reference reference, vx_enum hint, const void* data, vx_size data_size);
109 
122 VX_API_ENTRY vx_status VX_API_CALL vxDirective(vx_reference reference, vx_enum directive);
123 
143 
157 
175 VX_API_ENTRY vx_enum VX_API_CALL vxRegisterUserStructWithName(vx_context context, vx_size size, const vx_char* type_name);
176 
191 VX_API_ENTRY vx_status VX_API_CALL vxGetUserStructNameByEnum(vx_context context, vx_enum user_struct_type, vx_char* type_name, vx_size name_size);
192 
205 VX_API_ENTRY vx_status VX_API_CALL vxGetUserStructEnumByName(vx_context context, const vx_char* type_name, vx_enum *user_struct_type);
206 
218 VX_API_ENTRY vx_status VX_API_CALL vxAllocateUserKernelId(vx_context context, vx_enum * pKernelEnumId);
219 
239 
254 VX_API_ENTRY vx_status VX_API_CALL vxSetImmediateModeTarget(vx_context context, vx_enum target_enum, const char* target_string);
255 
256 /*==============================================================================
257  IMAGE
258  =============================================================================*/
259 
276 VX_API_ENTRY vx_image VX_API_CALL vxCreateImage(vx_context context, vx_uint32 width, vx_uint32 height, vx_df_image color);
277 
297 
316 VX_API_ENTRY vx_image VX_API_CALL vxCreateUniformImage(vx_context context, vx_uint32 width, vx_uint32 height, vx_df_image color, const vx_pixel_value_t *value);
317 
355 
389 VX_API_ENTRY vx_image VX_API_CALL vxCreateImageFromHandle(vx_context context, vx_df_image color, const vx_imagepatch_addressing_t addrs[], void *const ptrs[], vx_enum memory_type);
390 
438 VX_API_ENTRY vx_status VX_API_CALL vxSwapImageHandle(vx_image image, void* const new_ptrs[], void* prev_ptrs[], vx_size num_planes);
439 
452 VX_API_ENTRY vx_status VX_API_CALL vxQueryImage(vx_image image, vx_enum attribute, void *ptr, vx_size size);
453 
466 VX_API_ENTRY vx_status VX_API_CALL vxSetImageAttribute(vx_image image, vx_enum attribute, const void *ptr, vx_size size);
467 
480 VX_API_ENTRY vx_status VX_API_CALL vxSetImagePixelValues(vx_image image, const vx_pixel_value_t *pixel_value);
481 
502 
517 VX_API_ENTRY void * VX_API_CALL vxFormatImagePatchAddress1d(void *ptr, vx_uint32 index, const vx_imagepatch_addressing_t *addr);
518 
535 
553 
596 VX_API_ENTRY vx_status VX_API_CALL vxCopyImagePatch(vx_image image, const vx_rectangle_t *image_rect, vx_uint32 image_plane_index, const vx_imagepatch_addressing_t *user_addr, void * user_ptr, vx_enum usage, vx_enum user_mem_type);
597 
674 VX_API_ENTRY vx_status VX_API_CALL vxMapImagePatch(vx_image image, const vx_rectangle_t *rect, vx_uint32 plane_index, vx_map_id *map_id, vx_imagepatch_addressing_t *addr, void **ptr, vx_enum usage, vx_enum mem_type, vx_uint32 flags);
675 
676 
690 VX_API_ENTRY vx_status VX_API_CALL vxUnmapImagePatch(vx_image image, const vx_map_id map_id);
691 
710 
711 
725 
726 
727 
728 /*==============================================================================
729  KERNEL
730  =============================================================================*/
731 
749 
750 
784 VX_API_ENTRY vx_status VX_API_CALL vxLoadKernels(vx_context context, const vx_char *module);
785 
808 VX_API_ENTRY vx_status VX_API_CALL vxUnloadKernels(vx_context context, const vx_char *module);
809 
946 VX_API_ENTRY vx_kernel VX_API_CALL vxGetKernelByName(vx_context context, const vx_char *name);
947 
960 
974 VX_API_ENTRY vx_status VX_API_CALL vxQueryKernel(vx_kernel kernel, vx_enum attribute, void *ptr, vx_size size);
975 
986 
1003  const vx_char *name,
1004  vx_enum enumeration,
1005  vx_kernel_f func_ptr,
1006  vx_uint32 numParams,
1007  vx_kernel_validate_f validate,
1009  vx_kernel_deinitialize_f deinit);
1010 
1024 
1039 VX_API_ENTRY vx_status VX_API_CALL vxAddParameterToKernel(vx_kernel kernel, vx_uint32 index, vx_enum dir, vx_enum data_type, vx_enum state);
1040 
1058 
1073 VX_API_ENTRY vx_status VX_API_CALL vxSetKernelAttribute(vx_kernel kernel, vx_enum attribute, const void *ptr, vx_size size);
1074 
1083 
1084 /*==============================================================================
1085  GRAPH
1086  =============================================================================*/
1087 
1095 
1110 
1133 
1149 
1167 
1182 
1195 VX_API_ENTRY vx_status VX_API_CALL vxQueryGraph(vx_graph graph, vx_enum attribute, void *ptr, vx_size size);
1196 
1209 VX_API_ENTRY vx_status VX_API_CALL vxSetGraphAttribute(vx_graph graph, vx_enum attribute, const void *ptr, vx_size size);
1210 
1222 
1237 
1246 
1257 
1258 /*==============================================================================
1259  NODE
1260  =============================================================================*/
1261 
1276 
1289 VX_API_ENTRY vx_status VX_API_CALL vxQueryNode(vx_node node, vx_enum attribute, void *ptr, vx_size size);
1290 
1306 VX_API_ENTRY vx_status VX_API_CALL vxSetNodeAttribute(vx_node node, vx_enum attribute, const void *ptr, vx_size size);
1307 
1318 
1328 
1343 
1352 
1366 VX_API_ENTRY vx_status VX_API_CALL vxSetNodeTarget(vx_node node, vx_enum target_enum, const char* target_string);
1367 
1390 VX_API_ENTRY vx_status VX_API_CALL vxReplicateNode(vx_graph graph, vx_node first_node, vx_bool replicate[], vx_uint32 number_of_parameters);
1391 
1392 /*==============================================================================
1393  PARAMETER
1394  =============================================================================*/
1395 
1404 
1415 
1429 
1443 
1456 VX_API_ENTRY vx_status VX_API_CALL vxQueryParameter(vx_parameter parameter, vx_enum attribute, void *ptr, vx_size size);
1457 
1458 /*==============================================================================
1459  SCALAR
1460  =============================================================================*/
1461 
1473 VX_API_ENTRY vx_scalar VX_API_CALL vxCreateScalar(vx_context context, vx_enum data_type, const void *ptr);
1474 
1487 VX_API_ENTRY vx_scalar VX_API_CALL vxCreateScalarWithSize(vx_context context, vx_enum data_type, const void *ptr, vx_size size);
1488 
1500 
1511 
1524 VX_API_ENTRY vx_status VX_API_CALL vxQueryScalar(vx_scalar scalar, vx_enum attribute, void *ptr, vx_size size);
1525 
1548 VX_API_ENTRY vx_status VX_API_CALL vxCopyScalar(vx_scalar scalar, void *user_ptr, vx_enum usage, vx_enum user_mem_type);
1549 
1573 VX_API_ENTRY vx_status VX_API_CALL vxCopyScalarWithSize(vx_scalar scalar, vx_size size, void *user_ptr, vx_enum usage, vx_enum user_mem_type);
1574 
1575 /*==============================================================================
1576  REFERENCE
1577  =============================================================================*/
1578 
1591 VX_API_ENTRY vx_status VX_API_CALL vxQueryReference(vx_reference ref, vx_enum attribute, void *ptr, vx_size size);
1592 
1604 
1618 
1642 
1643 /*==============================================================================
1644  DELAY
1645  =============================================================================*/
1646 
1659 VX_API_ENTRY vx_status VX_API_CALL vxQueryDelay(vx_delay delay, vx_enum attribute, void *ptr, vx_size size);
1660 
1671 
1672 
1701  vx_reference exemplar,
1702  vx_size num_slots);
1703 
1716 
1732 
1755 
1756 /*==============================================================================
1757  LOGGING
1758  =============================================================================*/
1759 
1768 VX_API_ENTRY void VX_API_CALL vxAddLogEntry(vx_reference ref, vx_status status, const char *message, ...);
1769 
1777 VX_API_ENTRY void VX_API_CALL vxRegisterLogCallback(vx_context context, vx_log_callback_f callback, vx_bool reentrant);
1778 
1779 /*==============================================================================
1780  LUT
1781  =============================================================================*/
1782 
1791 VX_API_ENTRY vx_lut VX_API_CALL vxCreateLUT(vx_context context, vx_enum data_type, vx_size count);
1792 
1801 VX_API_ENTRY vx_lut VX_API_CALL vxCreateVirtualLUT(vx_graph graph, vx_enum data_type, vx_size count);
1802 
1813 
1826 VX_API_ENTRY vx_status VX_API_CALL vxQueryLUT(vx_lut lut, vx_enum attribute, void *ptr, vx_size size);
1827 
1853 VX_API_ENTRY vx_status VX_API_CALL vxCopyLUT(vx_lut lut, void *user_ptr, vx_enum usage, vx_enum user_mem_type);
1854 
1894 VX_API_ENTRY vx_status VX_API_CALL vxMapLUT(vx_lut lut, vx_map_id *map_id, void **ptr, vx_enum usage, vx_enum mem_type, vx_bitfield flags);
1895 
1910 VX_API_ENTRY vx_status VX_API_CALL vxUnmapLUT(vx_lut lut, const vx_map_id map_id);
1911 
1912 /*==============================================================================
1913  DISTRIBUTION
1914  =============================================================================*/
1915 
1927 
1939 
1950 
1963 VX_API_ENTRY vx_status VX_API_CALL vxQueryDistribution(vx_distribution distribution, vx_enum attribute, void *ptr, vx_size size);
1964 
1989 VX_API_ENTRY vx_status VX_API_CALL vxCopyDistribution(vx_distribution distribution, void *user_ptr, vx_enum usage, vx_enum user_mem_type);
1990 
2031 VX_API_ENTRY vx_status VX_API_CALL vxMapDistribution(vx_distribution distribution, vx_map_id *map_id, void **ptr, vx_enum usage, vx_enum mem_type, vx_bitfield flags);
2032 
2047 VX_API_ENTRY vx_status VX_API_CALL vxUnmapDistribution(vx_distribution distribution, const vx_map_id map_id);
2048 
2049 
2050 /*==============================================================================
2051  THRESHOLD
2052  =============================================================================*/
2053 
2094  vx_enum thresh_type,
2095  vx_df_image input_format,
2096  vx_df_image output_format);
2097 
2113  vx_enum thresh_type,
2114  vx_df_image input_format,
2115  vx_df_image output_format);
2116 
2148  vx_pixel_value_t * value_ptr,
2149  vx_enum usage,
2150  vx_enum user_mem_type
2151  );
2152 
2189  vx_pixel_value_t * lower_value_ptr,
2190  vx_pixel_value_t * upper_value_ptr,
2191  vx_enum usage,
2192  vx_enum user_mem_type);
2193 
2228  vx_pixel_value_t * true_value_ptr,
2229  vx_pixel_value_t * false_value_ptr,
2230  vx_enum usage,
2231  vx_enum user_mem_type);
2232 
2243 
2256 VX_API_ENTRY vx_status VX_API_CALL vxSetThresholdAttribute(vx_threshold thresh, vx_enum attribute, const void *ptr, vx_size size);
2257 
2270 VX_API_ENTRY vx_status VX_API_CALL vxQueryThreshold(vx_threshold thresh, vx_enum attribute, void *ptr, vx_size size);
2271 
2272 /*==============================================================================
2273  MATRIX
2274  =============================================================================*/
2275 
2285 VX_API_ENTRY vx_matrix VX_API_CALL vxCreateMatrix(vx_context c, vx_enum data_type, vx_size columns, vx_size rows);
2286 
2297 VX_API_ENTRY vx_matrix VX_API_CALL vxCreateVirtualMatrix(vx_graph graph, vx_enum data_type, vx_size columns, vx_size rows);
2298 
2309 
2322 VX_API_ENTRY vx_status VX_API_CALL vxQueryMatrix(vx_matrix mat, vx_enum attribute, void *ptr, vx_size size);
2323 
2350 VX_API_ENTRY vx_status VX_API_CALL vxCopyMatrix(vx_matrix matrix, void *user_ptr, vx_enum usage, vx_enum user_mem_type);
2351 
2362 VX_API_ENTRY vx_matrix VX_API_CALL vxCreateMatrixFromPattern(vx_context context, vx_enum pattern, vx_size columns, vx_size rows);
2363 
2389 VX_API_ENTRY vx_matrix VX_API_CALL vxCreateMatrixFromPatternAndOrigin(vx_context context, vx_enum pattern, vx_size columns, vx_size rows, vx_size origin_col, vx_size origin_row);
2390 
2391 
2392 /*==============================================================================
2393  CONVOLUTION
2394  =============================================================================*/
2395 
2409 
2424 
2435 
2448 VX_API_ENTRY vx_status VX_API_CALL vxQueryConvolution(vx_convolution conv, vx_enum attribute, void *ptr, vx_size size);
2449 
2462 VX_API_ENTRY vx_status VX_API_CALL vxSetConvolutionAttribute(vx_convolution conv, vx_enum attribute, const void *ptr, vx_size size);
2463 
2490 VX_API_ENTRY vx_status VX_API_CALL vxCopyConvolutionCoefficients(vx_convolution conv, void *user_ptr, vx_enum usage, vx_enum user_mem_type);
2491 
2492 
2493 /*==============================================================================
2494  PYRAMID
2495  =============================================================================*/
2496 
2509 VX_API_ENTRY vx_pyramid VX_API_CALL vxCreatePyramid(vx_context context, vx_size levels, vx_float32 scale, vx_uint32 width, vx_uint32 height, vx_df_image format);
2510 
2537 VX_API_ENTRY vx_pyramid VX_API_CALL vxCreateVirtualPyramid(vx_graph graph, vx_size levels, vx_float32 scale, vx_uint32 width, vx_uint32 height, vx_df_image format);
2538 
2539 
2550 
2563 VX_API_ENTRY vx_status VX_API_CALL vxQueryPyramid(vx_pyramid pyr, vx_enum attribute, void *ptr, vx_size size);
2564 
2575 
2576 /*==============================================================================
2577  REMAP
2578  =============================================================================*/
2579 
2591  vx_uint32 src_width,
2592  vx_uint32 src_height,
2593  vx_uint32 dst_width,
2594  vx_uint32 dst_height);
2595 
2608  vx_uint32 src_width,
2609  vx_uint32 src_height,
2610  vx_uint32 dst_width,
2611  vx_uint32 dst_height);
2612 
2623 
2698  const vx_rectangle_t *rect,
2699  vx_map_id *map_id,
2700  vx_size *stride_y,
2701  void **ptr,
2702  vx_enum coordinate_type,
2703  vx_enum usage,
2704  vx_enum mem_type);
2705 
2720 VX_API_ENTRY vx_status VX_API_CALL vxUnmapRemapPatch(vx_remap remap, const vx_map_id map_id);
2721 
2780  const vx_rectangle_t *rect,
2781  vx_size user_stride_y,
2782  void * user_ptr,
2783  vx_enum user_coordinate_type,
2784  vx_enum usage,
2785  vx_enum user_mem_type);
2786 
2799 VX_API_ENTRY vx_status VX_API_CALL vxQueryRemap(vx_remap table, vx_enum attribute, void *ptr, vx_size size);
2800 
2801 /*==============================================================================
2802  ARRAY
2803  =============================================================================*/
2804 
2821 VX_API_ENTRY vx_array VX_API_CALL vxCreateArray(vx_context context, vx_enum item_type, vx_size capacity);
2822 
2853 VX_API_ENTRY vx_array VX_API_CALL vxCreateVirtualArray(vx_graph graph, vx_enum item_type, vx_size capacity);
2854 
2866 
2883 VX_API_ENTRY vx_status VX_API_CALL vxQueryArray(vx_array arr, vx_enum attribute, void *ptr, vx_size size);
2884 
2908 VX_API_ENTRY vx_status VX_API_CALL vxAddArrayItems(vx_array arr, vx_size count, const void *ptr, vx_size stride);
2909 
2923 VX_API_ENTRY vx_status VX_API_CALL vxTruncateArray(vx_array arr, vx_size new_num_items);
2924 
2958 VX_API_ENTRY vx_status VX_API_CALL vxCopyArrayRange(vx_array array, vx_size range_start, vx_size range_end, vx_size user_stride, void *user_ptr, vx_enum usage, vx_enum user_mem_type);
2959 
3011 VX_API_ENTRY vx_status VX_API_CALL vxMapArrayRange(vx_array array, vx_size range_start, vx_size range_end, vx_map_id *map_id, vx_size *stride, void **ptr, vx_enum usage, vx_enum mem_type, vx_uint32 flags);
3012 
3027 VX_API_ENTRY vx_status VX_API_CALL vxUnmapArrayRange(vx_array array, const vx_map_id map_id);
3028 
3036 #define vxFormatArrayPointer(ptr, index, stride) \
3037  (&(((vx_uint8*)(ptr))[(index) * (stride)]))
3038 
3047 #define vxArrayItem(type, ptr, index, stride) \
3048  (*(type *)(vxFormatArrayPointer((ptr), (index), (stride))))
3049 
3050 
3051 /*==============================================================================
3052  OBJECT ARRAY
3053  =============================================================================*/
3073 
3090 
3104 
3119 
3135 VX_API_ENTRY vx_status VX_API_CALL vxQueryObjectArray(vx_object_array arr, vx_enum attribute, void *ptr, vx_size size);
3136 
3137 
3138 /*==============================================================================
3139  META FORMAT
3140  =============================================================================*/
3141 
3160 VX_API_ENTRY vx_status VX_API_CALL vxSetMetaFormatAttribute(vx_meta_format meta, vx_enum attribute, const void *ptr, vx_size size);
3161 
3175 
3208 VX_API_ENTRY vx_status VX_API_CALL vxQueryMetaFormatAttribute(vx_meta_format meta, vx_enum attribute, void *ptr, vx_size size);
3209 
3210 /*==============================================================================
3211  TENSOR DATA FUNCTIONS
3212 =============================================================================*/
3213 
3228 VX_API_ENTRY vx_tensor VX_API_CALL vxCreateTensor(vx_context context, vx_size number_of_dims, const vx_size * dims, vx_enum data_type, vx_int8 fixed_point_position);
3229 
3244 VX_API_ENTRY vx_object_array VX_API_CALL vxCreateImageObjectArrayFromTensor(vx_tensor tensor, const vx_rectangle_t *rect, vx_size array_size, vx_size jump, vx_df_image image_format);
3245 
3259 VX_API_ENTRY vx_tensor VX_API_CALL vxCreateTensorFromView(vx_tensor tensor, vx_size number_of_dims, const vx_size * view_start, const vx_size * view_end);
3260 
3284 VX_API_ENTRY vx_tensor VX_API_CALL vxCreateVirtualTensor(vx_graph graph, vx_size number_of_dims, const vx_size *dims, vx_enum data_type, vx_int8 fixed_point_position);
3285 
3310 VX_API_ENTRY vx_tensor VX_API_CALL vxCreateTensorFromHandle(vx_context context, vx_size number_of_dims, const vx_size *dims, vx_enum data_type, vx_int8 fixed_point_position, const vx_size * stride, void * ptr, vx_enum memory_type);
3311 
3345 VX_API_ENTRY vx_status VX_API_CALL vxSwapTensorHandle(vx_tensor tensor, void* new_ptr, void** prev_ptr);
3346 
3347 
3378 VX_API_ENTRY vx_status VX_API_CALL vxCopyTensorPatch(vx_tensor tensor, vx_size number_of_dims, const vx_size * view_start, const vx_size * view_end,
3379  const vx_size * user_stride, void * user_ptr, vx_enum usage, vx_enum user_memory_type);
3380 
3425 VX_API_ENTRY vx_status VX_API_CALL vxMapTensorPatch(vx_tensor tensor, vx_size number_of_dims, const vx_size * view_start, const vx_size * view_end, vx_map_id * map_id, vx_size * stride, void ** ptr, vx_enum usage, vx_enum mem_type);
3426 
3441 VX_API_ENTRY vx_status VX_API_CALL vxUnmapTensorPatch(vx_tensor tensor, const vx_map_id map_id);
3442 
3455 VX_API_ENTRY vx_status VX_API_CALL vxQueryTensor(vx_tensor tensor, vx_enum attribute, void *ptr, vx_size size);
3456 
3467 
3468 #ifdef __cplusplus
3469 }
3470 #endif
3471 
3472 #endif
The addressing image patch structure is used by the Host only to address pixels in an image patch....
Definition: vx_types.h:1582
The rectangle data structure that is shared with the users. The area of the rectangle can be computed...
Definition: vx_types.h:1711
Union that describes the value of a pixel for any image format. Use the field corresponding to the im...
Definition: vx_types.h:1747
VX_API_ENTRY vx_image VX_API_CALL vxCreateVirtualImage(vx_graph graph, vx_uint32 width, vx_uint32 height, vx_df_image color)
Creates an opaque reference to an image buffer with no direct user access. This function allows setti...
VX_API_ENTRY vx_status VX_API_CALL vxCopyArrayRange(vx_array array, vx_size range_start, vx_size range_end, vx_size user_stride, void *user_ptr, vx_enum usage, vx_enum user_mem_type)
Allows the application to copy a range from/into an array object.
VX_API_ENTRY vx_status VX_API_CALL vxCopyThresholdRange(vx_threshold thresh, vx_pixel_value_t *lower_value_ptr, vx_pixel_value_t *upper_value_ptr, vx_enum usage, vx_enum user_mem_type)
Allows the application to copy thresholding values from/into a threshold object with type VX_THRESHOL...
VX_API_ENTRY vx_status VX_API_CALL vxQueryParameter(vx_parameter parameter, vx_enum attribute, void *ptr, vx_size size)
Allows the client to query a parameter to determine its meta-information.
VX_API_ENTRY vx_status VX_API_CALL vxAddParameterToKernel(vx_kernel kernel, vx_uint32 index, vx_enum dir, vx_enum data_type, vx_enum state)
Allows users to set the signatures of the custom kernel.
VX_API_ENTRY vx_status VX_API_CALL vxUnmapRemapPatch(vx_remap remap, const vx_map_id map_id)
Unmap and commit potential changes to a remap object patch that was previously mapped.
VX_API_ENTRY vx_status VX_API_CALL vxUnmapLUT(vx_lut lut, const vx_map_id map_id)
Unmap and commit potential changes to LUT object that was previously mapped. Unmapping a LUT invalida...
VX_API_ENTRY vx_status VX_API_CALL vxMapTensorPatch(vx_tensor tensor, vx_size number_of_dims, const vx_size *view_start, const vx_size *view_end, vx_map_id *map_id, vx_size *stride, void **ptr, vx_enum usage, vx_enum mem_type)
Allows the application to get direct access to a patch of tensor object.
VX_API_ENTRY vx_tensor VX_API_CALL vxCreateTensorFromView(vx_tensor tensor, vx_size number_of_dims, const vx_size *view_start, const vx_size *view_end)
Creates a tensor data from another tensor data given a view. This second reference refers to the data...
VX_API_ENTRY vx_scalar VX_API_CALL vxCreateScalarWithSize(vx_context context, vx_enum data_type, const void *ptr, vx_size size)
Creates a reference to a scalar object. Also see sub_node_parameters.
VX_API_ENTRY vx_status VX_API_CALL vxAllocateUserKernelId(vx_context context, vx_enum *pKernelEnumId)
Allocates and registers user-defined kernel enumeration to a context. The allocated enumeration is fr...
VX_API_ENTRY vx_status VX_API_CALL vxCopyLUT(vx_lut lut, void *user_ptr, vx_enum usage, vx_enum user_mem_type)
Allows the application to copy from/into a LUT object.
VX_API_ENTRY vx_lut VX_API_CALL vxCreateVirtualLUT(vx_graph graph, vx_enum data_type, vx_size count)
Creates an opaque reference to a LUT object with no direct user access.
VX_API_ENTRY vx_kernel VX_API_CALL vxAddUserKernel(vx_context context, const vx_char *name, vx_enum enumeration, vx_kernel_f func_ptr, vx_uint32 numParams, vx_kernel_validate_f validate, vx_kernel_initialize_f init, vx_kernel_deinitialize_f deinit)
Allows users to add custom kernels to a context at run-time.
VX_API_ENTRY vx_status VX_API_CALL vxSetImagePixelValues(vx_image image, const vx_pixel_value_t *pixel_value)
Initialize an image with the given pixel value.
VX_API_ENTRY vx_context VX_API_CALL vxGetContext(vx_reference reference)
Retrieves the context from any reference from within a context.
VX_API_ENTRY vx_enum VX_API_CALL vxRegisterUserStructWithName(vx_context context, vx_size size, const vx_char *type_name)
Registers user-defined structures to the context, and associates a name to it.
VX_API_ENTRY vx_object_array VX_API_CALL vxCreateVirtualObjectArray(vx_graph graph, vx_reference exemplar, vx_size count)
Creates an opaque reference to a virtual ObjectArray with no direct user access.
VX_API_ENTRY vx_status VX_API_CALL vxQueryPyramid(vx_pyramid pyr, vx_enum attribute, void *ptr, vx_size size)
Queries an attribute from an image pyramid.
VX_API_ENTRY vx_status VX_API_CALL vxCopyScalarWithSize(vx_scalar scalar, vx_size size, void *user_ptr, vx_enum usage, vx_enum user_mem_type)
Allows the application to copy from/into a scalar object with size.
VX_API_ENTRY vx_image VX_API_CALL vxCreateUniformImage(vx_context context, vx_uint32 width, vx_uint32 height, vx_df_image color, const vx_pixel_value_t *value)
Creates a reference to an image object that has a singular, uniform value in all pixels....
VX_API_ENTRY vx_status VX_API_CALL vxSetParameterByReference(vx_parameter parameter, vx_reference value)
Associates a parameter reference and a data reference with a kernel on a node.
VX_API_ENTRY vx_status VX_API_CALL vxMapDistribution(vx_distribution distribution, vx_map_id *map_id, void **ptr, vx_enum usage, vx_enum mem_type, vx_bitfield flags)
Allows the application to get direct access to distribution object.
VX_API_ENTRY vx_status VX_API_CALL vxQueryImage(vx_image image, vx_enum attribute, void *ptr, vx_size size)
Retrieves various attributes of an image.
VX_API_ENTRY vx_matrix VX_API_CALL vxCreateMatrixFromPattern(vx_context context, vx_enum pattern, vx_size columns, vx_size rows)
Creates a reference to a matrix object from a boolean pattern.
VX_API_ENTRY vx_status VX_API_CALL vxQueryDelay(vx_delay delay, vx_enum attribute, void *ptr, vx_size size)
Queries a vx_delay object attribute.
VX_API_ENTRY vx_status VX_API_CALL vxGetUserStructNameByEnum(vx_context context, vx_enum user_struct_type, vx_char *type_name, vx_size name_size)
Returns the name of the user-defined structure associated with the enumeration given.
VX_API_ENTRY vx_parameter VX_API_CALL vxGetGraphParameterByIndex(vx_graph graph, vx_uint32 index)
Retrieves a vx_parameter from a vx_graph.
VX_API_ENTRY vx_status VX_API_CALL vxQueryObjectArray(vx_object_array arr, vx_enum attribute, void *ptr, vx_size size)
Queries an attribute from the ObjectArray.
VX_API_ENTRY vx_status VX_API_CALL vxReleaseRemap(vx_remap *table)
Releases a reference to a remap table object. The object may not be garbage collected until its total...
VX_API_ENTRY vx_status VX_API_CALL vxSwapTensorHandle(vx_tensor tensor, void *new_ptr, void **prev_ptr)
Swaps the tensor handle of a tensor previously created from handle.
VX_API_ENTRY vx_status VX_API_CALL vxAgeDelay(vx_delay delay)
Shifts the internal delay ring by one.
VX_API_ENTRY vx_nodecomplete_f VX_API_CALL vxRetrieveNodeCallback(vx_node node)
Retrieves the current node callback function pointer set on the node.
VX_API_ENTRY vx_threshold VX_API_CALL vxCreateVirtualThresholdForImage(vx_graph graph, vx_enum thresh_type, vx_df_image input_format, vx_df_image output_format)
Creates an opaque reference to a threshold object without direct user access.
VX_API_ENTRY vx_scalar VX_API_CALL vxCreateScalar(vx_context context, vx_enum data_type, const void *ptr)
Creates a reference to a scalar object. Also see sub_node_parameters.
VX_API_ENTRY void *VX_API_CALL vxFormatImagePatchAddress1d(void *ptr, vx_uint32 index, const vx_imagepatch_addressing_t *addr)
Accesses a specific indexed pixel in an image patch.
VX_API_ENTRY vx_status VX_API_CALL vxQueryContext(vx_context context, vx_enum attribute, void *ptr, vx_size size)
Queries the context for some specific information.
VX_API_ENTRY vx_status VX_API_CALL vxRegisterAutoAging(vx_graph graph, vx_delay delay)
Register a delay for auto-aging.
VX_API_ENTRY vx_status VX_API_CALL vxUnmapDistribution(vx_distribution distribution, const vx_map_id map_id)
Unmap and commit potential changes to distribution object that was previously mapped....
VX_API_ENTRY vx_status VX_API_CALL vxCopyConvolutionCoefficients(vx_convolution conv, void *user_ptr, vx_enum usage, vx_enum user_mem_type)
Allows the application to copy coefficients from/into a convolution object.
VX_API_ENTRY vx_status VX_API_CALL vxQueryScalar(vx_scalar scalar, vx_enum attribute, void *ptr, vx_size size)
Queries attributes from a scalar.
VX_API_ENTRY vx_status VX_API_CALL vxAddArrayItems(vx_array arr, vx_size count, const void *ptr, vx_size stride)
Adds items to the Array.
VX_API_ENTRY vx_status VX_API_CALL vxSetGraphAttribute(vx_graph graph, vx_enum attribute, const void *ptr, vx_size size)
Allows the attributes of the Graph to be set to the provided value.
VX_API_ENTRY vx_status VX_API_CALL vxSetMetaFormatFromReference(vx_meta_format meta, vx_reference exemplar)
Set a meta format object from an exemplar data object reference.
VX_API_ENTRY vx_distribution VX_API_CALL vxCreateVirtualDistribution(vx_graph graph, vx_size numBins, vx_int32 offset, vx_uint32 range)
Creates an opaque reference to a 1D Distribution object without direct user access.
VX_API_ENTRY vx_node VX_API_CALL vxCreateGenericNode(vx_graph graph, vx_kernel kernel)
Creates a reference to a node object for a given kernel.
VX_API_ENTRY vx_image VX_API_CALL vxGetPyramidLevel(vx_pyramid pyr, vx_uint32 index)
Retrieves a level of the pyramid as a vx_image, which can be used elsewhere in OpenVX....
VX_API_ENTRY vx_status VX_API_CALL vxUnloadKernels(vx_context context, const vx_char *module)
Unloads all kernels from the OpenVX context that had been loaded from the module using the vxLoadKern...
VX_API_ENTRY vx_reference VX_API_CALL vxGetObjectArrayItem(vx_object_array arr, vx_uint32 index)
Retrieves the reference to the OpenVX Object in location index of the ObjectArray.
VX_API_ENTRY vx_convolution VX_API_CALL vxCreateConvolution(vx_context context, vx_size columns, vx_size rows)
Creates a reference to a convolution matrix object.
VX_API_ENTRY vx_status VX_API_CALL vxCopyMatrix(vx_matrix matrix, void *user_ptr, vx_enum usage, vx_enum user_mem_type)
Allows the application to copy from/into a matrix object.
VX_API_ENTRY vx_remap VX_API_CALL vxCreateRemap(vx_context context, vx_uint32 src_width, vx_uint32 src_height, vx_uint32 dst_width, vx_uint32 dst_height)
Creates a remap table object.
VX_API_ENTRY vx_status VX_API_CALL vxSetThresholdAttribute(vx_threshold thresh, vx_enum attribute, const void *ptr, vx_size size)
Sets attributes on the threshold object.
VX_API_ENTRY vx_matrix VX_API_CALL vxCreateMatrix(vx_context c, vx_enum data_type, vx_size columns, vx_size rows)
Creates a reference to a matrix object.
VX_API_ENTRY vx_threshold VX_API_CALL vxCreateThresholdForImage(vx_context context, vx_enum thresh_type, vx_df_image input_format, vx_df_image output_format)
Creates a threshold object and returns a reference to it.
VX_API_ENTRY vx_reference VX_API_CALL vxGetReferenceFromDelay(vx_delay delay, vx_int32 index)
Retrieves a reference to a delay slot object.
VX_API_ENTRY vx_image VX_API_CALL vxCreateImageFromHandle(vx_context context, vx_df_image color, const vx_imagepatch_addressing_t addrs[], void *const ptrs[], vx_enum memory_type)
Creates a reference to an image object that was externally allocated.
VX_API_ENTRY vx_status VX_API_CALL vxQueryKernel(vx_kernel kernel, vx_enum attribute, void *ptr, vx_size size)
This allows the client to query the kernel to get information about the number of parameters,...
VX_API_ENTRY vx_status VX_API_CALL vxReleaseNode(vx_node *node)
Releases a reference to a Node object. The object may not be garbage collected until its total refere...
VX_API_ENTRY vx_status VX_API_CALL vxQueryNode(vx_node node, vx_enum attribute, void *ptr, vx_size size)
Allows a user to query information out of a node.
VX_API_ENTRY vx_lut VX_API_CALL vxCreateLUT(vx_context context, vx_enum data_type, vx_size count)
Creates LUT object of a given type. The value of VX_LUT_OFFSET is equal to 0 for data_type = VX_TYPE_...
VX_API_ENTRY vx_status VX_API_CALL vxReleaseDistribution(vx_distribution *distribution)
Releases a reference to a distribution object. The object may not be garbage collected until its tota...
VX_API_ENTRY vx_status VX_API_CALL vxSwapImageHandle(vx_image image, void *const new_ptrs[], void *prev_ptrs[], vx_size num_planes)
Swaps the image handle of an image previously created from handle.
VX_API_ENTRY vx_status VX_API_CALL vxSetReferenceName(vx_reference ref, const vx_char *name)
Name a reference.
VX_API_ENTRY vx_status VX_API_CALL vxUnmapArrayRange(vx_array array, const vx_map_id map_id)
Unmap and commit potential changes to an array object range that was previously mapped....
VX_API_ENTRY vx_matrix VX_API_CALL vxCreateVirtualMatrix(vx_graph graph, vx_enum data_type, vx_size columns, vx_size rows)
Creates an opaque reference to a matrix object without direct user access.
VX_API_ENTRY vx_status VX_API_CALL vxSetConvolutionAttribute(vx_convolution conv, vx_enum attribute, const void *ptr, vx_size size)
Sets attributes on the convolution object.
VX_API_ENTRY vx_status VX_API_CALL vxSetImageValidRectangle(vx_image image, const vx_rectangle_t *rect)
Sets the valid rectangle for an image according to a supplied rectangle.
VX_API_ENTRY vx_status VX_API_CALL vxQueryReference(vx_reference ref, vx_enum attribute, void *ptr, vx_size size)
Queries any reference type for some basic information like count or type.
VX_API_ENTRY vx_status VX_API_CALL vxQueryMatrix(vx_matrix mat, vx_enum attribute, void *ptr, vx_size size)
Queries an attribute on the matrix object.
VX_API_ENTRY vx_status VX_API_CALL vxReleaseConvolution(vx_convolution *conv)
Releases the reference to a convolution matrix. The object may not be garbage collected until its tot...
VX_API_ENTRY vx_status VX_API_CALL vxMapArrayRange(vx_array array, vx_size range_start, vx_size range_end, vx_map_id *map_id, vx_size *stride, void **ptr, vx_enum usage, vx_enum mem_type, vx_uint32 flags)
Allows the application to get direct access to a range of an array object.
VX_API_ENTRY vx_status VX_API_CALL vxFinalizeKernel(vx_kernel kernel)
This API is called after all parameters have been added to the kernel and the kernel is ready to be u...
VX_API_ENTRY vx_status VX_API_CALL vxUnmapTensorPatch(vx_tensor tensor, const vx_map_id map_id)
Unmap and commit potential changes to a tensor object patch that was previously mapped....
VX_API_ENTRY vx_status VX_API_CALL vxQueryMetaFormatAttribute(vx_meta_format meta, vx_enum attribute, void *ptr, vx_size size)
This function allows a user to query the attributes of a vx_meta_format object in a kernel parameter.
VX_API_ENTRY vx_status VX_API_CALL vxReleasePyramid(vx_pyramid *pyr)
Releases a reference to a pyramid object. The object may not be garbage collected until its total ref...
VX_API_ENTRY vx_enum VX_API_CALL vxRegisterUserStruct(vx_context context, vx_size size)
Registers user-defined structures to the context.
VX_API_ENTRY vx_status VX_API_CALL vxReleaseTensor(vx_tensor *tensor)
Releases a reference to a tensor data object. The object may not be garbage collected until its total...
VX_API_ENTRY vx_status VX_API_CALL vxSetNodeTarget(vx_node node, vx_enum target_enum, const char *target_string)
Sets the node target to the provided value. A success invalidates the graph that the node belongs to ...
VX_API_ENTRY vx_status VX_API_CALL vxReleaseKernel(vx_kernel *kernel)
Release the reference to the kernel. The object may not be garbage collected until its total referenc...
VX_API_ENTRY vx_context VX_API_CALL vxCreateContext(void)
Creates a vx_context.
VX_API_ENTRY vx_status VX_API_CALL vxReplicateNode(vx_graph graph, vx_node first_node, vx_bool replicate[], vx_uint32 number_of_parameters)
Creates replicas of the same node first_node to process a set of objects stored in vx_pyramid or vx_o...
VX_API_ENTRY vx_status VX_API_CALL vxRemoveKernel(vx_kernel kernel)
Removes a custom kernel from its context and releases it.
VX_API_ENTRY vx_status VX_API_CALL vxQueryTensor(vx_tensor tensor, vx_enum attribute, void *ptr, vx_size size)
Retrieves various attributes of a tensor data.
VX_API_ENTRY vx_status VX_API_CALL vxMapImagePatch(vx_image image, const vx_rectangle_t *rect, vx_uint32 plane_index, vx_map_id *map_id, vx_imagepatch_addressing_t *addr, void **ptr, vx_enum usage, vx_enum mem_type, vx_uint32 flags)
Allows the application to get direct access to a rectangular patch of an image object plane.
VX_API_ENTRY vx_status VX_API_CALL vxCopyThresholdValue(vx_threshold thresh, vx_pixel_value_t *value_ptr, vx_enum usage, vx_enum user_mem_type)
Allows the application to copy the thresholding value from/into a threshold object with type VX_THRES...
VX_API_ENTRY vx_status VX_API_CALL vxGetUserStructEnumByName(vx_context context, const vx_char *type_name, vx_enum *user_struct_type)
Returns the enum of the user-defined structure associated with the name given.
VX_API_ENTRY vx_status VX_API_CALL vxUnmapImagePatch(vx_image image, const vx_map_id map_id)
Unmap and commit potential changes to an image object patch that were previously mapped....
VX_API_ENTRY vx_status VX_API_CALL vxVerifyGraph(vx_graph graph)
Verifies the state of the graph before it is executed. This is useful to catch programmer errors and ...
VX_API_ENTRY vx_delay VX_API_CALL vxCreateDelay(vx_context context, vx_reference exemplar, vx_size num_slots)
Creates a Delay object.
VX_API_ENTRY vx_status VX_API_CALL vxMapRemapPatch(vx_remap remap, const vx_rectangle_t *rect, vx_map_id *map_id, vx_size *stride_y, void **ptr, vx_enum coordinate_type, vx_enum usage, vx_enum mem_type)
Allows the application to get direct access to a rectangular patch of a remap object.
VX_API_ENTRY vx_status VX_API_CALL vxRetainReference(vx_reference ref)
Increments the reference counter of an object. This function is used to express the fact that the Ope...
VX_API_ENTRY vx_status VX_API_CALL vxCopyRemapPatch(vx_remap remap, const vx_rectangle_t *rect, vx_size user_stride_y, void *user_ptr, vx_enum user_coordinate_type, vx_enum usage, vx_enum user_mem_type)
Allows the application to copy a rectangular patch from/into a remap object.
VX_API_ENTRY vx_status VX_API_CALL vxReleaseImage(vx_image *image)
Releases a reference to an image object. The object may not be garbage collected until its total refe...
VX_API_ENTRY vx_parameter VX_API_CALL vxGetParameterByIndex(vx_node node, vx_uint32 index)
Retrieves a vx_parameter from a vx_node.
VX_API_ENTRY vx_status VX_API_CALL vxQueryDistribution(vx_distribution distribution, vx_enum attribute, void *ptr, vx_size size)
Queries a Distribution object.
VX_API_ENTRY vx_tensor VX_API_CALL vxCreateVirtualTensor(vx_graph graph, vx_size number_of_dims, const vx_size *dims, vx_enum data_type, vx_int8 fixed_point_position)
Creates an opaque reference to a tensor data buffer with no direct user access. This function allows ...
VX_API_ENTRY vx_pyramid VX_API_CALL vxCreatePyramid(vx_context context, vx_size levels, vx_float32 scale, vx_uint32 width, vx_uint32 height, vx_df_image format)
Creates a reference to a pyramid object of the supplied number of levels.
VX_API_ENTRY vx_status VX_API_CALL vxReleaseParameter(vx_parameter *param)
Releases a reference to a parameter object. The object may not be garbage collected until its total r...
VX_API_ENTRY vx_convolution VX_API_CALL vxCreateVirtualConvolution(vx_graph graph, vx_size columns, vx_size rows)
Creates an opaque reference to a convolution matrix object without direct user access.
VX_API_ENTRY vx_status VX_API_CALL vxReleaseDelay(vx_delay *delay)
Releases a reference to a delay object. The object may not be garbage collected until its total refer...
VX_API_ENTRY vx_status VX_API_CALL vxQueryGraph(vx_graph graph, vx_enum attribute, void *ptr, vx_size size)
Allows the user to query attributes of the Graph.
VX_API_ENTRY vx_status VX_API_CALL vxDirective(vx_reference reference, vx_enum directive)
Provides a generic API to give platform-specific directives to the implementations.
VX_API_ENTRY vx_status VX_API_CALL vxQueryConvolution(vx_convolution conv, vx_enum attribute, void *ptr, vx_size size)
Queries an attribute on the convolution matrix object.
VX_API_ENTRY vx_status VX_API_CALL vxCopyDistribution(vx_distribution distribution, void *user_ptr, vx_enum usage, vx_enum user_mem_type)
Allows the application to copy from/into a distribution object.
VX_API_ENTRY void *VX_API_CALL vxFormatImagePatchAddress2d(void *ptr, vx_uint32 x, vx_uint32 y, const vx_imagepatch_addressing_t *addr)
Accesses a specific pixel at a 2d coordinate in an image patch.
VX_API_ENTRY vx_status VX_API_CALL vxQueryArray(vx_array arr, vx_enum attribute, void *ptr, vx_size size)
Queries the Array for some specific information.
VX_API_ENTRY vx_status VX_API_CALL vxSetParameterByIndex(vx_node node, vx_uint32 index, vx_reference value)
Sets the specified parameter data for a kernel on the node.
VX_API_ENTRY vx_status VX_API_CALL vxSetNodeAttribute(vx_node node, vx_enum attribute, const void *ptr, vx_size size)
Allows a user to set attribute of a node before Graph Validation.
VX_API_ENTRY vx_tensor VX_API_CALL vxCreateTensor(vx_context context, vx_size number_of_dims, const vx_size *dims, vx_enum data_type, vx_int8 fixed_point_position)
Creates an opaque reference to a tensor data buffer.
VX_API_ENTRY void VX_API_CALL vxAddLogEntry(vx_reference ref, vx_status status, const char *message,...)
Adds a line to the log.
VX_API_ENTRY vx_status VX_API_CALL vxSetImageAttribute(vx_image image, vx_enum attribute, const void *ptr, vx_size size)
Allows setting attributes on the image.
VX_API_ENTRY vx_status VX_API_CALL vxAssignNodeCallback(vx_node node, vx_nodecomplete_f callback)
Assigns a callback to a node. If a callback already exists in this node, this function must return an...
VX_API_ENTRY vx_pyramid VX_API_CALL vxCreateVirtualPyramid(vx_graph graph, vx_size levels, vx_float32 scale, vx_uint32 width, vx_uint32 height, vx_df_image format)
Creates a reference to a virtual pyramid object of the supplied number of levels.
VX_API_ENTRY vx_status VX_API_CALL vxReleaseReference(vx_reference *ref_ptr)
Releases a reference. The reference may potentially refer to multiple OpenVX objects of different typ...
VX_API_ENTRY vx_image VX_API_CALL vxCreateImageFromROI(vx_image img, const vx_rectangle_t *rect)
Creates an image from another image given a rectangle. This second reference refers to the data in th...
VX_API_ENTRY vx_status VX_API_CALL vxReleaseGraph(vx_graph *graph)
Releases a reference to a graph. The object may not be garbage collected until its total reference co...
VX_API_ENTRY vx_matrix VX_API_CALL vxCreateMatrixFromPatternAndOrigin(vx_context context, vx_enum pattern, vx_size columns, vx_size rows, vx_size origin_col, vx_size origin_row)
Creates a reference to a matrix object from a boolean pattern, with a user-specified origin.
VX_API_ENTRY vx_status VX_API_CALL vxRegisterKernelLibrary(vx_context context, const vx_char *module, vx_publish_kernels_f publish, vx_unpublish_kernels_f unpublish)
Registers a module with kernels in a context.
VX_API_ENTRY vx_status VX_API_CALL vxTruncateArray(vx_array arr, vx_size new_num_items)
Truncates an Array (remove items from the end).
VX_API_ENTRY vx_status VX_API_CALL vxReleaseObjectArray(vx_object_array *arr)
Releases a reference of an ObjectArray object.
VX_API_ENTRY vx_status VX_API_CALL vxReleaseArray(vx_array *arr)
Releases a reference of an Array object. The object may not be garbage collected until its total refe...
VX_API_ENTRY vx_status VX_API_CALL vxSetKernelAttribute(vx_kernel kernel, vx_enum attribute, const void *ptr, vx_size size)
Sets kernel attributes.
VX_API_ENTRY vx_scalar VX_API_CALL vxCreateVirtualScalar(vx_graph graph, vx_enum data_type)
Creates an opaque reference to a scalar object with no direct user access.
VX_API_ENTRY vx_kernel VX_API_CALL vxGetKernelByName(vx_context context, const vx_char *name)
Obtains a reference to a kernel using a string to specify the name.
VX_API_ENTRY vx_status VX_API_CALL vxCopyTensorPatch(vx_tensor tensor, vx_size number_of_dims, const vx_size *view_start, const vx_size *view_end, const vx_size *user_stride, void *user_ptr, vx_enum usage, vx_enum user_memory_type)
Allows the application to copy a view patch from/into a tensor object.
VX_API_ENTRY vx_status VX_API_CALL vxQueryRemap(vx_remap table, vx_enum attribute, void *ptr, vx_size size)
Queries attributes from a Remap table.
VX_API_ENTRY vx_status VX_API_CALL vxGetStatus(vx_reference reference)
Provides a generic API to return status values from Object constructors if they fail.
VX_API_ENTRY vx_remap VX_API_CALL vxCreateVirtualRemap(vx_graph graph, vx_uint32 src_width, vx_uint32 src_height, vx_uint32 dst_width, vx_uint32 dst_height)
Creates an opaque reference to a remap table object without direct user access.
VX_API_ENTRY vx_status VX_API_CALL vxReleaseContext(vx_context *context)
Releases the OpenVX object context.
VX_API_ENTRY vx_kernel VX_API_CALL vxGetKernelByEnum(vx_context context, vx_enum kernel)
Obtains a reference to the kernel using the vx_kernel_e enumeration.
VX_API_ENTRY vx_status VX_API_CALL vxWaitGraph(vx_graph graph)
Waits for a specific graph to complete. If the graph has been scheduled multiple times since the last...
VX_API_ENTRY vx_status VX_API_CALL vxMapLUT(vx_lut lut, vx_map_id *map_id, void **ptr, vx_enum usage, vx_enum mem_type, vx_bitfield flags)
Allows the application to get direct access to LUT object.
VX_API_ENTRY vx_graph VX_API_CALL vxCreateGraph(vx_context context)
Creates an empty graph.
VX_API_ENTRY vx_status VX_API_CALL vxSetMetaFormatAttribute(vx_meta_format meta, vx_enum attribute, const void *ptr, vx_size size)
This function allows a user to set the attributes of a vx_meta_format object in a kernel output valid...
VX_API_ENTRY vx_array VX_API_CALL vxCreateVirtualArray(vx_graph graph, vx_enum item_type, vx_size capacity)
Creates an opaque reference to a virtual Array with no direct user access.
VX_API_ENTRY vx_status VX_API_CALL vxCopyImagePatch(vx_image image, const vx_rectangle_t *image_rect, vx_uint32 image_plane_index, const vx_imagepatch_addressing_t *user_addr, void *user_ptr, vx_enum usage, vx_enum user_mem_type)
Allows the application to copy a rectangular patch from/into an image object plane.
VX_API_ENTRY vx_status VX_API_CALL vxScheduleGraph(vx_graph graph)
Schedules a graph for future execution. If the graph has not been verified, then the implementation v...
VX_API_ENTRY vx_status VX_API_CALL vxSetGraphParameterByIndex(vx_graph graph, vx_uint32 index, vx_reference value)
Sets a reference to the parameter on the graph. The implementation must set this parameter on the ori...
VX_API_ENTRY vx_status VX_API_CALL vxSetImmediateModeTarget(vx_context context, vx_enum target_enum, const char *target_string)
Sets the default target of the immediate mode. Upon successful execution of this function any future ...
VX_API_ENTRY void VX_API_CALL vxRegisterLogCallback(vx_context context, vx_log_callback_f callback, vx_bool reentrant)
Registers a callback facility to the OpenVX implementation to receive error logs.
VX_API_ENTRY vx_image VX_API_CALL vxCreateImage(vx_context context, vx_uint32 width, vx_uint32 height, vx_df_image color)
Creates an opaque reference to an image buffer.
VX_API_ENTRY vx_status VX_API_CALL vxReleaseThreshold(vx_threshold *thresh)
Releases a reference to a threshold object. The object may not be garbage collected until its total r...
VX_API_ENTRY vx_status VX_API_CALL vxCopyThresholdOutput(vx_threshold thresh, vx_pixel_value_t *true_value_ptr, vx_pixel_value_t *false_value_ptr, vx_enum usage, vx_enum user_mem_type)
Allows the application to copy the true and false output values from/into a threshold object.
VX_API_ENTRY vx_bool VX_API_CALL vxIsGraphVerified(vx_graph graph)
Returns a Boolean to indicate the state of graph verification.
VX_API_ENTRY vx_status VX_API_CALL vxAllocateUserKernelLibraryId(vx_context context, vx_enum *pLibraryId)
Allocates and registers user-defined kernel library ID to a context.
VX_API_ENTRY vx_tensor VX_API_CALL vxCreateTensorFromHandle(vx_context context, vx_size number_of_dims, const vx_size *dims, vx_enum data_type, vx_int8 fixed_point_position, const vx_size *stride, void *ptr, vx_enum memory_type)
Creates a reference to a tensor object that was externally allocated.
VX_API_ENTRY vx_status VX_API_CALL vxHint(vx_reference reference, vx_enum hint, const void *data, vx_size data_size)
Provides a generic API to give platform-specific hints to the implementation.
VX_API_ENTRY vx_status VX_API_CALL vxAddParameterToGraph(vx_graph graph, vx_parameter parameter)
Adds the given parameter extracted from a vx_node to the graph.
VX_API_ENTRY vx_status VX_API_CALL vxReleaseScalar(vx_scalar *scalar)
Releases a reference to a scalar object. The object may not be garbage collected until its total refe...
VX_API_ENTRY vx_status VX_API_CALL vxCopyScalar(vx_scalar scalar, void *user_ptr, vx_enum usage, vx_enum user_mem_type)
Allows the application to copy from/into a scalar object.
VX_API_ENTRY vx_status VX_API_CALL vxReleaseMatrix(vx_matrix *mat)
Releases a reference to a matrix object. The object may not be garbage collected until its total refe...
VX_API_ENTRY vx_distribution VX_API_CALL vxCreateDistribution(vx_context context, vx_size numBins, vx_int32 offset, vx_uint32 range)
Creates a reference to a 1D Distribution of a consecutive interval [offset, offset + range - 1] defin...
VX_API_ENTRY vx_status VX_API_CALL vxQueryLUT(vx_lut lut, vx_enum attribute, void *ptr, vx_size size)
Queries attributes from a LUT.
VX_API_ENTRY vx_status VX_API_CALL vxProcessGraph(vx_graph graph)
This function causes the synchronous processing of a graph. If the graph has not been verified,...
VX_API_ENTRY vx_image VX_API_CALL vxCreateImageFromChannel(vx_image img, vx_enum channel)
Create a sub-image from a single plane channel of another image.
VX_API_ENTRY vx_status VX_API_CALL vxReleaseLUT(vx_lut *lut)
Releases a reference to a LUT object. The object may not be garbage collected until its total referen...
VX_API_ENTRY vx_parameter VX_API_CALL vxGetKernelParameterByIndex(vx_kernel kernel, vx_uint32 index)
Retrieves a vx_parameter from a vx_kernel.
VX_API_ENTRY vx_status VX_API_CALL vxSetContextAttribute(vx_context context, vx_enum attribute, const void *ptr, vx_size size)
Sets an attribute on the context.
VX_API_ENTRY vx_object_array VX_API_CALL vxCreateImageObjectArrayFromTensor(vx_tensor tensor, const vx_rectangle_t *rect, vx_size array_size, vx_size jump, vx_df_image image_format)
Creates an array of images into the multi-dimension data, this can be adjacent 2D images or not depen...
VX_API_ENTRY vx_status VX_API_CALL vxGetValidRegionImage(vx_image image, vx_rectangle_t *rect)
Retrieves the valid region of the image as a rectangle.
VX_API_ENTRY vx_status VX_API_CALL vxQueryThreshold(vx_threshold thresh, vx_enum attribute, void *ptr, vx_size size)
Queries an attribute on the threshold object.
VX_API_ENTRY vx_status VX_API_CALL vxRemoveNode(vx_node *node)
Removes a Node from its parent Graph and releases it.
VX_API_ENTRY vx_array VX_API_CALL vxCreateArray(vx_context context, vx_enum item_type, vx_size capacity)
Creates a reference to an Array object.
VX_API_ENTRY vx_object_array VX_API_CALL vxCreateObjectArray(vx_context context, vx_reference exemplar, vx_size count)
Creates a reference to an ObjectArray of count objects.
VX_API_ENTRY vx_status VX_API_CALL vxLoadKernels(vx_context context, const vx_char *module)
Loads a library of kernels, called module, into a context.
struct _vx_convolution * vx_convolution
The Convolution Object. A user-defined convolution kernel of MxM elements.
Definition: vx_types.h:271
struct _vx_context * vx_context
An opaque reference to the implementation context.
Definition: vx_types.h:225
struct _vx_reference * vx_reference
A generic opaque reference to any object within OpenVX.
Definition: vx_types.h:152
struct _vx_scalar * vx_scalar
An opaque reference to a scalar.
Definition: vx_types.h:182
uint32_t vx_uint32
A 32-bit unsigned value.
Definition: vx_types.h:89
vx_status(VX_CALLBACK * vx_kernel_validate_f)(vx_node node, const vx_reference parameters[], vx_uint32 num, vx_meta_format metas[])
The user-defined kernel node parameters validation function. The function only needs to fill in the m...
Definition: vx_types.h:1864
struct _vx_threshold * vx_threshold
The Threshold Object. A thresholding object contains the types and limit values of the thresholding r...
Definition: vx_types.h:265
vx_status(VX_API_CALL * vx_publish_kernels_f)(vx_context context)
The type of the vxPublishKernels entry function of modules loaded by vxLoadKernels and unloaded by vx...
Definition: vx_types.h:1809
struct _vx_delay * vx_delay
The delay object. This is like a ring buffer of objects that is maintained by the OpenVX implementati...
Definition: vx_types.h:233
struct _vx_object_array * vx_object_array
The ObjectArray Object. ObjectArray is a strongly-typed container of OpenVX data-objects.
Definition: vx_types.h:287
struct _vx_parameter * vx_parameter
An opaque reference to a single parameter.
Definition: vx_types.h:204
uint32_t vx_df_image
Used to hold a VX_DF_IMAGE code to describe the pixel format and color space.
Definition: vx_types.h:169
struct _vx_kernel * vx_kernel
An opaque reference to the descriptor of a kernel.
Definition: vx_types.h:197
size_t vx_size
A wrapper of size_t to keep the naming convention uniform.
Definition: vx_types.h:164
struct _vx_remap * vx_remap
The remap table Object. A remap table contains per-pixel mapping of output pixels to input pixels.
Definition: vx_types.h:277
struct _vx_tensor * vx_tensor
The multidimensional data object (Tensor).
Definition: vx_types.h:294
int8_t vx_int8
An 8-bit signed value.
Definition: vx_types.h:99
struct _vx_lut * vx_lut
The Look-Up Table (LUT) Object.
Definition: vx_types.h:239
struct _vx_matrix * vx_matrix
The Matrix Object. An MxN matrix of some unit type.
Definition: vx_types.h:252
vx_status(VX_CALLBACK * vx_kernel_initialize_f)(vx_node node, const vx_reference *parameters, vx_uint32 num)
The pointer to the kernel initializer. If the host code requires a call to initialize data once all t...
Definition: vx_types.h:1837
vx_action(VX_CALLBACK * vx_nodecomplete_f)(vx_node node)
A callback to the client after a particular node has completed.
Definition: vx_types.h:468
vx_enum vx_status
A formal status type with known fixed size.
Definition: vx_types.h:453
vx_status(VX_CALLBACK * vx_kernel_deinitialize_f)(vx_node node, const vx_reference *parameters, vx_uint32 num)
The pointer to the kernel deinitializer. If the host code requires a call to deinitialize data during...
Definition: vx_types.h:1848
int32_t vx_enum
Sets the standard enumeration type size to be a fixed quantity.
Definition: vx_types.h:159
uint32_t vx_bitfield
A 32-bit unsigned value used to pass flags to a function.
Definition: vx_types.h:119
struct _vx_graph * vx_graph
An opaque reference to a graph.
Definition: vx_types.h:218
struct _vx_node * vx_node
An opaque reference to a kernel node.
Definition: vx_types.h:211
int32_t vx_int32
A 32-bit signed value.
Definition: vx_types.h:109
uintptr_t vx_map_id
Holds the address of a variable where the map/unmap functions return a map identifier.
Definition: vx_types.h:174
char vx_char
An 8-bit ASCII character.
Definition: vx_types.h:74
#define VX_API_CALL
Defines calling convention for OpenVX API.
Definition: vx_types.h:60
vx_enum vx_bool
A formal boolean type with known fixed size.
Definition: vx_types.h:319
struct _vx_array * vx_array
The Array Object. Array is a strongly-typed container for other data structures.
Definition: vx_types.h:282
vx_status(VX_CALLBACK * vx_kernel_f)(vx_node node, const vx_reference *parameters, vx_uint32 num)
The pointer to the Host side kernel.
Definition: vx_types.h:1826
struct _vx_meta_format * vx_meta_format
This object is used by output validation functions to specify the meta data of the expected output da...
Definition: vx_types.h:330
struct _vx_pyramid * vx_pyramid
The Image Pyramid object. A set of scaled images.
Definition: vx_types.h:258
void(VX_CALLBACK * vx_log_callback_f)(vx_context context, vx_reference ref, vx_status status, const vx_char string[])
The log callback function.
Definition: vx_types.h:1902
struct _vx_distribution * vx_distribution
The Distribution object. This has a user-defined number of bins over a user-defined range (within a u...
Definition: vx_types.h:246
float vx_float32
A 32-bit float value.
Definition: vx_types.h:136
vx_status(VX_API_CALL * vx_unpublish_kernels_f)(vx_context context)
The type of the vxUnpublishKernels entry function of modules loaded by vxLoadKernels and unloaded by ...
Definition: vx_types.h:1817
struct _vx_image * vx_image
An opaque reference to an image.
Definition: vx_types.h:189