The OpenVX Specification  r31169
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
vx_types.h
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 #define VX_API_ENTRY
46 #endif
47 #ifndef VX_API_CALL
48 #if defined(_WIN32)
49 #define VX_API_CALL __stdcall
50 #else
51 #define VX_API_CALL
52 #endif
53 #endif
54 #ifndef VX_CALLBACK
55 #if defined(_WIN32)
56 #define VX_CALLBACK __stdcall
57 #else
58 #define VX_CALLBACK
59 #endif
60 #endif
61 
65 typedef char vx_char;
66 
70 typedef uint8_t vx_uint8;
71 
75 typedef uint16_t vx_uint16;
76 
80 typedef uint32_t vx_uint32;
81 
85 typedef uint64_t vx_uint64;
86 
90 typedef int8_t vx_int8;
91 
95 typedef int16_t vx_int16;
96 
100 typedef int32_t vx_int32;
101 
105 typedef int64_t vx_int64;
106 
107 #if defined(EXPERIMENTAL_PLATFORM_SUPPORTS_16_FLOAT)
108 
112 typedef hfloat vx_float16;
113 #endif
114 
118 typedef float vx_float32;
119 
123 typedef double vx_float64;
124 
134 typedef struct _vx_reference *vx_reference;
135 
141 typedef int32_t vx_enum;
142 
146 typedef size_t vx_size;
147 
151 typedef uint32_t vx_df_image;
152 
159 typedef struct _vx_scalar *vx_scalar;
160 
166 typedef struct _vx_image *vx_image;
167 
174 typedef struct _vx_kernel *vx_kernel;
175 
181 typedef struct _vx_parameter *vx_parameter;
182 
188 typedef struct _vx_node *vx_node;
189 
195 typedef struct _vx_graph *vx_graph;
196 
202 typedef struct _vx_context *vx_context;
203 
210 typedef struct _vx_delay *vx_delay;
211 
216 typedef struct _vx_lut *vx_lut;
217 
223 typedef struct _vx_distribution *vx_distribution;
224 
229 typedef struct _vx_matrix *vx_matrix;
230 
235 typedef struct _vx_pyramid *vx_pyramid;
236 
242 typedef struct _vx_threshold *vx_threshold;
243 
248 typedef struct _vx_convolution *vx_convolution;
249 
254 typedef struct _vx_remap *vx_remap;
255 
259 typedef struct _vx_array *vx_array;
260 
272 typedef enum _vx_bool_e {
277 } vx_bool;
278 
289 typedef struct _vx_meta_format* vx_meta_format;
290 
294 enum vx_type_e {
296  VX_TYPE_CHAR = 0x001,
297  VX_TYPE_INT8 = 0x002,
298  VX_TYPE_UINT8 = 0x003,
299  VX_TYPE_INT16 = 0x004,
300  VX_TYPE_UINT16 = 0x005,
301  VX_TYPE_INT32 = 0x006,
302  VX_TYPE_UINT32 = 0x007,
303  VX_TYPE_INT64 = 0x008,
304  VX_TYPE_UINT64 = 0x009,
307  VX_TYPE_ENUM = 0x00C,
308  VX_TYPE_SIZE = 0x00D,
310 #if defined(EXPERIMENTAL_PLATFORM_SUPPORTS_16_FLOAT)
311  VX_TYPE_FLOAT16 = 0x00F,
312 #endif
313  VX_TYPE_BOOL = 0x010,
315  /* add new scalar types here */
316 
338  VX_TYPE_GRAPH = 0x802,
339  VX_TYPE_NODE = 0x803,
340  VX_TYPE_KERNEL = 0x804,
342  VX_TYPE_DELAY = 0x806,
343  VX_TYPE_LUT = 0x807,
347  VX_TYPE_MATRIX = 0x80B,
349  VX_TYPE_SCALAR = 0x80D,
350  VX_TYPE_ARRAY = 0x80E,
351  VX_TYPE_IMAGE = 0x80F,
352  VX_TYPE_REMAP = 0x810,
353  VX_TYPE_ERROR = 0x811,
356  /* \todo add new object types here */
357 
361 };
362 
369  /* add new codes here */
395 };
396 
402 
408 
416 typedef vx_action (VX_CALLBACK *vx_nodecomplete_f)(vx_node node);
417 
422 #define VX_VENDOR_MASK (0xFFF00000)
423 
429 #define VX_TYPE_MASK (0x000FFF00)
430 
435 #define VX_LIBRARY_MASK (0x000FF000)
436 
440 #define VX_KERNEL_MASK (0x00000FFF)
441 
445 #define VX_ATTRIBUTE_ID_MASK (0x000000FF)
446 
450 #define VX_ENUM_TYPE_MASK (0x000FF000)
451 
455 #define VX_ENUM_MASK (0x00000FFF)
456 
460 #define VX_VENDOR(e) (((vx_uint32)e & VX_VENDOR_MASK) >> 20)
461 
465 #define VX_TYPE(e) (((vx_uint32)e & VX_TYPE_MASK) >> 8)
466 
470 #define VX_ENUM_TYPE(e) (((vx_uint32)e & VX_ENUM_TYPE_MASK) >> 12)
471 
475 #define VX_LIBRARY(e) (((vx_uint32)e & VX_LIBRARY_MASK) >> 12)
476 
477 #if defined(_LITTLE_ENDIAN_) || (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) || defined(_WIN32) || defined(WIN32)
478 #define VX_DF_IMAGE(a,b,c,d) ((a) | (b << 8) | (c << 16) | (d << 24))
479 #define VX_ATTRIBUTE_BASE(vendor, object) (((vendor) << 20) | (object << 8))
480 #define VX_KERNEL_BASE(vendor, lib) (((vendor) << 20) | (lib << 12))
481 #define VX_ENUM_BASE(vendor, id) (((vendor) << 20) | (id << 12))
482 #elif defined(_BIG_ENDIAN_) || (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
483 #define VX_DF_IMAGE(a,b,c,d) ((d) | (c << 8) | (b << 16) | (a << 24))
484 #define VX_ATTRIBUTE_BASE(vendor, object) ((vendor) | (object << 12))
485 #define VX_KERNEL_BASE(vendor, lib) ((vendor) | (lib << 12))
486 #define VX_ENUM_BASE(vendor, id) ((vendor) | (id << 12))
487 #else
488 #error "Endian-ness must be defined!"
489 #endif
490 
522 enum vx_enum_e {
524  VX_ENUM_ACTION = 0x01,
525  VX_ENUM_HINT = 0x02,
542 };
543 
553 };
554 
565 };
566 
572 enum vx_hint_e {
578 };
579 
592 };
593 
604 };
605 
612  VX_DF_IMAGE_VIRT = VX_DF_IMAGE('V','I','R','T'),
616  VX_DF_IMAGE_RGB = VX_DF_IMAGE('R','G','B','2'),
621  VX_DF_IMAGE_RGBX = VX_DF_IMAGE('R','G','B','A'),
625  VX_DF_IMAGE_NV12 = VX_DF_IMAGE('N','V','1','2'),
629  VX_DF_IMAGE_NV21 = VX_DF_IMAGE('N','V','2','1'),
633  VX_DF_IMAGE_UYVY = VX_DF_IMAGE('U','Y','V','Y'),
637  VX_DF_IMAGE_YUYV = VX_DF_IMAGE('Y','U','Y','V'),
641  VX_DF_IMAGE_IYUV = VX_DF_IMAGE('I','Y','U','V'),
645  VX_DF_IMAGE_YUV4 = VX_DF_IMAGE('Y','U','V','4'),
650  VX_DF_IMAGE_U8 = VX_DF_IMAGE('U','0','0','8'),
655  VX_DF_IMAGE_U16 = VX_DF_IMAGE('U','0','1','6'),
660  VX_DF_IMAGE_S16 = VX_DF_IMAGE('S','0','1','6'),
665  VX_DF_IMAGE_U32 = VX_DF_IMAGE('U','0','3','2'),
670  VX_DF_IMAGE_S32 = VX_DF_IMAGE('S','0','3','2'),
671 };
672 
681 };
682 
729 };
730 
757 };
758 
779 };
780 
795 };
796 
815 };
816 
823 };
824 
837 };
838 
849 };
850 
867 };
868 
877 };
878 
897 };
898 
911 };
912 
929 };
930 
945 };
946 
959 };
960 
973 };
974 
981 };
982 
998 
1013 };
1014 
1021 
1024 };
1025 
1058 };
1059 
1072 
1075 };
1076 
1085 };
1086 
1099 };
1100 
1115 };
1116 
1130 };
1131 
1141 };
1142 
1151 };
1152 
1171 };
1172 
1181 };
1182 
1189 typedef vx_status (VX_API_CALL *vx_publish_kernels_f)(vx_context context);
1190 
1198 typedef vx_status (VX_CALLBACK *vx_kernel_f)(vx_node node, const vx_reference *parameters, vx_uint32 num);
1199 
1209 typedef vx_status (VX_CALLBACK *vx_kernel_initialize_f)(vx_node node, const vx_reference *parameters, vx_uint32 num);
1210 
1220 typedef vx_status (VX_CALLBACK *vx_kernel_deinitialize_f)(vx_node node, const vx_reference *parameters, vx_uint32 num);
1221 
1236 typedef vx_status (VX_CALLBACK *vx_kernel_input_validate_f)(vx_node node, vx_uint32 index);
1237 
1252 typedef vx_status (VX_CALLBACK *vx_kernel_output_validate_f)(vx_node node, vx_uint32 index, vx_meta_format meta);
1253 
1254 #if defined(WIN32) || defined(UNDER_CE)
1255 
1258 #if defined(ARCH_32)
1259 #define VX_FMT_REF "%lu"
1260 
1263 #define VX_FMT_SIZE "%lu"
1264 #elif defined(ARCH_64)
1265 
1268 #define VX_FMT_REF "%I64u"
1269 
1272 #define VX_FMT_SIZE "%I64u"
1273 #endif
1274 #else
1275 
1278 #define VX_FMT_REF "%p"
1279 
1282 #define VX_FMT_SIZE "%zu"
1283 #endif
1284 
1287 #define VX_SCALE_UNITY (1024u)
1288 
1309 typedef struct _vx_imagepatch_addressing_t {
1319 
1323 #define VX_IMAGEPATCH_ADDR_INIT {0u, 0u, 0, 0, 0u, 0u, 0u, 0u}
1324 
1328 typedef struct _vx_perf_t {
1337 } vx_perf_t;
1338 
1342 #define VX_PERF_INIT {0ul, 0ul, 0ul, 0ul, 0ul, 0ul}
1343 
1348 typedef struct _vx_kernel_info_t {
1354 
1361 
1365 #define VX_SCALE_PYRAMID_HALF (0.5f)
1366 
1370 #define VX_SCALE_PYRAMID_ORB ((vx_float32)0.8408964f)
1371 
1376 typedef struct _vx_border_mode_t {
1385 
1389 typedef struct _vx_keypoint_t {
1397 } vx_keypoint_t;
1398 
1402 typedef struct _vx_rectangle_t {
1407 } vx_rectangle_t;
1408 
1417 typedef struct _vx_delta_rectangle_t {
1423 
1427 typedef struct _vx_coordinates2d_t {
1431 
1435 typedef struct _vx_coordinates3d_t {
1440 
1444 typedef void (VX_CALLBACK *vx_log_callback_f)(vx_context context,
1445  vx_reference ref,
1446  vx_status status,
1447  const vx_char string[]);
1448 
1449 #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:790
struct _vx_image * vx_image
An opaque reference to an image.
Definition: vx_types.h:166
Interpolation Types.
Definition: vx_types.h:527
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:210
vx_uint64 avg
Holds the average of the durations.
Definition: vx_types.h:1333
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:272
The type of the Array items. Use a vx_enum parameter.
Definition: vx_types.h:966
void(* 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:1444
vx_threshold_type_e
The Threshold types.
Definition: vx_types.h:872
A vx_delay.
Definition: vx_types.h:342
Queries the OpenVX Version Number. Use a vx_uint16
Definition: vx_types.h:690
The "false" value.
Definition: vx_types.h:274
vx_int32 y
The y coordinate.
Definition: vx_types.h:1391
Action Codes.
Definition: vx_types.h:524
vx_int32 x
The x coordinate.
Definition: vx_types.h:1390
Results are the least significant bits of the output operand, as if stored in two's complement binary...
Definition: vx_types.h:601
The Khronos Group.
Definition: vx_vendors.h:37
A floating value for vendor-defined struct base index.
Definition: vx_types.h:328
Gets or sets the border mode of the node. Use a vx_border_mode_t structure.
Definition: vx_types.h:770
A vx_threshold.
Definition: vx_types.h:346
The parameter is an input only.
Definition: vx_types.h:560
Indicates that the attempt to link two parameters together failed due to type incompatibilty.
Definition: vx_types.h:388
A vx_reference.
Definition: vx_types.h:336
vx_pyramid_attribute_e
The pyramid object attributes.
Definition: vx_types.h:934
vx_enum mode
See vx_border_mode_e.
Definition: vx_types.h:1378
For nodes that support this behavior, a replication of the nearest edge pixels value is given for out...
Definition: vx_types.h:1114
Indicates that an operation did not complete due to a reference count being non-zero.
Definition: vx_types.h:370
The scale factor between each level of the pyramid. Use a vx_float32 parameter.
Definition: vx_types.h:938
Queries the performance of the node execution. Use a vx_perf_t parameter.
Definition: vx_types.h:766
Used by formats with unknown channel types.
Definition: vx_types.h:991
A vx_int16.
Definition: vx_types.h:299
The 2D Coordinates structure.
Definition: vx_types.h:1427
uint16_t vx_uint16
A 16-bit unsigned value.
Definition: vx_types.h:75
vx_uint64 beg
Holds the first measurement in a set.
Definition: vx_types.h:1330
vx_reference_attribute_e
The reference attributes list.
Definition: vx_types.h:676
vx_status(* vx_kernel_f)(vx_node node, const vx_reference *parameters, vx_uint32 num)
The pointer to the Host side kernel.
Definition: vx_types.h:1198
Indicates the number of dimensions in the distribution. Use a vx_size parameter.
Definition: vx_types.h:856
Use to indicate that the BT.601 coefficients and BTU primaries are used for conversions.
Definition: vx_types.h:1069
Color Space.
Definition: vx_types.h:529
Indicates that the supplied parameter has an incorrect value.
Definition: vx_types.h:378
uint8_t vx_uint8
An 8-bit unsigned value.
Definition: vx_types.h:70
struct _vx_array * vx_array
The Array Object. Array is a strongly-typed container for other data structures.
Definition: vx_types.h:259
Parameter Direction.
Definition: vx_types.h:523
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:1315
vx_uint32 step_y
Step of Y dimension in pixels.
Definition: vx_types.h:1317
The height of the 0th image in pixels. Use a vx_uint32 parameter.
Definition: vx_types.h:942
Indicates the total size of the distribution in bytes. Use a vx_size parameter.
Definition: vx_types.h:866
Indicates that an internal or implicit resource can not be acquired (not memory). This is typically c...
Definition: vx_types.h:387
Indicates the lower bound of status codes in VX. Used for bounds checks only.
Definition: vx_types.h:368
The data type of the threshold's value. Use a vx_enum parameter. Will contain a vx_type_e.
Definition: vx_types.h:896
int16_t vx_int16
A 16-bit signed value.
Definition: vx_types.h:95
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:742
size_t vx_size
A wrapper of size_t to keep the naming convention uniform.
Definition: vx_types.h:146
A vx_pyramid.
Definition: vx_types.h:345
Indicates that the supplied node could not be created.
Definition: vx_types.h:375
The number of levels of the pyramid. Use a vx_size parameter.
Definition: vx_types.h:936
Queries the context for the number of unique kernels. Use a vx_uint32 parameter.
Definition: vx_types.h:692
Indicates that the reference provided is not valid.
Definition: vx_types.h:382
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:629
Indicates that the supplied graph already has been scheduled and may be currently executing...
Definition: vx_types.h:373
vx_enum_e
The set of supported enumerations in OpenVX.
Definition: vx_types.h:522
A threshold with only 1 value.
Definition: vx_types.h:874
Color Space Range.
Definition: vx_types.h:530
The destination height. Use a vx_uint32 parameter.
Definition: vx_types.h:958
The keypoint data structure.
Definition: vx_types.h:1389
Comparison Values.
Definition: vx_types.h:536
int32_t vx_enum
Sets the standard enumeration type size to be a fixed quantity.
Definition: vx_types.h:141
Used by formats with unknown channel types.
Definition: vx_types.h:995
vx_uint32 x
The X coordinate.
Definition: vx_types.h:1428
Use with the enumeration VX_NODE_ATTRIBUTE_BORDER_MODE to set the border mode behavior of a node that...
Definition: vx_types.h:1376
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:242
A vx_int64.
Definition: vx_types.h:303
Enables recording information for graph debugging.
Definition: vx_types.h:591
The number of items in the delay. Use a vx_size parameter.
Definition: vx_types.h:1150
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:223
vx_distribution_attribute_e
The distribution attribute list.
Definition: vx_types.h:854
Full range of the unit of the channel.
Definition: vx_types.h:1082
A value used for bound checking the OpenVX object types.
Definition: vx_types.h:359
No error.
Definition: vx_types.h:394
Parameter State.
Definition: vx_types.h:531
struct _vx_parameter * vx_parameter
An opaque reference to a single parameter.
Definition: vx_types.h:181
int32_t vx_int32
A 32-bit signed value.
Definition: vx_types.h:100
A value used for bound checking of vendor objects.
Definition: vx_types.h:360
vx_remap_attribute_e
The remap object attributes.
Definition: vx_types.h:950
A vx_meta_format.
Definition: vx_types.h:354
The addressing image patch structure is used by the Host only to address pixels in an image patch...
Definition: vx_types.h:1309
Returns the number of nodes in a graph. Use a vx_uint32 parameter.
Definition: vx_types.h:830
vx_status_e
The enumeration of all status codes.
Definition: vx_types.h:367
The number of columns of the convolution matrix. Use a vx_size parameter.
Definition: vx_types.h:920
The "true" value.
Definition: vx_types.h:276
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:1080
int64_t vx_int64
A 64-bit signed value.
Definition: vx_types.h:105
The 3D Coordinates structure.
Definition: vx_types.h:1435
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:665
vx_status(* 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:1220
Output values are defined by bilinear interpolation between the pixels whose centers are closest to t...
Definition: vx_types.h:1054
char vx_char
An 8 bit ASCII character.
Definition: vx_types.h:65
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:650
vx_uint64 max
Holds the maximum of the durations.
Definition: vx_types.h:1336
Used by formats with unknown channel types.
Definition: vx_types.h:993
Returns the table of all unique the kernels that exist in the context. Use a vx_kernel_info_t array...
Definition: vx_types.h:728
float vx_float32
A 32-bit float value.
Definition: vx_types.h:118
This is returned from vxLoadKernels when the module does not contain the entry point.
Definition: vx_types.h:383
The value of the lower threshold. Use a vx_int32 parameter.
Definition: vx_types.h:888
Indicates that the object refered to has been optimized out of existence.
Definition: vx_types.h:385
Indicates end value to use as the range. Use a vx_uint32 parameter.
Definition: vx_types.h:860
Queries the context for the number of active modules. Use a vx_uint32 parameter.
Definition: vx_types.h:694
vx_float32 strength
The strength of the keypoint. Its definition is specific to the corner detector.
Definition: vx_types.h:1392
Use to extract the Cb/U channel, no matter the byte or packing order.
Definition: vx_types.h:1010
vx_type_e
The type enumeration lists all the known types in OpenVX.
Definition: vx_types.h:294
The L2 normalization.
Definition: vx_types.h:1140
Queries an image for its number of planes. Use a vx_size parameter.
Definition: vx_types.h:808
A vx_float64.
Definition: vx_types.h:306
Hint Values.
Definition: vx_types.h:525
Configures a delta rectangle during kernel output parameter validation. Use a vx_delta_rectangle_t.
Definition: vx_types.h:980
Queries the context for it's implementation name. Use a vx_char[VX_MAX_IMPLEMENTATION_NAME] array...
Definition: vx_types.h:698
A vx_float32.
Definition: vx_types.h:305
vx_enum vx_status
A formal status type with known fixed size.
Definition: vx_types.h:401
Use to extract the BLUE channel, no matter the byte or packing order.
Definition: vx_types.h:1004
Use to indicate that the BT.601 coefficients and SMPTE C primaries are used for conversions.
Definition: vx_types.h:1067
#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:202
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:289
A vx_matrix.
Definition: vx_types.h:347
The destination width. Use a vx_uint32 parameter.
Definition: vx_types.h:956
Queries an image for its color space (see vx_color_space_e). Use a vx_enum parameter.
Definition: vx_types.h:810
Returns the number of explicitly declared parameters on the graph. Use a vx_uint32 parameter...
Definition: vx_types.h:836
No defined border mode behavior is given.
Definition: vx_types.h:1106
The parameter may be unspecified. The kernel takes care not to deference optional parameters until it...
Definition: vx_types.h:1098
Convert Policy.
Definition: vx_types.h:533
Indicates the number of elements in the LUT. Use a vx_size.
Definition: vx_types.h:846
vx_convert_policy_e
The Conversion Policy Enumeration.
Definition: vx_types.h:597
vx_uint32 start_x
The Start X coordinate.
Definition: vx_types.h:1403
struct _vx_reference * vx_reference
A generic opaque reference to any object within OpenVX.
Definition: vx_types.h:134
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:637
The vx_df_image_e format of the image. Use a vx_df_image parameter.
Definition: vx_types.h:944
vx_uint32 y
The Y coordinate.
Definition: vx_types.h:1437
Indicates the pointer kernel local memory area. Use a void * parameter.
Definition: vx_types.h:778
vx_float32 scale
Initialized to 0 by corner detectors.
Definition: vx_types.h:1393
A vx_distribution.
Definition: vx_types.h:344
vx_directive_e
These enumerations are given to the vxDirective API to enable/disable platform optimizations and/or f...
Definition: vx_types.h:587
Indicates to the system that the parameter must be allocated by the system.
Definition: vx_types.h:389
The total size of the matrix in bytes. Use a vx_size parameter.
Definition: vx_types.h:910
Queries a parameter for its state. A value in vx_parameter_state_e is returned. Use a vx_enum paramet...
Definition: vx_types.h:792
Returns the overall status of the graph. Use a vx_status parameter.
Definition: vx_types.h:832
Queries an image for its width. Use a vx_uint32 parameter.
Definition: vx_types.h:804
vx_float32 error
A tracking method specific error. Initialized to 0 by corner detectors.
Definition: vx_types.h:1396
A floating value for comparison between OpenVX structs and user structs.
Definition: vx_types.h:325
Indicates to the implementation that the user wants to disable any parallelization techniques...
Definition: vx_types.h:577
vx_int32 stride_x
Stride in X dimension in bytes.
Definition: vx_types.h:1312
Indicates that both an iterations and eplison method are employed. Whichever one matches first causes...
Definition: vx_types.h:1129
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:151
All images in VX are by default BT.709.
Definition: vx_types.h:1074
A vx_lut.
Definition: vx_types.h:343
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:616
A norm type.
Definition: vx_types.h:539
vx_int32 delta_end_y
The change in the end y.
Definition: vx_types.h:1421
vx_direction_e
An indication of how a kernel will treat the given parameter.
Definition: vx_types.h:558
A virtual image of no defined type.
Definition: vx_types.h:612
A vx_remap.
Definition: vx_types.h:352
vx_threshold_attribute_e
The threshold attributes.
Definition: vx_types.h:882
The parameter is both an input and output.
Definition: vx_types.h:564
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:1167
Indicates a termination after a set number of iterations.
Definition: vx_types.h:1123
vx_int32 delta_start_y
The change in the start y.
Definition: vx_types.h:1419
Use to extract the ALPHA channel, no matter the byte or packing order.
Definition: vx_types.h:1006
vx_uint64 min
Holds the minimum of the durations.
Definition: vx_types.h:1334
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:1163
vx_uint32 dim_y
Height of patch in Y dimension in pixels.
Definition: vx_types.h:1311
The memory import enumeration.
Definition: vx_types.h:537
vx_node_attribute_e
The node attributes list.
Definition: vx_types.h:762
Indicates that the supplied graph has invalid connections (cycles).
Definition: vx_types.h:376
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:621
Rounding Policy.
Definition: vx_types.h:541
The memory shall be treated by the system as if it were readable and writeable.
Definition: vx_types.h:1170
vx_hint_e
These enumerations are given to the vxHint API to enable/disable platform optimizations and/or featur...
Definition: vx_types.h:572
The M dimension of the matrix. Use a vx_size parameter.
Definition: vx_types.h:906
A floating value for comparison between vendor structs and OpenVX objects.
Definition: vx_types.h:333
Queries an image for its format. Use a vx_df_image parameter.
Definition: vx_types.h:806
Border Mode List.
Definition: vx_types.h:535
The default memory type to import from the Host.
Definition: vx_types.h:1023
A vx_uint64.
Definition: vx_types.h:304
A vx_context.
Definition: vx_types.h:337
Queries a parameter for its index value on the kernel with which it is associated. Use a vx_uint32 parameter.
Definition: vx_types.h:786
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:702
vx_enum enumeration
The kernel enumeration value from vx_kernel_e (or an extension thereof).
Definition: vx_types.h:1353
The scale of the convolution matrix. Use a vx_uint32 parameter.
Definition: vx_types.h:926
The total size of the convolution matrix in bytes. Use a vx_size parameter.
Definition: vx_types.h:928
#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:391
vx_delay_attribute_e
The delay attribute list.
Definition: vx_types.h:1146
Indicates the value type of the LUT. Use a vx_enum.
Definition: vx_types.h:844
Indicates that the supplied parameter is too big or too small in dimension.
Definition: vx_types.h:379
vx_uint32 step_x
Step of X dimension in pixels.
Definition: vx_types.h:1316
Use to extract the reference contained in the parameter. Use a vx_reference parameter.
Definition: vx_types.h:794
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:371
The value of the FALSE threshold. Use a vx_int32 parameter.
Definition: vx_types.h:894
The value of the TRUE threshold. Use a vx_int32 parameter.
Definition: vx_types.h:892
A floating value for user-defined struct base index.
Definition: vx_types.h:323
Indicates that the requested kernel is missing.
Definition: vx_types.h:392
Directive Values.
Definition: vx_types.h:526
Overflow Policies.
Definition: vx_types.h:528
The number of items in the Array. Use a vx_size parameter.
Definition: vx_types.h:968
Queries an image for its height. Use a vx_uint32 parameter.
Definition: vx_types.h:802
Queries a kernel for the number of parameters the kernel supports. Use a vx_uint32 parameter...
Definition: vx_types.h:738
When scaling, this truncates the least significant values that are lost in operations.
Definition: vx_types.h:1178
vx_image_attribute_e
The image attributes list.
Definition: vx_types.h:800
double vx_float64
A 64-bit float value (aka double).
Definition: vx_types.h:123
vx_accessor_e
The memory accessor hint flags. These enumeration values are used to indicate desired system behavior...
Definition: vx_types.h:1159
A vx_kernel.
Definition: vx_types.h:340
vx_status(* 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:1209
The source height. Use a vx_uint32 parameter.
Definition: vx_types.h:954
Output values are defined to match the source pixel whose center is nearest to the sample position...
Definition: vx_types.h:1051
struct _vx_pyramid * vx_pyramid
The Image Pyramid object. A set of scaled images.
Definition: vx_types.h:235
For memory allocated through OpenVX, this is the import type.
Definition: vx_types.h:1020
Indicates that an internal or implicit allocation failed. Typically catastrophic. After detection...
Definition: vx_types.h:386
The changes in dimensions of the rectangle between input and output images in an output parameter val...
Definition: vx_types.h:1417
Indicates that the supplied parameter information does not match the kernel contract.
Definition: vx_types.h:384
vx_norm_type_e
A normalization type.
Definition: vx_types.h:1136
vx_uint32 x
The X coordinate.
Definition: vx_types.h:1436
An accessor flag type.
Definition: vx_types.h:540
vx_array_attribute_e
The array object attributes.
Definition: vx_types.h:964
A vx_char.
Definition: vx_types.h:296
A floating value for comparison between user structs and vendor structs.
Definition: vx_types.h:330
struct _vx_kernel * vx_kernel
An opaque reference to the descriptor of a kernel.
Definition: vx_types.h:174
vx_uint32 start_y
The Start Y coordinate.
Definition: vx_types.h:1404
Use to indicate that the BT.709 coefficients are used for conversions.
Definition: vx_types.h:1071
vx_uint32 dim_x
Width of patch in X dimension in pixels.
Definition: vx_types.h:1310
vx_action_e
A return code enumeration from a vx_nodecomplete_f during execution.
Definition: vx_types.h:548
The type of reference contained in the delay. Use a vx_enum parameter.
Definition: vx_types.h:1148
vx_uint64 tmp
Holds the last measurement.
Definition: vx_types.h:1329
vx_int32 tracking_status
A zero indicates a lost point. Initialized to 1 by corner detectors.
Definition: vx_types.h:1395
A termination criteria.
Definition: vx_types.h:538
An invalid type value. When passed an error must be returned.
Definition: vx_types.h:295
A vx_array.
Definition: vx_types.h:350
An error object which has no type.
Definition: vx_types.h:353
A vx_rectangle_t.
Definition: vx_types.h:319
vx_action(* vx_nodecomplete_f)(vx_node node)
A callback to the client after a particular node has completed.
Definition: vx_types.h:416
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:633
Indicates the range of a bin. Use a vx_uint32 parameter.
Definition: vx_types.h:864
The rectangle data structure that is shared with the users.
Definition: vx_types.h:1402
vx_uint64 num
Holds the number of measurements.
Definition: vx_types.h:1335
A vx_int8.
Definition: vx_types.h:297
A vx_keypoint_t.
Definition: vx_types.h:320
vx_int32 stride_y
Stride in Y dimension in bytes.
Definition: vx_types.h:1313
#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:1332
vx_channel_e
The channel enumerations for channel extractions.
Definition: vx_types.h:989
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:645
vx_enum vx_action
The formal typedef of the response from the callback.
Definition: vx_types.h:407
vx_uint64 end
Holds the last measurement in a set.
Definition: vx_types.h:1331
Indicates the number of bins. Use a vx_size parameter.
Definition: vx_types.h:862
The width of the 0th image in pixels. Use a vx_uint32 parameter.
Definition: vx_types.h:940
A vx_bool.
Definition: vx_types.h:313
Indicates the total size of the LUT in bytes. Uses a vx_size.
Definition: vx_types.h:848
Used by formats with unknown channel types.
Definition: vx_types.h:997
Queries a parameter for its direction value on the kernel with which it is associated. Use a vx_enum parameter.
Definition: vx_types.h:788
Indicates that the graph is stopped due to an error or a callback that abandoned execution.
Definition: vx_types.h:372
The border mode for immediate mode functions.
Definition: vx_types.h:722
vx_uint32 end_x
The End X coordinate.
Definition: vx_types.h:1405
Indicates a generic error code, used when no other describes the error.
Definition: vx_types.h:393
The value of the higher threshold. Use a vx_int32 parameter.
Definition: vx_types.h:890
A floating value for vendor defined object base index.
Definition: vx_types.h:358
The Kernel Information Structure. This is returned by the Context to indicate which kernels are avail...
Definition: vx_types.h:1348
A vx_coordinates2d_t.
Definition: vx_types.h:321
The maximum width or height of a convolution matrix. Use a vx_size parameter. Each vendor must suppor...
Definition: vx_types.h:713
The N dimension of the matrix. Use a vx_size parameter.
Definition: vx_types.h:908
Queries an image for its channel range (see vx_channel_range_e). Use a vx_enum parameter.
Definition: vx_types.h:812
vx_meta_format_attribute_e
The meta format object attributes.
Definition: vx_types.h:978
A vx_size.
Definition: vx_types.h:308
The source width. Use a vx_uint32 parameter.
Definition: vx_types.h:952
For nodes that support this behavior, a constant value is filled-in when accessing out-of-bounds pixe...
Definition: vx_types.h:1110
The L1 normalization.
Definition: vx_types.h:1138
A floating value for comparison between OpenVX scalars and OpenVX structs.
Definition: vx_types.h:317
vx_df_image_e
Based on the VX_DF_IMAGE definition.
Definition: vx_types.h:610
vx_int32 delta_end_x
The change in the end x.
Definition: vx_types.h:1420
A vx_image.
Definition: vx_types.h:351
The parameter is an output only.
Definition: vx_types.h:562
vx_scalar_attribute_e
The scalar attributes list.
Definition: vx_types.h:820
Use to indicate that no color space is used.
Definition: vx_types.h:1065
The local data area allocated with each kernel when it becomes a node. Use a vx_size parameter...
Definition: vx_types.h:751
vx_interpolation_type_e
The image reconstruction filters supported by image resampling operations.
Definition: vx_types.h:1049
vx_kernel_attribute_e
The kernel attributes list.
Definition: vx_types.h:734
Queries the context for the number of active references. Use a vx_uint32 parameter.
Definition: vx_types.h:696
struct _vx_convolution * vx_convolution
The Convolution Object. A user-defined convolution kernel of MxM elements.
Definition: vx_types.h:248
Default. The parameter must be supplied. If not set, during Verify, an error is returned.
Definition: vx_types.h:1094
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:660
A vx_node.
Definition: vx_types.h:339
#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:1008
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:254
A vx_df_image.
Definition: vx_types.h:309
uint32_t vx_uint32
A 32-bit unsigned value.
Definition: vx_types.h:80
vx_int32 delta_start_x
The change in the start x.
Definition: vx_types.h:1418
Indicates the start of the values to use (inclusive). Use a vx_int32 parameter.
Definition: vx_types.h:858
A vx_convolution.
Definition: vx_types.h:348
Returns the overall performance of the graph. Use a vx_perf_t parameter.
Definition: vx_types.h:834
int8_t vx_int8
An 8-bit signed value.
Definition: vx_types.h:90
A vx_parameter.
Definition: vx_types.h:341
Queries the unique vendor ID. Use a vx_uint16.
Definition: vx_types.h:688
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:625
When scaling, this rounds to nearest even output value.
Definition: vx_types.h:1180
Queries an image for its total number of bytes. Use a vx_size parameter.
Definition: vx_types.h:814
vx_parameter_state_e
The parameter state type.
Definition: vx_types.h:1090
vx_parameter_attribute_e
The parameter attributes list.
Definition: vx_types.h:784
The value type of the matrix. Use a vx_enum parameter.
Definition: vx_types.h:904
A threshold with 2 values (upper/lower). Use with Canny Edge Detection.
Definition: vx_types.h:876
Indicates that the supplied parameter is in an invalid format.
Definition: vx_types.h:380
Indicates the size of the kernel local memory area. Use a vx_size parameter.
Definition: vx_types.h:774
Stop executing the graph.
Definition: vx_types.h:552
The performance measurement structure.
Definition: vx_types.h:1328
Results are saturated to the bit depth of the output operand.
Definition: vx_types.h:603
Indicates that the given graph has failed verification due to an insufficient number of required para...
Definition: vx_types.h:390
Use to extract the GREEN channel, no matter the byte or packing order.
Definition: vx_types.h:1002
vx_import_type_e
An enumeration of memory import types.
Definition: vx_types.h:1018
struct _vx_graph * vx_graph
An opaque reference to a graph.
Definition: vx_types.h:195
A vx_coordinates3d_t.
Definition: vx_types.h:322
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:641
The maximal number of items that the Array can hold. Use a vx_size parameter.
Definition: vx_types.h:970
vx_float32 orientation
Initialized to 0 by corner detectors.
Definition: vx_types.h:1394
Restricted range of the unit of the channel based on the space given.
Definition: vx_types.h:1084
vx_graph_attribute_e
The graph attributes list.
Definition: vx_types.h:828
Queries the enum of the kernel. Not settable. Use a vx_enum parameter.
Definition: vx_types.h:746
Indicates that the link is not possible as specified. The parameters are incompatible.
Definition: vx_types.h:381
Indicates that the supplied type parameter is incorrect.
Definition: vx_types.h:377
Use to extract the Cr/V/Value channel, no matter the byte or packing order.
Definition: vx_types.h:1012
vx_context_attribute_e
A list of context attributes.
Definition: vx_types.h:686
struct _vx_node * vx_node
An opaque reference to a kernel node.
Definition: vx_types.h:188
Indicates that the supplied parameter is from another scope and cannot be used in the current scope...
Definition: vx_types.h:374
A vx_int32.
Definition: vx_types.h:301
vx_round_policy_e
The Round Policy Enumeration.
Definition: vx_types.h:1176
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:1063
Disables recording information for graph debugging.
Definition: vx_types.h:589
Returns the vx_type_e of the reference. Use a vx_enum parameter.
Definition: vx_types.h:680
vx_status(* vx_publish_kernels_f)(vx_context context)
The entry point into modules loaded by vxLoadKernels.
Definition: vx_types.h:1189
A vx_scalar. when needed to be completely generic for kernel validation.
Definition: vx_types.h:349
Indicates a termination after matching against the value of eplison provided to the function...
Definition: vx_types.h:1125
Queries an array item size. Use a vx_size parameter.
Definition: vx_types.h:972
Continue executing the graph with no changes.
Definition: vx_types.h:550
vx_status(* vx_kernel_input_validate_f)(vx_node node, vx_uint32 index)
The user-defined kernel node input parameter validation function.
Definition: vx_types.h:1236
A vx_uint32.
Definition: vx_types.h:302
vx_matrix_attribute_e
The matrix attributes.
Definition: vx_types.h:902
uint64_t vx_uint64
A 64-bit unsigned value.
Definition: vx_types.h:85
Queries the status of node execution. Use a vx_status parameter.
Definition: vx_types.h:764
The maximum window dimension of the OpticalFlowPyrLK kernel.
Definition: vx_types.h:717
The value type of the threshold. Use a vx_enum parameter. Will contain a vx_threshold_type_e.
Definition: vx_types.h:884
vx_uint32 end_y
The End Y coordinate.
Definition: vx_types.h:1406
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:1383
The number of rows of the convolution matrix. Use a vx_size parameter.
Definition: vx_types.h:918
vx_border_mode_e
The border mode list.
Definition: vx_types.h:1104
struct _vx_matrix * vx_matrix
The Matrix Object. An MxN matrix of some unit type.
Definition: vx_types.h:229
Threshold Type List.
Definition: vx_types.h:534
struct _vx_scalar * vx_scalar
An opaque reference to a scalar.
Definition: vx_types.h:159
vx_status(* 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:1252
Returns the reference count of the object. Use a vx_uint32 parameter.
Definition: vx_types.h:678
vx_uint32 y
The Y coordinate.
Definition: vx_types.h:1429
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:655
Queries the type of atomic that is contained in the scalar. Use a vx_enum parameter.
Definition: vx_types.h:822
A vx_graph.
Definition: vx_types.h:338
Queries the number of bytes in the extensions string. Use a vx_size parameter.
Definition: vx_types.h:700
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:670
vx_termination_criteria_e
The termination criteria list.
Definition: vx_types.h:1121
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:1314
Output values are determined by averaging the source pixels whose areas fall under the area of the de...
Definition: vx_types.h:1057
vx_convolution_attribute_e
The convolution attributes.
Definition: vx_types.h:916
struct _vx_lut * vx_lut
The Look-Up Table (LUT) Object.
Definition: vx_types.h:216
Channel Name.
Definition: vx_types.h:532
A vx_uint16.
Definition: vx_types.h:300
The value of the single threshold. Use a vx_int32 parameter.
Definition: vx_types.h:886
The local data pointer allocated with each kernel when it becomes a node. Use a void pointer paramete...
Definition: vx_types.h:756
vx_uint32 z
The Z coordinate.
Definition: vx_types.h:1438
Use to extract the RED channel, no matter the byte or packing order.
Definition: vx_types.h:1000
A vx_enum. Equivalent in size to a vx_int32.
Definition: vx_types.h:307
vx_lut_attribute_e
The Look-Up Table (LUT) attribute list.
Definition: vx_types.h:842
A vx_uint8.
Definition: vx_types.h:298