The OpenVX Specification  r28647
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
vx_types.h
1 /*
2  * Copyright (c) 2012-2014 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 
33 #include <stdint.h>
34 #include <stddef.h>
35 #include <string.h>
36 #if defined(WIN32) || defined(UNDER_CE)
37 #include <windows.h>
38 #endif
39 
43 typedef char vx_char;
44 
48 typedef uint8_t vx_uint8;
49 
53 typedef uint16_t vx_uint16;
54 
58 typedef uint32_t vx_uint32;
59 
63 typedef uint64_t vx_uint64;
64 
68 typedef int8_t vx_int8;
69 
73 typedef int16_t vx_int16;
74 
78 typedef int32_t vx_int32;
79 
83 typedef int64_t vx_int64;
84 
85 #if defined(OVX_PLATFORM_SUPPORTS_16_FLOAT)
86 
90 typedef hfloat vx_float16;
91 #endif
92 
96 typedef float vx_float32;
97 
101 typedef double vx_float64;
102 
112 typedef struct _vx_reference *vx_reference;
113 
119 typedef int32_t vx_enum;
120 
124 typedef size_t vx_size;
125 
129 typedef uint32_t vx_df_image;
130 
137 typedef struct _vx_scalar *vx_scalar;
138 
144 typedef struct _vx_image *vx_image;
145 
152 typedef struct _vx_kernel *vx_kernel;
153 
159 typedef struct _vx_parameter *vx_parameter;
160 
166 typedef struct _vx_node *vx_node;
167 
173 typedef struct _vx_graph *vx_graph;
174 
180 typedef struct _vx_context *vx_context;
181 
188 typedef struct _vx_delay *vx_delay;
189 
194 typedef struct _vx_lut *vx_lut;
195 
201 typedef struct _vx_distribution *vx_distribution;
202 
207 typedef struct _vx_matrix *vx_matrix;
208 
213 typedef struct _vx_pyramid *vx_pyramid;
214 
220 typedef struct _vx_threshold *vx_threshold;
221 
226 typedef struct _vx_convolution *vx_convolution;
227 
232 typedef struct _vx_remap *vx_remap;
233 
237 typedef struct _vx_array *vx_array;
238 
250 typedef enum _vx_bool_e {
255 } vx_bool;
256 
263 typedef struct _vx_meta_format* vx_meta_format;
264 
268 enum vx_type_e {
270  VX_TYPE_CHAR = 0x001,
271  VX_TYPE_INT8 = 0x002,
272  VX_TYPE_UINT8 = 0x003,
273  VX_TYPE_INT16 = 0x004,
274  VX_TYPE_UINT16 = 0x005,
275  VX_TYPE_INT32 = 0x006,
276  VX_TYPE_UINT32 = 0x007,
277  VX_TYPE_INT64 = 0x008,
278  VX_TYPE_UINT64 = 0x009,
281  VX_TYPE_ENUM = 0x00C,
282  VX_TYPE_SIZE = 0x00D,
284 #if defined(OVX_PLATFORM_SUPPORTS_16_FLOAT)
285  VX_TYPE_FLOAT16 = 0x00F,
286 #endif
287  VX_TYPE_BOOL = 0x010,
289  /* add new scalar types here */
290 
300  VX_TYPE_USER_STRUCT_START = 0x100,
304  VX_TYPE_GRAPH = 0x802,
305  VX_TYPE_NODE = 0x803,
306  VX_TYPE_KERNEL = 0x804,
308  VX_TYPE_DELAY = 0x806,
309  VX_TYPE_LUT = 0x807,
313  VX_TYPE_MATRIX = 0x80B,
315  VX_TYPE_SCALAR = 0x80D,
316  VX_TYPE_ARRAY = 0x80E,
317  VX_TYPE_IMAGE = 0x80F,
318  VX_TYPE_REMAP = 0x810,
319  VX_TYPE_ERROR = 0x811,
322  /* \todo add new object types here */
323 
325 };
326 
333  /* add new codes here */
359 };
360 
366 
372 
381 
386 #define VX_VENDOR_MASK (0xFFF00000)
387 
393 #define VX_TYPE_MASK (0x000FFF00)
394 
399 #define VX_LIBRARY_MASK (0x000FF000)
400 
404 #define VX_KERNEL_MASK (0x00000FFF)
405 
409 #define VX_ATTRIBUTE_ID_MASK (0x000000FF)
410 
414 #define VX_ENUM_TYPE_MASK (0x000FF000)
415 
419 #define VX_ENUM_MASK (0x00000FFF)
420 
424 #define VX_VENDOR(e) (((vx_uint32)e & VX_VENDOR_MASK) >> 20)
425 
429 #define VX_TYPE(e) (((vx_uint32)e & VX_TYPE_MASK) >> 8)
430 
434 #define VX_ENUM_TYPE(e) (((vx_uint32)e & VX_ENUM_TYPE_MASK) >> 12)
435 
439 #define VX_LIBRARY(e) (((vx_uint32)e & VX_LIBRARY_MASK) >> 12)
440 
441 #if defined(_LITTLE_ENDIAN_) || (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__) || defined(_WIN32) || defined(WIN32)
442 #define VX_DF_IMAGE(a,b,c,d) ((a) | (b << 8) | (c << 16) | (d << 24))
443 #define VX_ATTRIBUTE_BASE(vendor, object) (((vendor) << 20) | (object << 8))
444 #define VX_KERNEL_BASE(vendor, lib) (((vendor) << 20) | (lib << 12))
445 #define VX_ENUM_BASE(vendor, id) (((vendor) << 20) | (id << 12))
446 #elif defined(_BIG_ENDIAN_) || (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)
447 #define VX_DF_IMAGE(a,b,c,d) ((d) | (c << 8) | (b << 16) | (a << 24))
448 #define VX_ATTRIBUTE_BASE(vendor, object) ((vendor) | (object << 12))
449 #define VX_KERNEL_BASE(vendor, lib) ((vendor) | (lib << 12))
450 #define VX_ENUM_BASE(vendor, id) ((vendor) | (id << 12))
451 #else
452 #error "Endian-ness must be defined!"
453 #endif
454 
486 enum vx_enum_e {
488  VX_ENUM_ACTION = 0x01,
489  VX_ENUM_HINT = 0x02,
506 };
507 
519 };
520 
531 };
532 
538 enum vx_hint_e {
544 };
545 
558 };
559 
570 };
571 
578  VX_DF_IMAGE_VIRT = VX_DF_IMAGE('V','I','R','T'),
582  VX_DF_IMAGE_RGB = VX_DF_IMAGE('R','G','B','2'),
587  VX_DF_IMAGE_RGBX = VX_DF_IMAGE('R','G','B','A'),
591  VX_DF_IMAGE_NV12 = VX_DF_IMAGE('N','V','1','2'),
595  VX_DF_IMAGE_NV21 = VX_DF_IMAGE('N','V','2','1'),
599  VX_DF_IMAGE_UYVY = VX_DF_IMAGE('U','Y','V','Y'),
603  VX_DF_IMAGE_YUYV = VX_DF_IMAGE('Y','U','Y','V'),
607  VX_DF_IMAGE_IYUV = VX_DF_IMAGE('I','Y','U','V'),
611  VX_DF_IMAGE_YUV4 = VX_DF_IMAGE('Y','U','V','4'),
616  VX_DF_IMAGE_U8 = VX_DF_IMAGE('U','0','0','8'),
621  VX_DF_IMAGE_U16 = VX_DF_IMAGE('U','0','1','6'),
626  VX_DF_IMAGE_S16 = VX_DF_IMAGE('S','0','1','6'),
631  VX_DF_IMAGE_U32 = VX_DF_IMAGE('U','0','3','2'),
636  VX_DF_IMAGE_S32 = VX_DF_IMAGE('S','0','3','2'),
637 };
638 
647 };
648 
695 };
696 
723 };
724 
745 };
746 
761 };
762 
781 };
782 
789 };
790 
803 };
804 
815 };
816 
833 };
834 
843 };
844 
861 };
862 
875 };
876 
893 };
894 
909 };
910 
923 };
924 
937 };
938 
945 };
946 
962 
977 };
978 
985 
988 };
989 
1022 };
1023 
1036 
1039 };
1040 
1049 };
1050 
1063 };
1064 
1079 };
1080 
1094 };
1095 
1105 };
1106 
1115 };
1116 
1135 };
1136 
1145 };
1146 
1154 
1162 typedef vx_status (*vx_kernel_f)(vx_node node, vx_reference *parameters, vx_uint32 num);
1163 
1174 
1185 
1201 
1217 
1218 #if defined(WIN32) || defined(UNDER_CE)
1219 
1222 #if defined(ARCH_32)
1223 #define VX_FMT_REF "%lu"
1224 
1227 #define VX_FMT_SIZE "%lu"
1228 #elif defined(ARCH_64)
1229 
1232 #define VX_FMT_REF "%I64u"
1233 
1236 #define VX_FMT_SIZE "%I64u"
1237 #endif
1238 #else
1239 
1242 #define VX_FMT_REF "%p"
1243 
1246 #define VX_FMT_SIZE "%zu"
1247 #endif
1248 
1251 #define VX_SCALE_UNITY (1024u)
1252 
1273 typedef struct _vx_imagepatch_addressing_t {
1283 
1287 #define VX_IMAGEPATCH_ADDR_INIT {0u, 0u, 0, 0, 0u, 0u, 0u, 0u}
1288 
1292 typedef struct _vx_perf_t {
1300 } vx_perf_t;
1301 
1305 #define VX_PERF_INIT {0ul, 0ul, 0ul, 0ul, 0ul, 0ul}
1306 
1311 typedef struct _vx_kernel_info_t {
1317 
1324 
1328 #define VX_SCALE_PYRAMID_HALF (0.5f)
1329 
1333 #define VX_SCALE_PYRAMID_ORB ((vx_float32)0.8408964f)
1334 
1339 typedef struct _vx_border_mode_t {
1348 
1352 typedef struct _vx_keypoint_t {
1360 } vx_keypoint_t;
1361 
1365 typedef struct _vx_rectangle_t {
1370 } vx_rectangle_t;
1371 
1380 typedef struct _vx_delta_rectangle_t {
1386 
1390 typedef struct _vx_coordinates2d_t {
1394 
1398 typedef struct _vx_coordinates3d_t {
1403 
1407 typedef void (*vx_log_callback_f)(vx_context context,
1408  vx_reference ref,
1409  vx_status status,
1410  vx_char string[]);
1411 
1412 #endif
Queries a parameter for its size in bytes or if it is a vx_image or vx_array its vx_type_e is returne...
Definition: vx_types.h:756
struct _vx_image * vx_image
An opaque reference to an image.
Definition: vx_types.h:144
Interpolation Types.
Definition: vx_types.h:491
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:188
vx_uint64 avg
Holds the average of the durations.
Definition: vx_types.h:1297
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:250
The type of the Array items. Use a vx_enum parameter.
Definition: vx_types.h:930
vx_threshold_type_e
The Threshold types.
Definition: vx_types.h:838
A vx_delay.
Definition: vx_types.h:308
Queries the OpenVX Version Number. Use a vx_uint16
Definition: vx_types.h:656
The "false" value.
Definition: vx_types.h:252
vx_int32 y
The y coordinate.
Definition: vx_types.h:1354
Action Codes.
Definition: vx_types.h:488
vx_int32 x
The x coordinate.
Definition: vx_types.h:1353
Results are the least significant bits of the output operand, as if stored in two's complement binary...
Definition: vx_types.h:567
The Khronos Group.
Definition: vx_vendors.h:38
Gets or sets the border mode of the node. Use a vx_border_mode_t structure.
Definition: vx_types.h:736
A vx_threshold.
Definition: vx_types.h:312
The parameter is an input only.
Definition: vx_types.h:526
Indicates that the attempt to link two parameters together failed due to type incompatibilty.
Definition: vx_types.h:352
A vx_reference.
Definition: vx_types.h:302
vx_pyramid_attribute_e
The pyramid object attributes.
Definition: vx_types.h:898
vx_enum mode
See vx_border_mode_e.
Definition: vx_types.h:1341
vx_status(* vx_kernel_f)(vx_node node, vx_reference *parameters, vx_uint32 num)
The pointer to the Host side kernel.
Definition: vx_types.h:1162
For nodes that support this behavior, a replication of the nearest edge pixels value is given for out...
Definition: vx_types.h:1078
Indicates that an operation did not complete due to a reference count being non-zero.
Definition: vx_types.h:334
The scale factor between each level of the pyramid. Use a vx_float32 parameter.
Definition: vx_types.h:902
Queries the performance of the node execution. Use a vx_perf_t parameter.
Definition: vx_types.h:732
Used by formats with unknown channel types.
Definition: vx_types.h:955
A vx_int16.
Definition: vx_types.h:273
The 2D Coordinates structure.
Definition: vx_types.h:1390
uint16_t vx_uint16
A 16-bit unsigned value.
Definition: vx_types.h:53
vx_uint64 beg
Holds the first measurement in a set.
Definition: vx_types.h:1294
vx_reference_attribute_e
The reference attributes list.
Definition: vx_types.h:642
Indicates the number of dimensions in the distribution. Use a vx_size parameter.
Definition: vx_types.h:822
Use to indicate that the BT.601 coefficients and BTU primaries are used for conversions.
Definition: vx_types.h:1033
Color Space.
Definition: vx_types.h:493
Indicates that the supplied parameter has an incorrect value.
Definition: vx_types.h:342
uint8_t vx_uint8
An 8-bit unsigned value.
Definition: vx_types.h:48
struct _vx_array * vx_array
The Array Object. Array is a strongly-typed container for other data structures.
Definition: vx_types.h:237
Parameter Direction.
Definition: vx_types.h:487
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:1279
vx_uint32 step_y
Step of Y dimension in pixels.
Definition: vx_types.h:1281
The height of the 0th image in pixels. Use a vx_uint32 parameter.
Definition: vx_types.h:906
Indicates the total size of the distribution in bytes. Use a vx_size parameter.
Definition: vx_types.h:832
Indicates that an internal or implicit resource can not be acquired (not memory). This is typically c...
Definition: vx_types.h:351
Indicates the lower bound of status codes in VX. Used for bounds checks only.
Definition: vx_types.h:332
int16_t vx_int16
A 16-bit signed value.
Definition: vx_types.h:73
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:708
size_t vx_size
A wrapper of size_t to keep the naming convention uniform.
Definition: vx_types.h:124
A vx_pyramid.
Definition: vx_types.h:311
Indicates that the supplied node could not be created.
Definition: vx_types.h:339
The number of levels of the pyramid. Use a vx_size parameter.
Definition: vx_types.h:900
Queries the context for the number of unique kernels. Use a vx_uint32 parameter.
Definition: vx_types.h:658
Indicates that the reference provided is not valid.
Definition: vx_types.h:346
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:595
Indicates that the supplied graph already has been scheduled and may be currently executing...
Definition: vx_types.h:337
vx_enum_e
The set of supported enumerations in OpenVX.
Definition: vx_types.h:486
A threshold with only 1 value.
Definition: vx_types.h:840
Color Space Range.
Definition: vx_types.h:494
The destination height. Use a vx_uint32 parameter.
Definition: vx_types.h:922
The keypoint data structure.
Definition: vx_types.h:1352
Comparison Values.
Definition: vx_types.h:500
int32_t vx_enum
Sets the standard enumeration type size to be a fixed quantity.
Definition: vx_types.h:119
Used by formats with unknown channel types.
Definition: vx_types.h:959
vx_uint32 x
The X coordinate.
Definition: vx_types.h:1391
Use with the enumeration VX_NODE_ATTRIBUTE_BORDER_MODE to set the border mode behavior of a node that...
Definition: vx_types.h:1339
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:220
A vx_int64.
Definition: vx_types.h:277
Enables recording information for graph debugging.
Definition: vx_types.h:557
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:201
vx_distribution_attribute_e
The distribution attribute list.
Definition: vx_types.h:820
Full range of the unit of the channel.
Definition: vx_types.h:1046
A value used for bound checking the object types.
Definition: vx_types.h:324
void(* vx_log_callback_f)(vx_context context, vx_reference ref, vx_status status, vx_char string[])
The log callback function.
Definition: vx_types.h:1407
No error.
Definition: vx_types.h:358
Parameter State.
Definition: vx_types.h:495
struct _vx_parameter * vx_parameter
An opaque reference to a single parameter.
Definition: vx_types.h:159
int32_t vx_int32
A 32-bit signed value.
Definition: vx_types.h:78
vx_remap_attribute_e
The remap object attributes.
Definition: vx_types.h:914
A vx_meta_format.
Definition: vx_types.h:320
Stop executing the graph at the current point and restart from the beginning.
Definition: vx_types.h:516
The addressing image patch structure is used by the Host only to address pixels in an image patch...
Definition: vx_types.h:1273
Returns the number of nodes in a graph. Use a vx_uint32 parameter.
Definition: vx_types.h:796
vx_status_e
The enumeration of all status codes.
Definition: vx_types.h:331
The number of columns of the convolution matrix. Use a vx_size parameter.
Definition: vx_types.h:884
The "true" value.
Definition: vx_types.h:254
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:1044
int64_t vx_int64
A 64-bit signed value.
Definition: vx_types.h:83
The 3D Coordinates structure.
Definition: vx_types.h:1398
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:631
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:1216
Output values are defined by bilinear interpolation between the pixels whose centers are closest to t...
Definition: vx_types.h:1018
char vx_char
An 8 bit ASCII character.
Definition: vx_types.h:43
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:616
Used by formats with unknown channel types.
Definition: vx_types.h:957
Returns the table of all unique the kernels that exist in the context. Use a vx_kernel_info_t array...
Definition: vx_types.h:694
float vx_float32
A 32-bit float value.
Definition: vx_types.h:96
This is returned from vxLoadKernels when the module does not contain the entry point.
Definition: vx_types.h:347
The value of the lower threshold. Use a vx_int32 parameter.
Definition: vx_types.h:854
Indicates that the object refered to has been optimized out of existence.
Definition: vx_types.h:349
Indicates end value to use as the range (exclusive). Use a vx_size parameter.
Definition: vx_types.h:826
Queries the context for the number of active modules. Use a vx_uint32 parameter.
Definition: vx_types.h:660
vx_float32 strength
The strength of the keypoint. Its definition is specific to the corner detector.
Definition: vx_types.h:1355
Use to extract the Cb/U channel, no matter the byte or packing order.
Definition: vx_types.h:974
vx_type_e
The type enumeration lists all the known types in OpenVX.
Definition: vx_types.h:268
The L2 normalization.
Definition: vx_types.h:1104
Queries an image for its number of planes. Use a vx_size parameter.
Definition: vx_types.h:774
A vx_float64.
Definition: vx_types.h:280
Hint Values.
Definition: vx_types.h:489
Configures a delta rectangle during kernel output parameter validation. Use a vx_delta_rectangle_t.
Definition: vx_types.h:944
Queries the context for it's implementation name. Use a vx_char[VX_MAX_IMPLEMENTATION_NAME] array...
Definition: vx_types.h:664
A vx_float32.
Definition: vx_types.h:279
vx_enum vx_status
A formal status type with known fixed size.
Definition: vx_types.h:365
Use to extract the BLUE channel, no matter the byte or packing order.
Definition: vx_types.h:968
Use to indicate that the BT.601 coefficients and SMPTE C primaries are used for conversions.
Definition: vx_types.h:1031
#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:180
struct _vx_meta_format * vx_meta_format
This structure is used to extract meta data from a validation function. If the data object between no...
Definition: vx_types.h:263
A vx_matrix.
Definition: vx_types.h:313
The destination width. Use a vx_uint32 parameter.
Definition: vx_types.h:920
Queries an image for its color space (see vx_color_space_e). Use a vx_enum parameter.
Definition: vx_types.h:776
Returns the number of explicitly declared parameters on the graph. Use a vx_uint32 parameter...
Definition: vx_types.h:802
No defined border mode behavior is given.
Definition: vx_types.h:1070
The parameter may be unspecified. The kernel takes care not to deference optional parameters until it...
Definition: vx_types.h:1062
Convert Policy.
Definition: vx_types.h:497
Indicates the number of elements in the LUT. Use a vx_size.
Definition: vx_types.h:812
vx_convert_policy_e
The Conversion Policy Enumeration.
Definition: vx_types.h:563
vx_uint32 start_x
The Start X coordinate.
Definition: vx_types.h:1366
struct _vx_reference * vx_reference
A generic opaque reference to any object within OpenVX.
Definition: vx_types.h:112
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:603
The vx_df_image_e format of the image. Use a vx_df_image parameter.
Definition: vx_types.h:908
vx_uint32 y
The Y coordinate.
Definition: vx_types.h:1400
Indicates the pointer kernel local memory area. Use a void * parameter.
Definition: vx_types.h:744
vx_float32 scale
Initialized to 0 by corner detectors.
Definition: vx_types.h:1356
A vx_distribution.
Definition: vx_types.h:310
vx_directive_e
These enumerations are given to the vxDirective API to enable/disable platform optimizations and/or f...
Definition: vx_types.h:553
Indicates to the system that the parameter must be allocated by the system.
Definition: vx_types.h:353
The total size of the matrix in bytes. Use a vx_size parameter.
Definition: vx_types.h:874
Queries a parameter for its state. A value in vx_parameter_state_e is returned. Use a vx_enum paramet...
Definition: vx_types.h:758
Returns the overall status of the graph. Use a vx_status parameter.
Definition: vx_types.h:798
Queries an image for its width. Use a vx_uint32 parameter.
Definition: vx_types.h:770
vx_float32 error
A tracking method specific error. Initialized to 0 by corner detectors.
Definition: vx_types.h:1359
A floating value for comparison between structs and objects.
Definition: vx_types.h:298
Indicates to the implementation that the user wants to disable any parallelization techniques...
Definition: vx_types.h:543
vx_int32 stride_x
Stride in X dimension in bytes.
Definition: vx_types.h:1276
Indicates that both an iterations and eplison method are employed. Whichever one matches first causes...
Definition: vx_types.h:1093
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:129
All images in VX are by default BT.709.
Definition: vx_types.h:1038
A vx_lut.
Definition: vx_types.h:309
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:582
A norm type.
Definition: vx_types.h:503
vx_int32 delta_end_y
The change in the end y.
Definition: vx_types.h:1384
vx_direction_e
An indication of how a kernel will treat the given parameter.
Definition: vx_types.h:524
A virtual image of no defined type.
Definition: vx_types.h:578
A vx_remap.
Definition: vx_types.h:318
vx_threshold_attribute_e
The threshold attributes.
Definition: vx_types.h:848
The parameter is both an input and output.
Definition: vx_types.h:530
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:1131
Indicates a termination after a set number of iterations.
Definition: vx_types.h:1087
vx_int32 delta_start_y
The change in the start y.
Definition: vx_types.h:1382
Use to extract the ALPHA channel, no matter the byte or packing order.
Definition: vx_types.h:970
vx_uint64 min
Holds the minimum of the durations.
Definition: vx_types.h:1298
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:1127
vx_uint32 dim_y
Height of patch in Y dimension in pixels.
Definition: vx_types.h:1275
The memory import enumeration.
Definition: vx_types.h:501
vx_node_attribute_e
The node attributes list.
Definition: vx_types.h:728
Indicates that the supplied graph has invalid connections (cycles).
Definition: vx_types.h:340
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:587
Rounding Policy.
Definition: vx_types.h:505
The memory shall be treated by the system as if it were readable and writeable.
Definition: vx_types.h:1134
vx_hint_e
These enumerations are given to the vxHint API to enable/disable platform optimizations and/or featur...
Definition: vx_types.h:538
The M dimension of the matrix. Use a vx_size parameter.
Definition: vx_types.h:870
Queries an image for its format. Use a vx_df_image parameter.
Definition: vx_types.h:772
Border Mode List.
Definition: vx_types.h:499
The default memory type to import from the Host.
Definition: vx_types.h:987
A vx_uint64.
Definition: vx_types.h:278
A vx_context.
Definition: vx_types.h:303
Queries a parameter for its index value on the kernel with which it is associated. Use a vx_uint32 parameter.
Definition: vx_types.h:752
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:668
vx_enum enumeration
The kernel enumeration value from vx_kernel_e (or an extension thereof).
Definition: vx_types.h:1316
The scale of the convolution matrix. Use a vx_uint32 parameter.
Definition: vx_types.h:890
The total size of the convolution matrix in bytes. Use a vx_size parameter.
Definition: vx_types.h:892
#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:355
vx_delay_attribute_e
The delay attribute list.
Definition: vx_types.h:1110
Indicates the value type of the LUT. Use a vx_enum.
Definition: vx_types.h:810
Indicates that the supplied parameter is too big or too small in dimension.
Definition: vx_types.h:343
vx_uint32 step_x
Step of X dimension in pixels.
Definition: vx_types.h:1280
Use to extract the reference contained in the parameter. Use a vx_reference parameter.
Definition: vx_types.h:760
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:335
The value of the FALSE threshold. Use a vx_int32 parameter.
Definition: vx_types.h:860
The value of the TRUE threshold. Use a vx_int32 parameter.
Definition: vx_types.h:858
Indicates that the requested kernel is missing.
Definition: vx_types.h:356
Directive Values.
Definition: vx_types.h:490
vx_status(* vx_kernel_initialize_f)(vx_node node, 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:1173
Overflow Policies.
Definition: vx_types.h:492
The number of items in the Array. Use a vx_size parameter.
Definition: vx_types.h:932
Queries an image for its height. Use a vx_uint32 parameter.
Definition: vx_types.h:768
Queries a kernel for the number of parameters the kernel supports. Use a vx_uint32 parameter...
Definition: vx_types.h:704
When scaling, this truncates the least significant values that are lost in operations.
Definition: vx_types.h:1142
vx_image_attribute_e
The image attributes list.
Definition: vx_types.h:766
double vx_float64
A 64-bit float value (aka double).
Definition: vx_types.h:101
vx_accessor_e
The memory accessor hint flags. These enumeration values are used to indicate desired system behavior...
Definition: vx_types.h:1123
A vx_kernel.
Definition: vx_types.h:306
The source height. Use a vx_uint32 parameter.
Definition: vx_types.h:918
Output values are defined to match the source pixel whose center is nearest to the sample position...
Definition: vx_types.h:1015
struct _vx_pyramid * vx_pyramid
The Image Pyramid object. A set of scaled images.
Definition: vx_types.h:213
For memory allocated through OpenVX, this is the import type.
Definition: vx_types.h:984
Indicates that an internal or implicit allocation failed. Typically catastrophic. After detection...
Definition: vx_types.h:350
The changes in dimensions of the rectangle between input and output images in an output parameter val...
Definition: vx_types.h:1380
Indicates that the supplied parameter information does not match the kernel contract.
Definition: vx_types.h:348
vx_norm_type_e
A normalization type.
Definition: vx_types.h:1100
vx_uint32 x
The X coordinate.
Definition: vx_types.h:1399
An accessor flag type.
Definition: vx_types.h:504
vx_array_attribute_e
The array object attributes.
Definition: vx_types.h:928
A vx_char.
Definition: vx_types.h:270
struct _vx_kernel * vx_kernel
An opaque reference to the descriptor of a kernel.
Definition: vx_types.h:152
vx_uint32 start_y
The Start Y coordinate.
Definition: vx_types.h:1367
Use to indicate that the BT.709 coefficients are used for conversions.
Definition: vx_types.h:1035
vx_uint32 dim_x
Width of patch in X dimension in pixels.
Definition: vx_types.h:1274
vx_action_e
A return code enumeration from a vx_nodecomplete_f during execution.
Definition: vx_types.h:512
The type of reference contained in the delay. Use a vx_enum parameter.
Definition: vx_types.h:1112
vx_uint64 tmp
Holds the last measurement.
Definition: vx_types.h:1293
vx_int32 tracking_status
A zero indicates a lost point. Initialized to 1 by corner detectors.
Definition: vx_types.h:1358
A termination criteria.
Definition: vx_types.h:502
An invalid type value. When passed an error must be returned.
Definition: vx_types.h:269
A vx_array.
Definition: vx_types.h:316
An error object which has no type.
Definition: vx_types.h:319
A vx_rectangle_t.
Definition: vx_types.h:293
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:599
Indicates the range of a bin. Use a vx_uint32 parameter.
Definition: vx_types.h:830
The rectangle data structure that is shared with the users.
Definition: vx_types.h:1365
vx_uint64 num
Holds the number of measurements.
Definition: vx_types.h:1299
A vx_int8.
Definition: vx_types.h:271
A vx_keypoint_t.
Definition: vx_types.h:294
vx_int32 stride_y
Stride in Y dimension in bytes.
Definition: vx_types.h:1277
#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:1296
vx_channel_e
The channel enumerations for channel extractions.
Definition: vx_types.h:953
vx_status(* vx_kernel_deinitialize_f)(vx_node node, 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:1184
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:611
vx_enum vx_action
The formal typedef of the response from the callback.
Definition: vx_types.h:371
vx_uint64 end
Holds the last measurement in a set.
Definition: vx_types.h:1295
Indicates the number of bins. Use a vx_size parameter.
Definition: vx_types.h:828
The width of the 0th image in pixels. Use a vx_uint32 parameter.
Definition: vx_types.h:904
A vx_bool.
Definition: vx_types.h:287
Indicates the total size of the LUT in bytes. Uses a vx_size.
Definition: vx_types.h:814
Used by formats with unknown channel types.
Definition: vx_types.h:961
Queries a parameter for its direction value on the kernel with which it is associated. Use a vx_enum parameter.
Definition: vx_types.h:754
Indicates that the graph is stopped due to an error or a callback that abandoned execution.
Definition: vx_types.h:336
The border mode for immediate mode functions.
Definition: vx_types.h:688
vx_uint32 end_x
The End X coordinate.
Definition: vx_types.h:1368
Indicates a generic error code, used when no other describes the error.
Definition: vx_types.h:357
The value of the higher threshold. Use a vx_int32 parameter.
Definition: vx_types.h:856
The Kernel Information Structure. This is returned by the Context to indicate which kernels are avail...
Definition: vx_types.h:1311
A vx_coordinates2d_t.
Definition: vx_types.h:295
The maximum width or height of a convolution matrix. Use a vx_size parameter. Each vendor must suppor...
Definition: vx_types.h:679
The N dimension of the matrix. Use a vx_size parameter.
Definition: vx_types.h:872
Queries an image for its channel range (see vx_channel_range_e). Use a vx_enum parameter.
Definition: vx_types.h:778
vx_meta_format_attribute_e
The meta format object attributes.
Definition: vx_types.h:942
A vx_size.
Definition: vx_types.h:282
The source width. Use a vx_uint32 parameter.
Definition: vx_types.h:916
For nodes that support this behavior, a constant value is filled-in when accessing out-of-bounds pixe...
Definition: vx_types.h:1074
The L1 normalization.
Definition: vx_types.h:1102
A floating value for comparison between scalars and structs.
Definition: vx_types.h:291
vx_df_image_e
Based on the VX_DF_IMAGE definition.
Definition: vx_types.h:576
vx_int32 delta_end_x
The change in the end x.
Definition: vx_types.h:1383
A vx_image.
Definition: vx_types.h:317
The parameter is an output only.
Definition: vx_types.h:528
vx_scalar_attribute_e
The scalar attributes list.
Definition: vx_types.h:786
Use to indicate that no color space is used.
Definition: vx_types.h:1029
The local data area allocated with each kernel when it becomes a node. Use a vx_size parameter...
Definition: vx_types.h:717
vx_interpolation_type_e
The image reconstruction filters supported by image resampling operations.
Definition: vx_types.h:1013
vx_kernel_attribute_e
The kernel attributes list.
Definition: vx_types.h:700
Queries the context for the number of active references. Use a vx_uint32 parameter.
Definition: vx_types.h:662
struct _vx_convolution * vx_convolution
The Convolution Object. A user-defined convolution kernel of MxM elements.
Definition: vx_types.h:226
Default. The parameter must be supplied. If not set, during Verify, an error is returned.
Definition: vx_types.h:1058
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:626
A vx_node.
Definition: vx_types.h:305
#define VX_MAX_KERNEL_NAME
Defines the maximum string length of a kernel name to be added to OpenVX.
Definition: vx.h:41
Use to extract the LUMA channel, no matter the byte or packing order.
Definition: vx_types.h:972
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:232
A vx_df_image.
Definition: vx_types.h:283
uint32_t vx_uint32
A 32-bit unsigned value.
Definition: vx_types.h:58
vx_int32 delta_start_x
The change in the start x.
Definition: vx_types.h:1381
Indicates the start of the values to use (inclusive). Use a vx_size parameter.
Definition: vx_types.h:824
The number of items in the delay. Use a vx_uint32 parameter.
Definition: vx_types.h:1114
A vx_convolution.
Definition: vx_types.h:314
Returns the overall performance of the graph. Use a vx_perf_t parameter.
Definition: vx_types.h:800
int8_t vx_int8
An 8-bit signed value.
Definition: vx_types.h:68
A vx_parameter.
Definition: vx_types.h:307
Queries the unique vendor ID. Use a vx_uint16.
Definition: vx_types.h:654
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:591
When scaling, this rounds to nearest even output value.
Definition: vx_types.h:1144
Queries an image for its total number of bytes. Use a vx_size parameter.
Definition: vx_types.h:780
vx_parameter_state_e
The parameter state type.
Definition: vx_types.h:1054
vx_parameter_attribute_e
The parameter attributes list.
Definition: vx_types.h:750
The value type of the matrix. Use a vx_enum parameter.
Definition: vx_types.h:868
A threshold with 2 values (upper/lower). Use with Canny Edge Detection.
Definition: vx_types.h:842
vx_action(* vx_nodecomplete_f)(vx_node node)
A callback to the client after a particular node has completed.
Definition: vx_types.h:380
Indicates that the supplied parameter is in an invalid format.
Definition: vx_types.h:344
Indicates the size of the kernel local memory area. Use a vx_size parameter.
Definition: vx_types.h:740
Stop executing the graph.
Definition: vx_types.h:518
The performance measurement structure.
Definition: vx_types.h:1292
Results are saturated to the bit depth of the output operand.
Definition: vx_types.h:569
Indicates that the given graph has failed verification due to an insufficient number of required para...
Definition: vx_types.h:354
Use to extract the GREEN channel, no matter the byte or packing order.
Definition: vx_types.h:966
vx_import_type_e
An enumeration of memory import types.
Definition: vx_types.h:982
struct _vx_graph * vx_graph
An opaque reference to a graph.
Definition: vx_types.h:173
A vx_coordinates3d_t.
Definition: vx_types.h:296
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:607
The maximal number of items that the Array can hold. Use a vx_size parameter.
Definition: vx_types.h:934
vx_float32 orientation
Initialized to 0 by corner detectors.
Definition: vx_types.h:1357
Restricted range of the unit of the channel based on the space given.
Definition: vx_types.h:1048
vx_graph_attribute_e
The graph attributes list.
Definition: vx_types.h:794
Queries the enum of the kernel. Not settable. Use a vx_enum parameter.
Definition: vx_types.h:712
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:1200
Indicates that the link is not possible as specified. The parameters are incompatible.
Definition: vx_types.h:345
Indicates that the supplied type parameter is incorrect.
Definition: vx_types.h:341
Use to extract the Cr/V/Value channel, no matter the byte or packing order.
Definition: vx_types.h:976
vx_context_attribute_e
A list of context attributes.
Definition: vx_types.h:652
struct _vx_node * vx_node
An opaque reference to a kernel node.
Definition: vx_types.h:166
Indicates that the supplied parameter is from another scope and cannot be used in the current scope...
Definition: vx_types.h:338
A vx_int32.
Definition: vx_types.h:275
vx_round_policy_e
The Round Policy Enumeration.
Definition: vx_types.h:1140
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:1027
vx_status(* vx_publish_kernels_f)(vx_context context)
The entry point into modules loaded by vxLoadKernels.
Definition: vx_types.h:1153
Disables recording information for graph debugging.
Definition: vx_types.h:555
Returns the vx_type_e of the reference. Use a vx_enum parameter.
Definition: vx_types.h:646
A vx_scalar. when needed to be completely generic for kernel validation.
Definition: vx_types.h:315
Indicates a termination after matching against the value of eplison provided to the function...
Definition: vx_types.h:1089
Queries an array item size. Use a vx_size parameter.
Definition: vx_types.h:936
Continue executing the graph with no changes.
Definition: vx_types.h:514
A vx_uint32.
Definition: vx_types.h:276
vx_matrix_attribute_e
The matrix attributes.
Definition: vx_types.h:866
uint64_t vx_uint64
A 64-bit unsigned value.
Definition: vx_types.h:63
Queries the status of node execution. Use a vx_status parameter.
Definition: vx_types.h:730
The maximum window dimension of the OpticalFlowPyrLK kernel.
Definition: vx_types.h:683
The value type of the threshold. Use a vx_enum parameter. Will contain a vx_threshold_type_e.
Definition: vx_types.h:850
vx_uint32 end_y
The End Y coordinate.
Definition: vx_types.h:1369
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:1346
The number of rows of the convolution matrix. Use a vx_size parameter.
Definition: vx_types.h:882
vx_border_mode_e
The border mode list.
Definition: vx_types.h:1068
struct _vx_matrix * vx_matrix
The Matrix Object. An MxN matrix of some unit type.
Definition: vx_types.h:207
Threshold Type List.
Definition: vx_types.h:498
struct _vx_scalar * vx_scalar
An opaque reference to a scalar.
Definition: vx_types.h:137
Returns the reference count of the object. Use a vx_uint32 parameter.
Definition: vx_types.h:644
vx_uint32 y
The Y coordinate.
Definition: vx_types.h:1392
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:621
Queries the type of atomic that is contained in the scalar. Use a vx_enum parameter.
Definition: vx_types.h:788
A vx_graph.
Definition: vx_types.h:304
Queries the number of bytes in the extensions string. Use a vx_size parameter.
Definition: vx_types.h:666
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:636
vx_termination_criteria_e
The termination criteria list.
Definition: vx_types.h:1085
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:1278
Output values are determined by averaging the source pixels whose areas fall under the area of the de...
Definition: vx_types.h:1021
vx_convolution_attribute_e
The convolution attributes.
Definition: vx_types.h:880
struct _vx_lut * vx_lut
The Look-Up Table (LUT) Object.
Definition: vx_types.h:194
Channel Name.
Definition: vx_types.h:496
A vx_uint16.
Definition: vx_types.h:274
The value of the single threshold. Use a vx_int32 parameter.
Definition: vx_types.h:852
The local data pointer allocated with each kernel when it becomes a node. Use a void pointer paramete...
Definition: vx_types.h:722
vx_uint32 z
The Z coordinate.
Definition: vx_types.h:1401
Use to extract the RED channel, no matter the byte or packing order.
Definition: vx_types.h:964
A vx_enum. Equivalent in size to a vx_int32.
Definition: vx_types.h:281
vx_lut_attribute_e
The Look-Up Table (LUT) attribute list.
Definition: vx_types.h:808
A vx_uint8.
Definition: vx_types.h:272