VisionWorks Toolkit Reference

December 18, 2015 | 1.2 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
vx_types.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2012-2015 The Khronos Group Inc.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and/or associated documentation files (the
6  * "Materials"), to deal in the Materials without restriction, including
7  * without limitation the rights to use, copy, modify, merge, publish,
8  * distribute, sublicense, and/or sell copies of the Materials, and to
9  * permit persons to whom the Materials are furnished to do so, subject to
10  * the following conditions:
11  *
12  * The above copyright notice and this permission notice shall be included
13  * in all copies or substantial portions of the Materials.
14  *
15  * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19  * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21  * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
22  */
23 
24 #ifndef _OPENVX_TYPES_H_
25 #define _OPENVX_TYPES_H_
26 
32 #include <stdint.h>
33 #include <stddef.h>
34 #include <string.h>
35 
44 #ifndef VX_API_ENTRY
45 # if defined(_WIN32) || defined(_WIN64) || defined(__CYGWIN__)
46 # if defined(OPENVX_BUILDING)
47 # if defined(__GNUC__)
48 # define VX_API_ENTRY __attribute__((dllexport))
49 # else
50 # define VX_API_ENTRY __declspec(dllexport)
51 # endif
52 # else
53 # if defined(__GNUC__)
54 # define VX_API_ENTRY __attribute__((dllimport))
55 # else
56 # define VX_API_ENTRY __declspec(dllimport)
57 # endif
58 # endif
59 # else
60 # if (__GNUC__ >= 4)
61 # define VX_API_ENTRY __attribute__((visibility("default")))
62 # else
63 # define VX_API_ENTRY
64 # endif
65 # endif
66 #endif
67 #ifndef VX_API_CALL
68 # if defined(_WIN32)
69 # define VX_API_CALL __stdcall
70 # else
71 # define VX_API_CALL
72 # endif
73 #endif
74 #ifndef VX_CALLBACK
75 # if defined(_WIN32)
76 # define VX_CALLBACK __stdcall
77 # else
78 # define VX_CALLBACK
79 # endif
80 #endif
81 
85 typedef char vx_char;
86 
90 typedef uint8_t vx_uint8;
91 
95 typedef uint16_t vx_uint16;
96 
100 typedef uint32_t vx_uint32;
101 
105 typedef uint64_t vx_uint64;
106 
110 typedef int8_t vx_int8;
111 
115 typedef int16_t vx_int16;
116 
120 typedef int32_t vx_int32;
121 
125 typedef int64_t vx_int64;
126 
127 #if defined(EXPERIMENTAL_PLATFORM_SUPPORTS_16_FLOAT)
128 
132 typedef hfloat vx_float16;
133 #endif
134 
138 typedef float vx_float32;
139 
143 typedef double vx_float64;
144 
154 typedef struct _vx_reference *vx_reference;
155 
161 typedef int32_t vx_enum;
162 
166 typedef size_t vx_size;
167 
171 typedef uint32_t vx_df_image;
172 
179 typedef struct _vx_scalar *vx_scalar;
180 
186 typedef struct _vx_image *vx_image;
187 
194 typedef struct _vx_kernel *vx_kernel;
195 
201 typedef struct _vx_parameter *vx_parameter;
202 
208 typedef struct _vx_node *vx_node;
209 
215 typedef struct _vx_graph *vx_graph;
216 
222 typedef struct _vx_context *vx_context;
223 
230 typedef struct _vx_delay *vx_delay;
231 
236 typedef struct _vx_lut *vx_lut;
237 
243 typedef struct _vx_distribution *vx_distribution;
244 
249 typedef struct _vx_matrix *vx_matrix;
250 
255 typedef struct _vx_pyramid *vx_pyramid;
256 
262 typedef struct _vx_threshold *vx_threshold;
263 
268 typedef struct _vx_convolution *vx_convolution;
269 
274 typedef struct _vx_remap *vx_remap;
275 
279 typedef struct _vx_array *vx_array;
280 
292 typedef enum _vx_bool_e {
297 } vx_bool;
298 
309 typedef struct _vx_meta_format* vx_meta_format;
310 
314 enum vx_type_e {
316  VX_TYPE_CHAR = 0x001,
317  VX_TYPE_INT8 = 0x002,
318  VX_TYPE_UINT8 = 0x003,
319  VX_TYPE_INT16 = 0x004,
320  VX_TYPE_UINT16 = 0x005,
321  VX_TYPE_INT32 = 0x006,
322  VX_TYPE_UINT32 = 0x007,
323  VX_TYPE_INT64 = 0x008,
324  VX_TYPE_UINT64 = 0x009,
327  VX_TYPE_ENUM = 0x00C,
328  VX_TYPE_SIZE = 0x00D,
330 #if defined(EXPERIMENTAL_PLATFORM_SUPPORTS_16_FLOAT)
331  VX_TYPE_FLOAT16 = 0x00F,
332 #endif
333  VX_TYPE_BOOL = 0x010,
335  /* add new scalar types here */
336 
358  VX_TYPE_GRAPH = 0x802,
359  VX_TYPE_NODE = 0x803,
360  VX_TYPE_KERNEL = 0x804,
362  VX_TYPE_DELAY = 0x806,
363  VX_TYPE_LUT = 0x807,
367  VX_TYPE_MATRIX = 0x80B,
369  VX_TYPE_SCALAR = 0x80D,
370  VX_TYPE_ARRAY = 0x80E,
371  VX_TYPE_IMAGE = 0x80F,
372  VX_TYPE_REMAP = 0x810,
373  VX_TYPE_ERROR = 0x811,
376  /* \todo add new object types here */
377 
381 };
382 
389  /* add new codes here */
415 };
416 
422 
428 
437 
442 #define VX_VENDOR_MASK (0xFFF00000)
443 
449 #define VX_TYPE_MASK (0x000FFF00)
450 
455 #define VX_LIBRARY_MASK (0x000FF000)
456 
460 #define VX_KERNEL_MASK (0x00000FFF)
461 
465 #define VX_ATTRIBUTE_ID_MASK (0x000000FF)
466 
470 #define VX_ENUM_TYPE_MASK (0x000FF000)
471 
475 #define VX_ENUM_MASK (0x00000FFF)
476 
480 #define VX_VENDOR(e) (((vx_uint32)e & VX_VENDOR_MASK) >> 20)
481 
485 #define VX_TYPE(e) (((vx_uint32)e & VX_TYPE_MASK) >> 8)
486 
490 #define VX_ENUM_TYPE(e) (((vx_uint32)e & VX_ENUM_TYPE_MASK) >> 12)
491 
495 #define VX_LIBRARY(e) (((vx_uint32)e & VX_LIBRARY_MASK) >> 12)
496 
497 #if defined(_LITTLE_ENDIAN_) || (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) || defined(_WIN32)
498 #define VX_DF_IMAGE(a,b,c,d) ((a) | (b << 8) | (c << 16) | (d << 24))
499 #define VX_ATTRIBUTE_BASE(vendor, object) (((vendor) << 20) | (object << 8))
500 #define VX_KERNEL_BASE(vendor, lib) (((vendor) << 20) | (lib << 12))
501 #define VX_ENUM_BASE(vendor, id) (((vendor) << 20) | (id << 12))
502 #elif defined(_BIG_ENDIAN_) || (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
503 #define VX_DF_IMAGE(a,b,c,d) ((d) | (c << 8) | (b << 16) | (a << 24))
504 #define VX_ATTRIBUTE_BASE(vendor, object) ((vendor) | (object << 12))
505 #define VX_KERNEL_BASE(vendor, lib) ((vendor) | (lib << 12))
506 #define VX_ENUM_BASE(vendor, id) ((vendor) | (id << 12))
507 #else
508 #error "Endian-ness must be defined!"
509 #endif
510 
542 enum vx_enum_e {
544  VX_ENUM_ACTION = 0x01,
545  VX_ENUM_HINT = 0x02,
562 };
563 
573 };
574 
585 };
586 
592 enum vx_hint_e {
598 };
599 
612 };
613 
624 };
625 
632  VX_DF_IMAGE_VIRT = VX_DF_IMAGE('V','I','R','T'),
636  VX_DF_IMAGE_RGB = VX_DF_IMAGE('R','G','B','2'),
641  VX_DF_IMAGE_RGBX = VX_DF_IMAGE('R','G','B','A'),
645  VX_DF_IMAGE_NV12 = VX_DF_IMAGE('N','V','1','2'),
649  VX_DF_IMAGE_NV21 = VX_DF_IMAGE('N','V','2','1'),
653  VX_DF_IMAGE_UYVY = VX_DF_IMAGE('U','Y','V','Y'),
657  VX_DF_IMAGE_YUYV = VX_DF_IMAGE('Y','U','Y','V'),
661  VX_DF_IMAGE_IYUV = VX_DF_IMAGE('I','Y','U','V'),
665  VX_DF_IMAGE_YUV4 = VX_DF_IMAGE('Y','U','V','4'),
670  VX_DF_IMAGE_U8 = VX_DF_IMAGE('U','0','0','8'),
675  VX_DF_IMAGE_U16 = VX_DF_IMAGE('U','0','1','6'),
680  VX_DF_IMAGE_S16 = VX_DF_IMAGE('S','0','1','6'),
685  VX_DF_IMAGE_U32 = VX_DF_IMAGE('U','0','3','2'),
690  VX_DF_IMAGE_S32 = VX_DF_IMAGE('S','0','3','2'),
691 };
692 
701 };
702 
749 };
750 
777 };
778 
799 };
800 
815 };
816 
835 };
836 
843 };
844 
857 };
858 
869 };
870 
887 };
888 
897 };
898 
917 };
918 
931 };
932 
949 };
950 
965 };
966 
979 };
980 
993 };
994 
1001 };
1002 
1018 
1033 };
1034 
1041 
1044 };
1045 
1078 };
1079 
1092 
1095 };
1096 
1105 };
1106 
1119 };
1120 
1135 };
1136 
1150 };
1151 
1161 };
1162 
1171 };
1172 
1191 };
1192 
1201 };
1202 
1210 
1218 typedef vx_status (VX_CALLBACK *vx_kernel_f)(vx_node node, const vx_reference *parameters, vx_uint32 num);
1219 
1230 
1241 
1257 
1273 
1274 #if defined(_WIN32) || defined(UNDER_CE)
1275 #if defined(_WIN64)
1276 
1279 #define VX_FMT_REF "%I64u"
1280 
1283 #define VX_FMT_SIZE "%I64u"
1284 #else
1285 
1288 #define VX_FMT_REF "%lu"
1289 
1292 #define VX_FMT_SIZE "%lu"
1293 #endif
1294 #else
1295 
1298 #define VX_FMT_REF "%p"
1299 
1302 #define VX_FMT_SIZE "%zu"
1303 #endif
1304 
1307 #define VX_SCALE_UNITY (1024u)
1308 
1329 typedef struct _vx_imagepatch_addressing_t {
1339 
1343 #define VX_IMAGEPATCH_ADDR_INIT {0u, 0u, 0, 0, 0u, 0u, 0u, 0u}
1344 
1348 typedef struct _vx_perf_t {
1357 } vx_perf_t;
1358 
1362 #define VX_PERF_INIT {0ul, 0ul, 0ul, 0ul, 0ul, 0ul}
1363 
1368 typedef struct _vx_kernel_info_t {
1374 
1381 
1385 #define VX_SCALE_PYRAMID_HALF (0.5f)
1386 
1390 #define VX_SCALE_PYRAMID_ORB ((vx_float32)0.8408964f)
1391 
1396 typedef struct _vx_border_mode_t {
1405 
1409 typedef struct _vx_keypoint_t {
1417 } vx_keypoint_t;
1418 
1422 typedef struct _vx_rectangle_t {
1427 } vx_rectangle_t;
1428 
1437 typedef struct _vx_delta_rectangle_t {
1443 
1447 typedef struct _vx_coordinates2d_t {
1451 
1455 typedef struct _vx_coordinates3d_t {
1460 
1464 typedef void (VX_CALLBACK *vx_log_callback_f)(vx_context context,
1465  vx_reference ref,
1466  vx_status status,
1467  const vx_char string[]);
1468 
1469 #endif
Queries a parameter for its type, vx_type_e is returned. The size of the parameter is implied for pla...
Definition: vx_types.h:810
struct _vx_image * vx_image
An opaque reference to an image.
Definition: vx_types.h:186
Interpolation Types.
Definition: vx_types.h:547
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:230
vx_uint64 avg
Holds the average of the durations.
Definition: vx_types.h:1353
vx_bool
A Boolean value. This allows 0 to be FALSE, as it is in C, and any non-zero to be TRUE...
Definition: vx_types.h:292
The type of the Array items. Use a vx_enum parameter.
Definition: vx_types.h:986
vx_threshold_type_e
The Threshold types.
Definition: vx_types.h:892
A vx_delay.
Definition: vx_types.h:362
Queries the OpenVX Version Number. Use a vx_uint16
Definition: vx_types.h:710
The "false" value.
Definition: vx_types.h:294
vx_int32 y
The y coordinate.
Definition: vx_types.h:1411
Action Codes.
Definition: vx_types.h:544
vx_int32 x
The x coordinate.
Definition: vx_types.h:1410
Results are the least significant bits of the output operand, as if stored in two's complement binary...
Definition: vx_types.h:621
The Khronos Group.
Definition: vx_vendors.h:37
A floating value for vendor-defined struct base index.
Definition: vx_types.h:348
#define VX_CALLBACK
Definition: vx_types.h:78
Gets or sets the border mode of the node. Use a vx_border_mode_t structure.
Definition: vx_types.h:790
A vx_threshold.
Definition: vx_types.h:366
The parameter is an input only.
Definition: vx_types.h:580
Indicates that the attempt to link two parameters together failed due to type incompatibilty.
Definition: vx_types.h:408
A vx_reference.
Definition: vx_types.h:356
vx_pyramid_attribute_e
The pyramid object attributes.
Definition: vx_types.h:954
vx_enum mode
See vx_border_mode_e.
Definition: vx_types.h:1398
For nodes that support this behavior, a replication of the nearest edge pixels value is given for out...
Definition: vx_types.h:1134
Indicates that an operation did not complete due to a reference count being non-zero.
Definition: vx_types.h:390
The scale factor between each level of the pyramid. Use a vx_float32 parameter.
Definition: vx_types.h:958
Queries the performance of the node execution. Use a vx_perf_t parameter.
Definition: vx_types.h:786
Used by formats with unknown channel types.
Definition: vx_types.h:1011
A vx_int16.
Definition: vx_types.h:319
uint16_t vx_uint16
A 16-bit unsigned value.
Definition: vx_types.h:95
vx_uint64 beg
Holds the first measurement in a set.
Definition: vx_types.h:1350
vx_reference_attribute_e
The reference attributes list.
Definition: vx_types.h:696
Indicates the number of dimensions in the distribution. Use a vx_size parameter.
Definition: vx_types.h:876
Use to indicate that the BT.601 coefficients and BTU primaries are used for conversions.
Definition: vx_types.h:1089
Color Space.
Definition: vx_types.h:549
Indicates that the supplied parameter has an incorrect value.
Definition: vx_types.h:398
uint8_t vx_uint8
An 8-bit unsigned value.
Definition: vx_types.h:90
struct _vx_array * vx_array
The Array Object. Array is a strongly-typed container for other data structures.
Definition: vx_types.h:279
Parameter Direction.
Definition: vx_types.h:543
vx_uint32 scale_y
Scale of Y dimension. For sub-sampled planes this is the scaling factor of the dimension of the plane...
Definition: vx_types.h:1335
vx_uint32 step_y
Step of Y dimension in pixels.
Definition: vx_types.h:1337
The height of the 0th image in pixels. Use a vx_uint32 parameter.
Definition: vx_types.h:962
Indicates the total size of the distribution in bytes. Use a vx_size parameter.
Definition: vx_types.h:886
Indicates that an internal or implicit resource can not be acquired (not memory). This is typically c...
Definition: vx_types.h:407
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:1218
The performance measurement structure.
Definition: vx_types.h:1348
Indicates the lower bound of status codes in VX. Used for bounds checks only.
Definition: vx_types.h:388
The data type of the threshold's value. Use a vx_enum parameter. Will contain a vx_type_e.
Definition: vx_types.h:916
int16_t vx_int16
A 16-bit signed value.
Definition: vx_types.h:115
Queries the name of the kernel. Not settable. Use a vx_char[VX_MAX_KERNEL_NAME] array (not a vx_array...
Definition: vx_types.h:762
size_t vx_size
A wrapper of size_t to keep the naming convention uniform.
Definition: vx_types.h:166
A vx_pyramid.
Definition: vx_types.h:365
Indicates that the supplied node could not be created.
Definition: vx_types.h:395
The number of levels of the pyramid. Use a vx_size parameter.
Definition: vx_types.h:956
Queries the context for the number of unique kernels. Use a vx_uint32 parameter.
Definition: vx_types.h:712
Indicates that the reference provided is not valid.
Definition: vx_types.h:402
A 2-lane YUV format of Luma (Y) and interleaved VU data at 4:2:0 sampling. This uses the BT709 full r...
Definition: vx_types.h:649
Indicates that the supplied graph already has been scheduled and may be currently executing...
Definition: vx_types.h:393
vx_enum_e
The set of supported enumerations in OpenVX.
Definition: vx_types.h:542
A threshold with only 1 value.
Definition: vx_types.h:894
Color Space Range.
Definition: vx_types.h:550
The destination height. Use a vx_uint32 parameter.
Definition: vx_types.h:978
Comparison Values.
Definition: vx_types.h:556
int32_t vx_enum
Sets the standard enumeration type size to be a fixed quantity.
Definition: vx_types.h:161
Used by formats with unknown channel types.
Definition: vx_types.h:1015
vx_uint32 x
The X coordinate.
Definition: vx_types.h:1448
The 2D Coordinates structure.
Definition: vx_types.h:1447
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:262
A vx_int64.
Definition: vx_types.h:323
Enables recording information for graph debugging.
Definition: vx_types.h:611
The number of items in the delay. Use a vx_size parameter.
Definition: vx_types.h:1170
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:243
vx_distribution_attribute_e
The distribution attribute list.
Definition: vx_types.h:874
Full range of the unit of the channel.
Definition: vx_types.h:1102
A value used for bound checking the OpenVX object types.
Definition: vx_types.h:379
No error.
Definition: vx_types.h:414
Parameter State.
Definition: vx_types.h:551
struct _vx_parameter * vx_parameter
An opaque reference to a single parameter.
Definition: vx_types.h:201
int32_t vx_int32
A 32-bit signed value.
Definition: vx_types.h:120
A value used for bound checking of vendor objects.
Definition: vx_types.h:380
vx_remap_attribute_e
The remap object attributes.
Definition: vx_types.h:970
A vx_meta_format.
Definition: vx_types.h:374
Returns the number of nodes in a graph. Use a vx_uint32 parameter.
Definition: vx_types.h:850
vx_status_e
The enumeration of all status codes.
Definition: vx_types.h:387
The number of columns of the convolution matrix. Use a vx_size parameter.
Definition: vx_types.h:940
The "true" value.
Definition: vx_types.h:296
vx_channel_range_e
The image channel range list used by the VX_IMAGE_ATTRIBUTE_RANGE attribute of a vx_image.
Definition: vx_types.h:1100
int64_t vx_int64
A 64-bit signed value.
Definition: vx_types.h:125
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:436
A single plane of unsigned 32-bit data. The range of data is not specified, as it may be extracted fr...
Definition: vx_types.h:685
Output values are defined by bilinear interpolation between the pixels whose centers are closest to t...
Definition: vx_types.h:1074
char vx_char
An 8 bit ASCII character.
Definition: vx_types.h:85
A single plane of unsigned 8-bit data. The range of data is not specified, as it may be extracted fro...
Definition: vx_types.h:670
vx_uint64 max
Holds the maximum of the durations.
Definition: vx_types.h:1356
Used by formats with unknown channel types.
Definition: vx_types.h:1013
Returns the table of all unique the kernels that exist in the context. Use a vx_kernel_info_t array...
Definition: vx_types.h:748
float vx_float32
A 32-bit float value.
Definition: vx_types.h:138
This is returned from vxLoadKernels when the module does not contain the entry point.
Definition: vx_types.h:403
The value of the lower threshold. Use a vx_int32 parameter.
Definition: vx_types.h:908
Use with the enumeration VX_NODE_ATTRIBUTE_BORDER_MODE to set the border mode behavior of a node that...
Definition: vx_types.h:1396
Indicates that the object refered to has been optimized out of existence.
Definition: vx_types.h:405
Indicates end value to use as the range. Use a vx_uint32 parameter.
Definition: vx_types.h:880
Queries the context for the number of active modules. Use a vx_uint32 parameter.
Definition: vx_types.h:714
vx_float32 strength
The strength of the keypoint. Its definition is specific to the corner detector.
Definition: vx_types.h:1412
Use to extract the Cb/U channel, no matter the byte or packing order.
Definition: vx_types.h:1030
vx_type_e
The type enumeration lists all the known types in OpenVX.
Definition: vx_types.h:314
The L2 normalization.
Definition: vx_types.h:1160
Queries an image for its number of planes. Use a vx_size parameter.
Definition: vx_types.h:828
A vx_float64.
Definition: vx_types.h:326
Hint Values.
Definition: vx_types.h:545
Configures a delta rectangle during kernel output parameter validation. Use a vx_delta_rectangle_t.
Definition: vx_types.h:1000
Queries the context for it's implementation name. Use a vx_char[VX_MAX_IMPLEMENTATION_NAME] array...
Definition: vx_types.h:718
A vx_float32.
Definition: vx_types.h:325
vx_enum vx_status
A formal status type with known fixed size.
Definition: vx_types.h:421
Use to extract the BLUE channel, no matter the byte or packing order.
Definition: vx_types.h:1024
Use to indicate that the BT.601 coefficients and SMPTE C primaries are used for conversions.
Definition: vx_types.h:1087
#define VX_ENUM_BASE(vendor, id)
Defines the manner in which to combine the Vendor and Object IDs to get the base value of the enumera...
struct _vx_context * vx_context
An opaque reference to the implementation context.
Definition: vx_types.h:222
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:309
A vx_matrix.
Definition: vx_types.h:367
The destination width. Use a vx_uint32 parameter.
Definition: vx_types.h:976
Queries an image for its color space (see vx_color_space_e). Use a vx_enum parameter.
Definition: vx_types.h:830
Returns the number of explicitly declared parameters on the graph. Use a vx_uint32 parameter...
Definition: vx_types.h:856
No defined border mode behavior is given.
Definition: vx_types.h:1126
The parameter may be unspecified. The kernel takes care not to deference optional parameters until it...
Definition: vx_types.h:1118
Convert Policy.
Definition: vx_types.h:553
Indicates the number of elements in the LUT. Use a vx_size.
Definition: vx_types.h:866
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:1464
vx_convert_policy_e
The Conversion Policy Enumeration.
Definition: vx_types.h:617
vx_uint32 start_x
The Start X coordinate.
Definition: vx_types.h:1423
struct _vx_reference * vx_reference
A generic opaque reference to any object within OpenVX.
Definition: vx_types.h:154
A single plane of 32-bit macro pixel of Y0, U0, Y1, V0 bytes. This uses the BT709 full range by defau...
Definition: vx_types.h:657
The vx_df_image_e format of the image. Use a vx_df_image parameter.
Definition: vx_types.h:964
vx_uint32 y
The Y coordinate.
Definition: vx_types.h:1457
Indicates the pointer kernel local memory area. Use a void * parameter.
Definition: vx_types.h:798
vx_float32 scale
Initialized to 0 by corner detectors.
Definition: vx_types.h:1413
A vx_distribution.
Definition: vx_types.h:364
vx_directive_e
These enumerations are given to the vxDirective API to enable/disable platform optimizations and/or f...
Definition: vx_types.h:607
Indicates to the system that the parameter must be allocated by the system.
Definition: vx_types.h:409
The total size of the matrix in bytes. Use a vx_size parameter.
Definition: vx_types.h:930
Queries a parameter for its state. A value in vx_parameter_state_e is returned. Use a vx_enum paramet...
Definition: vx_types.h:812
Returns the overall status of the graph. Use a vx_status parameter.
Definition: vx_types.h:852
Queries an image for its width. Use a vx_uint32 parameter.
Definition: vx_types.h:824
vx_float32 error
A tracking method specific error. Initialized to 0 by corner detectors.
Definition: vx_types.h:1416
A floating value for comparison between OpenVX structs and user structs.
Definition: vx_types.h:345
Indicates to the implementation that the user wants to disable any parallelization techniques...
Definition: vx_types.h:597
vx_int32 stride_x
Stride in X dimension in bytes.
Definition: vx_types.h:1332
Indicates that both an iterations and eplison method are employed. Whichever one matches first causes...
Definition: vx_types.h:1149
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:171
All images in VX are by default BT.709.
Definition: vx_types.h:1094
A vx_lut.
Definition: vx_types.h:363
A single plane of 24-bit pixel as 3 interleaved 8-bit units of R then G then B data. This uses the BT709 full range by default.
Definition: vx_types.h:636
A norm type.
Definition: vx_types.h:559
vx_int32 delta_end_y
The change in the end y.
Definition: vx_types.h:1441
vx_direction_e
An indication of how a kernel will treat the given parameter.
Definition: vx_types.h:578
A virtual image of no defined type.
Definition: vx_types.h:632
A vx_remap.
Definition: vx_types.h:372
vx_threshold_attribute_e
The threshold attributes.
Definition: vx_types.h:902
The parameter is both an input and output.
Definition: vx_types.h:584
#define VX_API_CALL
Definition: vx_types.h:71
The memory shall be treated by the system as if it were write-only. If the User reads from this memor...
Definition: vx_types.h:1187
Indicates a termination after a set number of iterations.
Definition: vx_types.h:1143
vx_int32 delta_start_y
The change in the start y.
Definition: vx_types.h:1439
Use to extract the ALPHA channel, no matter the byte or packing order.
Definition: vx_types.h:1026
vx_uint64 min
Holds the minimum of the durations.
Definition: vx_types.h:1354
The memory shall be treated by the system as if it were read-only. If the User writes to this memory...
Definition: vx_types.h:1183
vx_uint32 dim_y
Height of patch in Y dimension in pixels.
Definition: vx_types.h:1331
The memory import enumeration.
Definition: vx_types.h:557
vx_node_attribute_e
The node attributes list.
Definition: vx_types.h:782
The addressing image patch structure is used by the Host only to address pixels in an image patch...
Definition: vx_types.h:1329
Indicates that the supplied graph has invalid connections (cycles).
Definition: vx_types.h:396
A single plane of 32-bit pixel as 4 interleaved 8-bit units of R then G then B data, then a don't care byte. This uses the BT709 full range by default.
Definition: vx_types.h:641
Rounding Policy.
Definition: vx_types.h:561
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:1240
The memory shall be treated by the system as if it were readable and writeable.
Definition: vx_types.h:1190
vx_hint_e
These enumerations are given to the vxHint API to enable/disable platform optimizations and/or featur...
Definition: vx_types.h:592
The M dimension of the matrix. Use a vx_size parameter.
Definition: vx_types.h:926
A floating value for comparison between vendor structs and OpenVX objects.
Definition: vx_types.h:353
Queries an image for its format. Use a vx_df_image parameter.
Definition: vx_types.h:826
Border Mode List.
Definition: vx_types.h:555
The default memory type to import from the Host.
Definition: vx_types.h:1043
A vx_uint64.
Definition: vx_types.h:324
A vx_context.
Definition: vx_types.h:357
Queries a parameter for its index value on the kernel with which it is associated. Use a vx_uint32 parameter.
Definition: vx_types.h:806
Retrieves the extensions string. This is a space-separated string of extension names. Use a vx_char pointer allocated to the size returned from VX_CONTEXT_ATTRIBUTE_EXTENSIONS_SIZE.
Definition: vx_types.h:722
vx_enum enumeration
The kernel enumeration value from vx_kernel_e (or an extension thereof).
Definition: vx_types.h:1373
The scale of the convolution matrix. Use a vx_uint32 parameter.
Definition: vx_types.h:946
The total size of the convolution matrix in bytes. Use a vx_size parameter.
Definition: vx_types.h:948
#define VX_ATTRIBUTE_BASE(vendor, object)
Defines the manner in which to combine the Vendor and Object IDs to get the base value of the enumera...
Indicates that the requested set of parameters produce a configuration that cannot be supported...
Definition: vx_types.h:411
vx_delay_attribute_e
The delay attribute list.
Definition: vx_types.h:1166
Indicates the value type of the LUT. Use a vx_enum.
Definition: vx_types.h:864
Indicates that the supplied parameter is too big or too small in dimension.
Definition: vx_types.h:399
vx_uint32 step_x
Step of X dimension in pixels.
Definition: vx_types.h:1336
Use to extract the reference contained in the parameter. Use a vx_reference parameter.
Definition: vx_types.h:814
Indicates that the graph has more than one node outputting to the same data object. This is an invalid graph structure.
Definition: vx_types.h:391
The value of the FALSE threshold. Use a vx_int32 parameter.
Definition: vx_types.h:914
The value of the TRUE threshold. Use a vx_int32 parameter.
Definition: vx_types.h:912
A floating value for user-defined struct base index.
Definition: vx_types.h:343
Indicates that the requested kernel is missing.
Definition: vx_types.h:412
Directive Values.
Definition: vx_types.h:546
vx_status(VX_API_CALL * vx_publish_kernels_f)(vx_context context)
The entry point into modules loaded by vxLoadKernels.
Definition: vx_types.h:1209
Overflow Policies.
Definition: vx_types.h:548
The number of items in the Array. Use a vx_size parameter.
Definition: vx_types.h:988
Queries an image for its height. Use a vx_uint32 parameter.
Definition: vx_types.h:822
Queries a kernel for the number of parameters the kernel supports. Use a vx_uint32 parameter...
Definition: vx_types.h:758
When scaling, this truncates the least significant values that are lost in operations.
Definition: vx_types.h:1198
vx_image_attribute_e
The image attributes list.
Definition: vx_types.h:820
double vx_float64
A 64-bit float value (aka double).
Definition: vx_types.h:143
vx_accessor_e
The memory accessor hint flags. These enumeration values are used to indicate desired system behavior...
Definition: vx_types.h:1179
A vx_kernel.
Definition: vx_types.h:360
The source height. Use a vx_uint32 parameter.
Definition: vx_types.h:974
Output values are defined to match the source pixel whose center is nearest to the sample position...
Definition: vx_types.h:1071
struct _vx_pyramid * vx_pyramid
The Image Pyramid object. A set of scaled images.
Definition: vx_types.h:255
For memory allocated through OpenVX, this is the import type.
Definition: vx_types.h:1040
Indicates that an internal or implicit allocation failed. Typically catastrophic. After detection...
Definition: vx_types.h:406
Indicates that the supplied parameter information does not match the kernel contract.
Definition: vx_types.h:404
vx_norm_type_e
A normalization type.
Definition: vx_types.h:1156
vx_uint32 x
The X coordinate.
Definition: vx_types.h:1456
An accessor flag type.
Definition: vx_types.h:560
vx_array_attribute_e
The array object attributes.
Definition: vx_types.h:984
A vx_char.
Definition: vx_types.h:316
A floating value for comparison between user structs and vendor structs.
Definition: vx_types.h:350
struct _vx_kernel * vx_kernel
An opaque reference to the descriptor of a kernel.
Definition: vx_types.h:194
vx_uint32 start_y
The Start Y coordinate.
Definition: vx_types.h:1424
Use to indicate that the BT.709 coefficients are used for conversions.
Definition: vx_types.h:1091
vx_uint32 dim_x
Width of patch in X dimension in pixels.
Definition: vx_types.h:1330
vx_action_e
A return code enumeration from a vx_nodecomplete_f during execution.
Definition: vx_types.h:568
The type of reference contained in the delay. Use a vx_enum parameter.
Definition: vx_types.h:1168
vx_uint64 tmp
Holds the last measurement.
Definition: vx_types.h:1349
vx_int32 tracking_status
A zero indicates a lost point. Initialized to 1 by corner detectors.
Definition: vx_types.h:1415
A termination criteria.
Definition: vx_types.h:558
An invalid type value. When passed an error must be returned.
Definition: vx_types.h:315
A vx_array.
Definition: vx_types.h:370
An error object which has no type.
Definition: vx_types.h:373
A vx_rectangle_t.
Definition: vx_types.h:339
A single plane of 32-bit macro pixel of U0, Y0, V0, Y1 bytes. This uses the BT709 full range by defau...
Definition: vx_types.h:653
Indicates the range of a bin. Use a vx_uint32 parameter.
Definition: vx_types.h:884
The changes in dimensions of the rectangle between input and output images in an output parameter val...
Definition: vx_types.h:1437
vx_uint64 num
Holds the number of measurements.
Definition: vx_types.h:1355
A vx_int8.
Definition: vx_types.h:317
The rectangle data structure that is shared with the users.
Definition: vx_types.h:1422
A vx_keypoint_t.
Definition: vx_types.h:340
vx_int32 stride_y
Stride in Y dimension in bytes.
Definition: vx_types.h:1333
#define VX_DF_IMAGE(a, b, c, d)
Converts a set of four chars into a uint32_t container of a VX_DF_IMAGE code.
vx_uint64 sum
Holds the summation of durations.
Definition: vx_types.h:1352
vx_channel_e
The channel enumerations for channel extractions.
Definition: vx_types.h:1009
A 3 plane of 8 bit 4:4:4 sampled Y, U, V planes. This uses the BT709 full range by default...
Definition: vx_types.h:665
vx_enum vx_action
The formal typedef of the response from the callback.
Definition: vx_types.h:427
vx_uint64 end
Holds the last measurement in a set.
Definition: vx_types.h:1351
The Kernel Information Structure. This is returned by the Context to indicate which kernels are avail...
Definition: vx_types.h:1368
Indicates the number of bins. Use a vx_size parameter.
Definition: vx_types.h:882
The width of the 0th image in pixels. Use a vx_uint32 parameter.
Definition: vx_types.h:960
A vx_bool.
Definition: vx_types.h:333
Indicates the total size of the LUT in bytes. Uses a vx_size.
Definition: vx_types.h:868
Used by formats with unknown channel types.
Definition: vx_types.h:1017
Queries a parameter for its direction value on the kernel with which it is associated. Use a vx_enum parameter.
Definition: vx_types.h:808
Indicates that the graph is stopped due to an error or a callback that abandoned execution.
Definition: vx_types.h:392
The border mode for immediate mode functions.
Definition: vx_types.h:742
vx_uint32 end_x
The End X coordinate.
Definition: vx_types.h:1425
Indicates a generic error code, used when no other describes the error.
Definition: vx_types.h:413
The value of the higher threshold. Use a vx_int32 parameter.
Definition: vx_types.h:910
A floating value for vendor defined object base index.
Definition: vx_types.h:378
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:1229
A vx_coordinates2d_t.
Definition: vx_types.h:341
The maximum width or height of a convolution matrix. Use a vx_size parameter. Each vendor must suppor...
Definition: vx_types.h:733
The N dimension of the matrix. Use a vx_size parameter.
Definition: vx_types.h:928
Queries an image for its channel range (see vx_channel_range_e). Use a vx_enum parameter.
Definition: vx_types.h:832
vx_meta_format_attribute_e
The meta format object attributes.
Definition: vx_types.h:998
A vx_size.
Definition: vx_types.h:328
The source width. Use a vx_uint32 parameter.
Definition: vx_types.h:972
For nodes that support this behavior, a constant value is filled-in when accessing out-of-bounds pixe...
Definition: vx_types.h:1130
The L1 normalization.
Definition: vx_types.h:1158
A floating value for comparison between OpenVX scalars and OpenVX structs.
Definition: vx_types.h:337
vx_df_image_e
Based on the VX_DF_IMAGE definition.
Definition: vx_types.h:630
vx_int32 delta_end_x
The change in the end x.
Definition: vx_types.h:1440
A vx_image.
Definition: vx_types.h:371
The 3D Coordinates structure.
Definition: vx_types.h:1455
The parameter is an output only.
Definition: vx_types.h:582
vx_scalar_attribute_e
The scalar attributes list.
Definition: vx_types.h:840
Use to indicate that no color space is used.
Definition: vx_types.h:1085
The local data area allocated with each kernel when it becomes a node. Use a vx_size parameter...
Definition: vx_types.h:771
vx_interpolation_type_e
The image reconstruction filters supported by image resampling operations.
Definition: vx_types.h:1069
vx_kernel_attribute_e
The kernel attributes list.
Definition: vx_types.h:754
Queries the context for the number of active references. Use a vx_uint32 parameter.
Definition: vx_types.h:716
struct _vx_convolution * vx_convolution
The Convolution Object. A user-defined convolution kernel of MxM elements.
Definition: vx_types.h:268
Default. The parameter must be supplied. If not set, during Verify, an error is returned.
Definition: vx_types.h:1114
A single plane of signed 16-bit data. The range of data is not specified, as it may be extracted from...
Definition: vx_types.h:680
A vx_node.
Definition: vx_types.h:359
#define VX_MAX_KERNEL_NAME
Defines the maximum string length of a kernel name to be added to OpenVX.
Definition: vx.h:40
Use to extract the LUMA channel, no matter the byte or packing order.
Definition: vx_types.h:1028
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:274
A vx_df_image.
Definition: vx_types.h:329
uint32_t vx_uint32
A 32-bit unsigned value.
Definition: vx_types.h:100
vx_int32 delta_start_x
The change in the start x.
Definition: vx_types.h:1438
Indicates the start of the values to use (inclusive). Use a vx_int32 parameter.
Definition: vx_types.h:878
A vx_convolution.
Definition: vx_types.h:368
vx_status(VX_CALLBACK * vx_kernel_output_validate_f)(vx_node node, vx_uint32 index, vx_meta_format meta)
The user-defined kernel node output parameter validation function. The function only needs to fill in...
Definition: vx_types.h:1272
Returns the overall performance of the graph. Use a vx_perf_t parameter.
Definition: vx_types.h:854
int8_t vx_int8
An 8-bit signed value.
Definition: vx_types.h:110
A vx_parameter.
Definition: vx_types.h:361
Queries the unique vendor ID. Use a vx_uint16.
Definition: vx_types.h:708
A 2-plane YUV format of Luma (Y) and interleaved UV data at 4:2:0 sampling. This uses the BT709 full ...
Definition: vx_types.h:645
When scaling, this rounds to nearest even output value.
Definition: vx_types.h:1200
vx_status(VX_CALLBACK * vx_kernel_input_validate_f)(vx_node node, vx_uint32 index)
The user-defined kernel node input parameter validation function.
Definition: vx_types.h:1256
Queries an image for its total number of bytes. Use a vx_size parameter.
Definition: vx_types.h:834
The keypoint data structure.
Definition: vx_types.h:1409
vx_parameter_state_e
The parameter state type.
Definition: vx_types.h:1110
vx_parameter_attribute_e
The parameter attributes list.
Definition: vx_types.h:804
The value type of the matrix. Use a vx_enum parameter.
Definition: vx_types.h:924
A threshold with 2 values (upper/lower). Use with Canny Edge Detection.
Definition: vx_types.h:896
Indicates that the supplied parameter is in an invalid format.
Definition: vx_types.h:400
Indicates the size of the kernel local memory area. Use a vx_size parameter.
Definition: vx_types.h:794
Stop executing the graph.
Definition: vx_types.h:572
Results are saturated to the bit depth of the output operand.
Definition: vx_types.h:623
Indicates that the given graph has failed verification due to an insufficient number of required para...
Definition: vx_types.h:410
Use to extract the GREEN channel, no matter the byte or packing order.
Definition: vx_types.h:1022
vx_import_type_e
An enumeration of memory import types.
Definition: vx_types.h:1038
struct _vx_graph * vx_graph
An opaque reference to a graph.
Definition: vx_types.h:215
A vx_coordinates3d_t.
Definition: vx_types.h:342
A 3 plane of 8-bit 4:2:0 sampled Y, U, V planes. This uses the BT709 full range by default...
Definition: vx_types.h:661
The maximal number of items that the Array can hold. Use a vx_size parameter.
Definition: vx_types.h:990
vx_float32 orientation
Initialized to 0 by corner detectors.
Definition: vx_types.h:1414
Restricted range of the unit of the channel based on the space given.
Definition: vx_types.h:1104
vx_graph_attribute_e
The graph attributes list.
Definition: vx_types.h:848
Queries the enum of the kernel. Not settable. Use a vx_enum parameter.
Definition: vx_types.h:766
Indicates that the link is not possible as specified. The parameters are incompatible.
Definition: vx_types.h:401
Indicates that the supplied type parameter is incorrect.
Definition: vx_types.h:397
Use to extract the Cr/V/Value channel, no matter the byte or packing order.
Definition: vx_types.h:1032
vx_context_attribute_e
A list of context attributes.
Definition: vx_types.h:706
struct _vx_node * vx_node
An opaque reference to a kernel node.
Definition: vx_types.h:208
Indicates that the supplied parameter is from another scope and cannot be used in the current scope...
Definition: vx_types.h:394
A vx_int32.
Definition: vx_types.h:321
vx_round_policy_e
The Round Policy Enumeration.
Definition: vx_types.h:1196
vx_color_space_e
The image color space list used by the VX_IMAGE_ATTRIBUTE_SPACE attribute of a vx_image.
Definition: vx_types.h:1083
Disables recording information for graph debugging.
Definition: vx_types.h:609
Returns the vx_type_e of the reference. Use a vx_enum parameter.
Definition: vx_types.h:700
A vx_scalar. when needed to be completely generic for kernel validation.
Definition: vx_types.h:369
Indicates a termination after matching against the value of eplison provided to the function...
Definition: vx_types.h:1145
Queries an array item size. Use a vx_size parameter.
Definition: vx_types.h:992
Continue executing the graph with no changes.
Definition: vx_types.h:570
A vx_uint32.
Definition: vx_types.h:322
vx_matrix_attribute_e
The matrix attributes.
Definition: vx_types.h:922
uint64_t vx_uint64
A 64-bit unsigned value.
Definition: vx_types.h:105
Queries the status of node execution. Use a vx_status parameter.
Definition: vx_types.h:784
The maximum window dimension of the OpticalFlowPyrLK kernel.
Definition: vx_types.h:737
The value type of the threshold. Use a vx_enum parameter. Will contain a vx_threshold_type_e.
Definition: vx_types.h:904
vx_uint32 end_y
The End Y coordinate.
Definition: vx_types.h:1426
vx_uint32 constant_value
For the mode VX_BORDER_MODE_CONSTANT, this value is filled into each pixel. If there are sub-channels...
Definition: vx_types.h:1403
The number of rows of the convolution matrix. Use a vx_size parameter.
Definition: vx_types.h:938
vx_border_mode_e
The border mode list.
Definition: vx_types.h:1124
struct _vx_matrix * vx_matrix
The Matrix Object. An MxN matrix of some unit type.
Definition: vx_types.h:249
Threshold Type List.
Definition: vx_types.h:554
struct _vx_scalar * vx_scalar
An opaque reference to a scalar.
Definition: vx_types.h:179
Returns the reference count of the object. Use a vx_uint32 parameter.
Definition: vx_types.h:698
vx_uint32 y
The Y coordinate.
Definition: vx_types.h:1449
A single plane of unsigned 16-bit data. The range of data is not specified, as it may be extracted fr...
Definition: vx_types.h:675
Queries the type of atomic that is contained in the scalar. Use a vx_enum parameter.
Definition: vx_types.h:842
A vx_graph.
Definition: vx_types.h:358
Queries the number of bytes in the extensions string. Use a vx_size parameter.
Definition: vx_types.h:720
A single plane of unsigned 32-bit data. The range of data is not specified, as it may be extracted fr...
Definition: vx_types.h:690
vx_termination_criteria_e
The termination criteria list.
Definition: vx_types.h:1141
vx_uint32 scale_x
Scale of X dimension. For sub-sampled planes this is the scaling factor of the dimension of the plane...
Definition: vx_types.h:1334
Output values are determined by averaging the source pixels whose areas fall under the area of the de...
Definition: vx_types.h:1077
vx_convolution_attribute_e
The convolution attributes.
Definition: vx_types.h:936
struct _vx_lut * vx_lut
The Look-Up Table (LUT) Object.
Definition: vx_types.h:236
Channel Name.
Definition: vx_types.h:552
A vx_uint16.
Definition: vx_types.h:320
The value of the single threshold. Use a vx_int32 parameter.
Definition: vx_types.h:906
The local data pointer allocated with each kernel when it becomes a node. Use a void pointer paramete...
Definition: vx_types.h:776
vx_uint32 z
The Z coordinate.
Definition: vx_types.h:1458
Use to extract the RED channel, no matter the byte or packing order.
Definition: vx_types.h:1020
A vx_enum. Equivalent in size to a vx_int32.
Definition: vx_types.h:327
vx_lut_attribute_e
The Look-Up Table (LUT) attribute list.
Definition: vx_types.h:862
A vx_uint8.
Definition: vx_types.h:318