/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-mivisionx/checkouts/latest/amd_openvx/openvx/include/VX/vx_api.h Source File

/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-mivisionx/checkouts/latest/amd_openvx/openvx/include/VX/vx_api.h Source File#

MIVisionX: /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-mivisionx/checkouts/latest/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-2020 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 
290 
309 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);
310 
348 
381 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);
382 
431 VX_API_ENTRY vx_status VX_API_CALL vxSwapImageHandle(vx_image image, void* const new_ptrs[], void* prev_ptrs[], vx_size num_planes);
432 
445 VX_API_ENTRY vx_status VX_API_CALL vxQueryImage(vx_image image, vx_enum attribute, void *ptr, vx_size size);
446 
458 VX_API_ENTRY vx_status VX_API_CALL vxSetImageAttribute(vx_image image, vx_enum attribute, const void *ptr, vx_size size);
459 
472 VX_API_ENTRY vx_status VX_API_CALL vxSetImagePixelValues(vx_image image, const vx_pixel_value_t *pixel_value);
473 
494 
505 VX_API_ENTRY void * VX_API_CALL vxFormatImagePatchAddress1d(void *ptr, vx_uint32 index, const vx_imagepatch_addressing_t *addr);
506 
519 
533 
571 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);
572 
637 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);
638 
639 
654 
674 
675 
689 
690 
691 
692 /*==============================================================================
693  KERNEL
694  =============================================================================*/
695 
714 
715 
748 VX_API_ENTRY vx_status VX_API_CALL vxLoadKernels(vx_context context, const vx_char *module);
749 
773 VX_API_ENTRY vx_status VX_API_CALL vxUnloadKernels(vx_context context, const vx_char *module);
774 
911 VX_API_ENTRY vx_kernel VX_API_CALL vxGetKernelByName(vx_context context, const vx_char *name);
912 
925 
939 VX_API_ENTRY vx_status VX_API_CALL vxQueryKernel(vx_kernel kernel, vx_enum attribute, void *ptr, vx_size size);
940 
951 
967  const vx_char name[VX_MAX_KERNEL_NAME],
968  vx_enum enumeration,
969  vx_kernel_f func_ptr,
970  vx_uint32 numParams,
971  vx_kernel_validate_f validate,
973  vx_kernel_deinitialize_f deinit);
974 
988 
1003 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);
1004 
1022 
1035 VX_API_ENTRY vx_status VX_API_CALL vxSetKernelAttribute(vx_kernel kernel, vx_enum attribute, const void *ptr, vx_size size);
1036 
1045 
1046 /*==============================================================================
1047  GRAPH
1048  =============================================================================*/
1049 
1057 
1072 
1097 
1113 
1131 
1146 
1157 VX_API_ENTRY vx_status VX_API_CALL vxQueryGraph(vx_graph graph, vx_enum attribute, void *ptr, vx_size size);
1158 
1169 VX_API_ENTRY vx_status VX_API_CALL vxSetGraphAttribute(vx_graph graph, vx_enum attribute, const void *ptr, vx_size size);
1170 
1182 
1197 
1206 
1217 
1218 /*==============================================================================
1219  NODE
1220  =============================================================================*/
1221 
1236 
1248 VX_API_ENTRY vx_status VX_API_CALL vxQueryNode(vx_node node, vx_enum attribute, void *ptr, vx_size size);
1249 
1264 VX_API_ENTRY vx_status VX_API_CALL vxSetNodeAttribute(vx_node node, vx_enum attribute, const void *ptr, vx_size size);
1265 
1276 
1286 
1301 
1310 
1324 VX_API_ENTRY vx_status VX_API_CALL vxSetNodeTarget(vx_node node, vx_enum target_enum, const char* target_string);
1325 
1348 VX_API_ENTRY vx_status VX_API_CALL vxReplicateNode(vx_graph graph, vx_node first_node, vx_bool replicate[], vx_uint32 number_of_parameters);
1349 
1350 /*==============================================================================
1351  PARAMETER
1352  =============================================================================*/
1353 
1362 
1373 
1387 
1401 
1412 VX_API_ENTRY vx_status VX_API_CALL vxQueryParameter(vx_parameter parameter, vx_enum attribute, void *ptr, vx_size size);
1413 
1414 /*==============================================================================
1415  SCALAR
1416  =============================================================================*/
1417 
1429 VX_API_ENTRY vx_scalar VX_API_CALL vxCreateScalar(vx_context context, vx_enum data_type, const void *ptr);
1430 
1442 VX_API_ENTRY vx_scalar VX_API_CALL vxCreateScalarWithSize(vx_context context, vx_enum data_type, const void *ptr, vx_size size);
1443 
1455 
1466 
1477 VX_API_ENTRY vx_status VX_API_CALL vxQueryScalar(vx_scalar scalar, vx_enum attribute, void *ptr, vx_size size);
1478 
1500 VX_API_ENTRY vx_status VX_API_CALL vxCopyScalar(vx_scalar scalar, void *user_ptr, vx_enum usage, vx_enum user_mem_type);
1501 
1523 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);
1524 
1525 /*==============================================================================
1526  REFERENCE
1527  =============================================================================*/
1528 
1539 VX_API_ENTRY vx_status VX_API_CALL vxQueryReference(vx_reference ref, vx_enum attribute, void *ptr, vx_size size);
1540 
1552 
1566 
1590 
1591 /*==============================================================================
1592  DELAY
1593  =============================================================================*/
1594 
1605 VX_API_ENTRY vx_status VX_API_CALL vxQueryDelay(vx_delay delay, vx_enum attribute, void *ptr, vx_size size);
1606 
1617 
1618 
1647  vx_reference exemplar,
1648  vx_size num_slots);
1649 
1662 
1678 
1701 
1702 /*==============================================================================
1703  LOGGING
1704  =============================================================================*/
1705 
1714 VX_API_ENTRY void VX_API_CALL vxAddLogEntry(vx_reference ref, vx_status status, const char *message, ...);
1715 
1723 VX_API_ENTRY void VX_API_CALL vxRegisterLogCallback(vx_context context, vx_log_callback_f callback, vx_bool reentrant);
1724 
1725 /*==============================================================================
1726  LUT
1727  =============================================================================*/
1728 
1740 VX_API_ENTRY vx_lut VX_API_CALL vxCreateLUT(vx_context context, vx_enum data_type, vx_size count);
1741 
1753 VX_API_ENTRY vx_lut VX_API_CALL vxCreateVirtualLUT(vx_graph graph, vx_enum data_type, vx_size count);
1754 
1765 
1776 VX_API_ENTRY vx_status VX_API_CALL vxQueryLUT(vx_lut lut, vx_enum attribute, void *ptr, vx_size size);
1777 
1802 VX_API_ENTRY vx_status VX_API_CALL vxCopyLUT(vx_lut lut, void *user_ptr, vx_enum usage, vx_enum user_mem_type);
1803 
1842 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);
1843 
1859 
1860 /*==============================================================================
1861  DISTRIBUTION
1862  =============================================================================*/
1863 
1875 
1887 
1898 
1909 VX_API_ENTRY vx_status VX_API_CALL vxQueryDistribution(vx_distribution distribution, vx_enum attribute, void *ptr, vx_size size);
1910 
1934 VX_API_ENTRY vx_status VX_API_CALL vxCopyDistribution(vx_distribution distribution, void *user_ptr, vx_enum usage, vx_enum user_mem_type);
1935 
1976 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);
1977 
1993 
1994 
1995 /*==============================================================================
1996  THRESHOLD
1997  =============================================================================*/
1998 
2035  vx_enum thresh_type,
2036  vx_df_image input_format,
2037  vx_df_image output_format);
2038 
2054  vx_enum thresh_type,
2055  vx_df_image input_format,
2056  vx_df_image output_format);
2057 
2087  vx_pixel_value_t * value_ptr,
2088  vx_enum usage,
2089  vx_enum user_mem_type
2090  );
2091 
2126  vx_pixel_value_t * lower_value_ptr,
2127  vx_pixel_value_t * upper_value_ptr,
2128  vx_enum usage,
2129  vx_enum user_mem_type);
2130 
2163  vx_pixel_value_t * true_value_ptr,
2164  vx_pixel_value_t * false_value_ptr,
2165  vx_enum usage,
2166  vx_enum user_mem_type);
2167 
2178 
2189 VX_API_ENTRY vx_status VX_API_CALL vxSetThresholdAttribute(vx_threshold thresh, vx_enum attribute, const void *ptr, vx_size size);
2190 
2201 VX_API_ENTRY vx_status VX_API_CALL vxQueryThreshold(vx_threshold thresh, vx_enum attribute, void *ptr, vx_size size);
2202 
2203 /*==============================================================================
2204  MATRIX
2205  =============================================================================*/
2206 
2216 VX_API_ENTRY vx_matrix VX_API_CALL vxCreateMatrix(vx_context c, vx_enum data_type, vx_size columns, vx_size rows);
2217 
2228 VX_API_ENTRY vx_matrix VX_API_CALL vxCreateVirtualMatrix(vx_graph graph, vx_enum data_type, vx_size columns, vx_size rows);
2229 
2240 
2251 VX_API_ENTRY vx_status VX_API_CALL vxQueryMatrix(vx_matrix mat, vx_enum attribute, void *ptr, vx_size size);
2252 
2278 VX_API_ENTRY vx_status VX_API_CALL vxCopyMatrix(vx_matrix matrix, void *user_ptr, vx_enum usage, vx_enum user_mem_type);
2279 
2290 VX_API_ENTRY vx_matrix VX_API_CALL vxCreateMatrixFromPattern(vx_context context, vx_enum pattern, vx_size columns, vx_size rows);
2291 
2317 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);
2318 
2319 
2320 /*==============================================================================
2321  CONVOLUTION
2322  =============================================================================*/
2323 
2337 
2352 
2363 
2374 VX_API_ENTRY vx_status VX_API_CALL vxQueryConvolution(vx_convolution conv, vx_enum attribute, void *ptr, vx_size size);
2375 
2386 VX_API_ENTRY vx_status VX_API_CALL vxSetConvolutionAttribute(vx_convolution conv, vx_enum attribute, const void *ptr, vx_size size);
2387 
2413 VX_API_ENTRY vx_status VX_API_CALL vxCopyConvolutionCoefficients(vx_convolution conv, void *user_ptr, vx_enum usage, vx_enum user_mem_type);
2414 
2415 
2416 /*==============================================================================
2417  PYRAMID
2418  =============================================================================*/
2419 
2432 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);
2433 
2460 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);
2461 
2462 
2473 
2484 VX_API_ENTRY vx_status VX_API_CALL vxQueryPyramid(vx_pyramid pyr, vx_enum attribute, void *ptr, vx_size size);
2485 
2496 
2497 /*==============================================================================
2498  REMAP
2499  =============================================================================*/
2500 
2512  vx_uint32 src_width,
2513  vx_uint32 src_height,
2514  vx_uint32 dst_width,
2515  vx_uint32 dst_height);
2516 
2529  vx_uint32 src_width,
2530  vx_uint32 src_height,
2531  vx_uint32 dst_width,
2532  vx_uint32 dst_height);
2533 
2544 
2617  const vx_rectangle_t *rect,
2618  vx_map_id *map_id,
2619  vx_size *stride_y,
2620  void **ptr,
2621  vx_enum coordinate_type,
2622  vx_enum usage,
2623  vx_enum mem_type);
2624 
2640 
2698  const vx_rectangle_t *rect,
2699  vx_size user_stride_y,
2700  void * user_ptr,
2701  vx_enum user_coordinate_type,
2702  vx_enum usage,
2703  vx_enum user_mem_type);
2704 
2715 VX_API_ENTRY vx_status VX_API_CALL vxQueryRemap(vx_remap table, vx_enum attribute, void *ptr, vx_size size);
2716 
2717 /*==============================================================================
2718  ARRAY
2719  =============================================================================*/
2720 
2737 VX_API_ENTRY vx_array VX_API_CALL vxCreateArray(vx_context context, vx_enum item_type, vx_size capacity);
2738 
2769 VX_API_ENTRY vx_array VX_API_CALL vxCreateVirtualArray(vx_graph graph, vx_enum item_type, vx_size capacity);
2770 
2782 
2799 VX_API_ENTRY vx_status VX_API_CALL vxQueryArray(vx_array arr, vx_enum attribute, void *ptr, vx_size size);
2800 
2824 VX_API_ENTRY vx_status VX_API_CALL vxAddArrayItems(vx_array arr, vx_size count, const void *ptr, vx_size stride);
2825 
2839 VX_API_ENTRY vx_status VX_API_CALL vxTruncateArray(vx_array arr, vx_size new_num_items);
2840 
2873 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);
2874 
2926 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);
2927 
2943 
2951 #define vxFormatArrayPointer(ptr, index, stride) \
2952  (&(((vx_uint8*)(ptr))[(index) * (stride)]))
2953 
2962 #define vxArrayItem(type, ptr, index, stride) \
2963  (*(type *)(vxFormatArrayPointer((ptr), (index), (stride))))
2964 
2965 
2966 /*==============================================================================
2967  OBJECT ARRAY
2968  =============================================================================*/
2988 
3006 
3020 
3034 
3050 VX_API_ENTRY vx_status VX_API_CALL vxQueryObjectArray(vx_object_array arr, vx_enum attribute, void *ptr, vx_size size);
3051 
3052 
3053 /*==============================================================================
3054  META FORMAT
3055  =============================================================================*/
3056 
3089 VX_API_ENTRY vx_status VX_API_CALL vxSetMetaFormatAttribute(vx_meta_format meta, vx_enum attribute, const void *ptr, vx_size size);
3090 
3104 
3137 VX_API_ENTRY vx_status VX_API_CALL vxQueryMetaFormatAttribute(vx_meta_format meta, vx_enum attribute, void *ptr, vx_size size);
3138 
3139 /*==============================================================================
3140  TENSOR DATA FUNCTIONS
3141 =============================================================================*/
3142 
3157 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);
3158 
3172 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);
3173 
3187 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);
3188 
3212 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);
3213 
3238 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);
3239 
3275 VX_API_ENTRY vx_status VX_API_CALL vxSwapTensorHandle(vx_tensor tensor, void* new_ptr, void** prev_ptr);
3276 
3277 
3305 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,
3306  const vx_size * user_stride, void * user_ptr, vx_enum usage, vx_enum user_memory_type);
3307 
3348 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);
3349 
3363 VX_API_ENTRY vx_status VX_API_CALL vxUnmapTensorPatch(vx_tensor tensor, const vx_map_id map_id);
3364 
3376 VX_API_ENTRY vx_status VX_API_CALL vxQueryTensor(vx_tensor tensor, vx_enum attribute, void *ptr, vx_size size);
3377 
3388 
3389 #ifdef __cplusplus
3390 }
3391 #endif
3392 
3393 #endif
The addressing image patch structure is used by the Host only to address pixels in an image patch....
Definition: vx_types.h:1533
The rectangle data structure that is shared with the users. The area of the rectangle can be computed...
Definition: vx_types.h:1663
Union that describes the value of a pixel for any image format. Use the field corresponding to the im...
Definition: vx_types.h:1699
#define VX_MAX_KERNEL_NAME
Defines the length of a kernel name string to be added to OpenVX, including the trailing zero.
Definition: vx.h:41
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 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_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 atribute 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 an 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 vx_status VX_API_CALL vxUnmapImagePatch(vx_image image, vx_map_id map_id)
Unmap and commit potential changes to a image object patch that were previously mapped....
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 vxUnmapLUT(vx_lut lut, 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 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 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 vxUnmapDistribution(vx_distribution distribution, 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 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_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 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 Open...
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 vx_status VX_API_CALL vxUnmapRemapPatch(vx_remap remap, vx_map_id map_id)
Unmap and commit potential changes to a remap object patch that was previously mapped.
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 an 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 an 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 vxUnmapArrayRange(vx_array array, vx_map_id map_id)
Unmap and commit potential changes to an array object range that was previously mapped....
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_kernel VX_API_CALL vxAddUserKernel(vx_context context, const vx_char name[VX_MAX_KERNEL_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 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:264
struct _vx_context * vx_context
An opaque reference to the implementation context.
Definition: vx_types.h:218
struct _vx_reference * vx_reference
A generic opaque reference to any object within OpenVX.
Definition: vx_types.h:145
struct _vx_scalar * vx_scalar
An opaque reference to a scalar.
Definition: vx_types.h:175
uint32_t vx_uint32
A 32-bit unsigned value.
Definition: vx_types.h:85
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:1815
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:258
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:1760
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:226
struct _vx_object_array * vx_object_array
The ObjectArray Object. ObjectArray is a strongly-typed container of OpenVX data-objects.
Definition: vx_types.h:280
struct _vx_parameter * vx_parameter
An opaque reference to a single parameter.
Definition: vx_types.h:197
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:162
struct _vx_kernel * vx_kernel
An opaque reference to the descriptor of a kernel.
Definition: vx_types.h:190
size_t vx_size
A wrapper of size_t to keep the naming convention uniform.
Definition: vx_types.h:157
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:270
int8_t vx_int8
An 8-bit signed value.
Definition: vx_types.h:95
struct _vx_lut * vx_lut
The Look-Up Table (LUT) Object.
Definition: vx_types.h:232
struct _vx_matrix * vx_matrix
The Matrix Object. An MxN matrix of some unit type.
Definition: vx_types.h:245
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:1788
struct _vx_tensor_t * vx_tensor
The multidimensional data object (Tensor).
Definition: vx_types.h:287
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:460
vx_enum vx_status
A formal status type with known fixed size.
Definition: vx_types.h:445
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:1799
int32_t vx_enum
Sets the standard enumeration type size to be a fixed quantity.
Definition: vx_types.h:152
struct _vx_graph * vx_graph
An opaque reference to a graph.
Definition: vx_types.h:211
struct _vx_node * vx_node
An opaque reference to a kernel node.
Definition: vx_types.h:204
int32_t vx_int32
A 32-bit signed value.
Definition: vx_types.h:105
uintptr_t vx_map_id
Holds the address of a variable where the map/unmap functions return a map identifier.
Definition: vx_types.h:167
char vx_char
An 8 bit ASCII character.
Definition: vx_types.h:70
#define VX_API_CALL
Defines calling convention for OpenVX API.
Definition: vx_types.h:56
vx_enum vx_bool
A formal boolean type with known fixed size.
Definition: vx_types.h:312
struct _vx_array * vx_array
The Array Object. Array is a strongly-typed container for other data structures.
Definition: vx_types.h:275
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:1777
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:323
struct _vx_pyramid * vx_pyramid
The Image Pyramid object. A set of scaled images.
Definition: vx_types.h:251
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:1853
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:239
float vx_float32
A 32-bit float value.
Definition: vx_types.h:129
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:1768
struct _vx_image * vx_image
An opaque reference to an image.
Definition: vx_types.h:182