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

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

MIVisionX: /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-mivisionx/checkouts/latest/amd_openvx/openvx/include/VX/vx_types.h File Reference
vx_types.h File Reference

The type definitions required by OpenVX Library. More...

#include <stdint.h>
#include <stddef.h>

Go to the source code of this file.

Data Structures

struct  _vx_imagepatch_addressing_t
 The addressing image patch structure is used by the Host only to address pixels in an image patch. The fields of the structure are defined as: More...
 
struct  _vx_perf_t
 The performance measurement structure. The time or durations are in units of nano seconds. More...
 
struct  _vx_hough_lines_p_t
 Hough lines probability parameters. More...
 
struct  _vx_line2d_t
 line struct More...
 
struct  _vx_tensor_matrix_multiply_params_t
 Matrix Multiply Parameters. More...
 
struct  _vx_kernel_info_t
 The Kernel Information Structure. This is returned by the Context to indicate which kernels are available in the OpenVX implementation. More...
 
struct  _vx_keypoint_t
 The keypoint data structure. More...
 
struct  _vx_rectangle_t
 The rectangle data structure that is shared with the users. The area of the rectangle can be computed as (end_x-start_x)*(end_y-start_y). More...
 
struct  _vx_coordinates2d_t
 The 2D Coordinates structure. More...
 
struct  _vx_coordinates2df_t
 The floating-point 2D Coordinates structure. More...
 
struct  _vx_coordinates3d_t
 The 3D Coordinates structure. More...
 
union  _vx_pixel_value_t
 Union that describes the value of a pixel for any image format. Use the field corresponding to the image format. More...
 
struct  vx_hog_t
 The HOG descriptor structure. More...
 
struct  _vx_border_t
 Use with the enumeration VX_NODE_BORDER to set the border mode behavior of a node that supports borders. More...
 

Macros

#define VX_API_ENTRY
 
#define VX_API_CALL
 Defines calling convention for OpenVX API.
 
#define VX_CALLBACK
 Defines calling convention for user callbacks.
 
#define VX_VENDOR_MASK   (0xFFF00000U)
 Vendor IDs are 2 nibbles in size and are located in the upper byte of the 4 bytes of an enumeration.
 
#define VX_TYPE_MASK   (0x000FFF00U)
 A type mask removes the scalar/object type from the attribute. It is 3 nibbles in size and is contained between the third and second byte. More...
 
#define VX_LIBRARY_MASK   (0x000FF000U)
 A library is a set of vision kernels with its own ID supplied by a vendor. The vendor defines the library ID. The range is \( [0,2^{8}-1] \) inclusive.
 
#define VX_KERNEL_MASK   (0x00000FFFU)
 An individual kernel in a library has its own unique ID within \( [0,2^{12}-1] \) (inclusive).
 
#define VX_ATTRIBUTE_ID_MASK   (0x000000FFU)
 An object's attribute ID is within the range of \( [0,2^{8}-1] \) (inclusive).
 
#define VX_ENUM_TYPE_MASK   (0x000FF000U)
 A type of enumeration. The valid range is between \( [0,2^{8}-1] \) (inclusive).
 
#define VX_ENUM_MASK   (0x00000FFFU)
 A generic enumeration list can have values between \( [0,2^{12}-1] \) (inclusive).
 
#define VX_VENDOR(e)   (((vx_uint32)(e) & VX_VENDOR_MASK) >> 20)
 A macro to extract the vendor ID from the enumerated value.
 
#define VX_TYPE(e)   (((vx_uint32)(e) & VX_TYPE_MASK) >> 8)
 A macro to extract the type from an enumerated attribute value.
 
#define VX_ENUM_TYPE(e)   (((vx_uint32)(e) & VX_ENUM_TYPE_MASK) >> 12)
 A macro to extract the enum type from an enumerated value.
 
#define VX_LIBRARY(e)   (((vx_uint32)(e) & VX_LIBRARY_MASK) >> 12)
 A macro to extract the kernel library enumeration from a enumerated kernel value.
 
#define VX_DF_IMAGE(a, b, c, d)   ((vx_uint32)(vx_uint8)(a) | ((vx_uint32)(vx_uint8)(b) << 8U) | ((vx_uint32)(vx_uint8)(c) << 16U) | ((vx_uint32)(vx_uint8)(d) << 24U))
 Converts a set of four chars into a uint32_t container of a VX_DF_IMAGE code. More...
 
#define VX_ATTRIBUTE_BASE(vendor, object)   ((vx_int32)(((vx_uint32)(vendor) << 20) | ((vx_uint32)(object) << 8)))
 Defines the manner in which to combine the Vendor and Object IDs to get the base value of the enumeration.
 
#define VX_KERNEL_BASE(vendor, lib)   ((vx_int32)(((vx_uint32)(vendor) << 20) | ((vx_uint32)(lib) << 12)))
 Defines the manner in which to combine the Vendor and Library IDs to get the base value of the enumeration.
 
#define VX_ENUM_BASE(vendor, id)   ((vx_int32)(((vx_uint32)(vendor) << 20) | ((vx_uint32)(id) << 12)))
 Defines the manner in which to combine the Vendor and Object IDs to get the base value of the enumeration. More...
 
#define VX_FMT_REF   "%p"
 Use to aid in debugging values in OpenVX.
 
#define VX_FMT_SIZE   "%zu"
 Use to aid in debugging values in OpenVX.
 
#define VX_SCALE_UNITY   (1024u)
 Use to indicate the 1:1 ratio in Q22.10 format.
 
#define VX_IMAGEPATCH_ADDR_INIT   {0u, 0u, 0, 0, 0u, 0u, 0u, 0u, 0u}
 Use to initialize a vx_imagepatch_addressing_t structure on the stack.
 
#define VX_PERF_INIT   {0ul, 0ul, 0ul, 0ul, 0ul, 0ul}
 Initializes a vx_perf_t on the stack.
 
#define VX_SCALE_PYRAMID_HALF   (0.5f)
 Use to indicate a half-scale pyramid.
 
#define VX_SCALE_PYRAMID_ORB   ((vx_float32)0.8408964f)
 Use to indicate a ORB scaled pyramid whose scaling factor is \( \frac{1}{\root 4 \of {2}} \).
 

Typedefs

typedef char vx_char
 An 8 bit ASCII character.
 
typedef uint8_t vx_uint8
 An 8-bit unsigned value.
 
typedef uint16_t vx_uint16
 A 16-bit unsigned value.
 
typedef uint32_t vx_uint32
 A 32-bit unsigned value.
 
typedef uint64_t vx_uint64
 A 64-bit unsigned value.
 
typedef int8_t vx_int8
 An 8-bit signed value.
 
typedef int16_t vx_int16
 A 16-bit signed value.
 
typedef int32_t vx_int32
 A 32-bit signed value.
 
typedef int64_t vx_int64
 A 64-bit signed value.
 
typedef uint32_t vx_bitfield
 
typedef float vx_float32
 A 32-bit float value.
 
typedef double vx_float64
 A 64-bit float value (aka double).
 
typedef struct _vx_reference * vx_reference
 A generic opaque reference to any object within OpenVX. More...
 
typedef int32_t vx_enum
 Sets the standard enumeration type size to be a fixed quantity. More...
 
typedef size_t vx_size
 A wrapper of size_t to keep the naming convention uniform.
 
typedef uint32_t vx_df_image
 Used to hold a VX_DF_IMAGE code to describe the pixel format and color space.
 
typedef uintptr_t vx_map_id
 Holds the address of a variable where the map/unmap functions return a map identifier.
 
typedef struct _vx_scalar * vx_scalar
 An opaque reference to a scalar. More...
 
typedef struct _vx_image * vx_image
 An opaque reference to an image. More...
 
typedef struct _vx_kernel * vx_kernel
 An opaque reference to the descriptor of a kernel. More...
 
typedef struct _vx_parameter * vx_parameter
 An opaque reference to a single parameter. More...
 
typedef struct _vx_node * vx_node
 An opaque reference to a kernel node. More...
 
typedef struct _vx_graph * vx_graph
 An opaque reference to a graph. More...
 
typedef struct _vx_context * vx_context
 An opaque reference to the implementation context. More...
 
typedef struct _vx_delay * vx_delay
 The delay object. This is like a ring buffer of objects that is maintained by the OpenVX implementation. More...
 
typedef struct _vx_lut * vx_lut
 The Look-Up Table (LUT) Object.
 
typedef struct _vx_distribution * vx_distribution
 The Distribution object. This has a user-defined number of bins over a user-defined range (within a uint32_t range).
 
typedef struct _vx_matrix * vx_matrix
 The Matrix Object. An MxN matrix of some unit type.
 
typedef struct _vx_pyramid * vx_pyramid
 The Image Pyramid object. A set of scaled images.
 
typedef struct _vx_threshold * vx_threshold
 The Threshold Object. A thresholding object contains the types and limit values of the thresholding required.
 
typedef struct _vx_convolution * vx_convolution
 The Convolution Object. A user-defined convolution kernel of MxM elements.
 
typedef struct _vx_remap * vx_remap
 The remap table Object. A remap table contains per-pixel mapping of output pixels to input pixels.
 
typedef struct _vx_array * vx_array
 The Array Object. Array is a strongly-typed container for other data structures.
 
typedef struct _vx_object_array * vx_object_array
 The ObjectArray Object. ObjectArray is a strongly-typed container of OpenVX data-objects.
 
typedef struct _vx_tensor_t * vx_tensor
 The multidimensional data object (Tensor). More...
 
typedef vx_enum vx_bool
 A formal boolean type with known fixed size. More...
 
typedef struct _vx_meta_format * vx_meta_format
 This object is used by output validation functions to specify the meta data of the expected output data object. More...
 
typedef vx_enum vx_status
 A formal status type with known fixed size. More...
 
typedef vx_enum vx_action
 The formal typedef of the response from the callback. More...
 
typedef vx_action(VX_CALLBACKvx_nodecomplete_f) (vx_node node)
 A callback to the client after a particular node has completed. More...
 
typedef struct _vx_imagepatch_addressing_t vx_imagepatch_addressing_t
 The addressing image patch structure is used by the Host only to address pixels in an image patch. The fields of the structure are defined as: More...
 
typedef struct _vx_perf_t vx_perf_t
 The performance measurement structure. The time or durations are in units of nano seconds.
 
typedef struct _vx_hough_lines_p_t vx_hough_lines_p_t
 Hough lines probability parameters.
 
typedef struct _vx_line2d_t vx_line2d_t
 line struct
 
typedef struct _vx_tensor_matrix_multiply_params_t vx_tensor_matrix_multiply_params_t
 Matrix Multiply Parameters. More...
 
typedef struct _vx_kernel_info_t vx_kernel_info_t
 The Kernel Information Structure. This is returned by the Context to indicate which kernels are available in the OpenVX implementation.
 
typedef struct _vx_keypoint_t vx_keypoint_t
 The keypoint data structure.
 
typedef struct _vx_rectangle_t vx_rectangle_t
 The rectangle data structure that is shared with the users. The area of the rectangle can be computed as (end_x-start_x)*(end_y-start_y).
 
typedef struct _vx_coordinates2d_t vx_coordinates2d_t
 The 2D Coordinates structure.
 
typedef struct _vx_coordinates2df_t vx_coordinates2df_t
 The floating-point 2D Coordinates structure.
 
typedef struct _vx_coordinates3d_t vx_coordinates3d_t
 The 3D Coordinates structure.
 
typedef union _vx_pixel_value_t vx_pixel_value_t
 Union that describes the value of a pixel for any image format. Use the field corresponding to the image format.
 
typedef struct _vx_border_t vx_border_t
 Use with the enumeration VX_NODE_BORDER to set the border mode behavior of a node that supports borders. More...
 
typedef vx_status(VX_API_CALLvx_publish_kernels_f) (vx_context context)
 The type of the vxPublishKernels entry function of modules loaded by vxLoadKernels and unloaded by vxUnloadKernels. More...
 
typedef vx_status(VX_API_CALLvx_unpublish_kernels_f) (vx_context context)
 The type of the vxUnpublishKernels entry function of modules loaded by vxLoadKernels and unloaded by vxUnloadKernels. More...
 
typedef vx_status(VX_CALLBACKvx_kernel_f) (vx_node node, const vx_reference *parameters, vx_uint32 num)
 The pointer to the Host side kernel. More...
 
typedef vx_status(VX_CALLBACKvx_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 the parameters have been validated, this function is called if not NULL. More...
 
typedef vx_status(VX_CALLBACKvx_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 a node garbage collection, this function is called if not NULL. More...
 
typedef vx_status(VX_CALLBACKvx_kernel_validate_f) (vx_node node, const vx_reference parameters[], vx_uint32 num, vx_meta_format metas[])
 The user-defined kernel node parameters validation function. The function only needs to fill in the meta data structure(s). More...
 
typedef vx_status(VX_CALLBACKvx_kernel_image_valid_rectangle_f) (vx_node node, vx_uint32 index, const vx_rectangle_t *const input_valid[], vx_rectangle_t *const output_valid[])
 A user-defined callback function to set the valid rectangle of an output image. More...
 
typedef void(VX_CALLBACKvx_log_callback_f) (vx_context context, vx_reference ref, vx_status status, const vx_char string[])
 The log callback function.
 

Enumerations

enum  vx_bool_e { vx_false_e = 0 , vx_true_e }
 A Boolean value. This allows 0 to be FALSE, as it is in C, and any non-zero to be TRUE. More...
 
enum  vx_type_e {
  VX_TYPE_INVALID = 0x000 , VX_TYPE_CHAR = 0x001 , VX_TYPE_INT8 = 0x002 , VX_TYPE_UINT8 = 0x003 ,
  VX_TYPE_INT16 = 0x004 , VX_TYPE_UINT16 = 0x005 , VX_TYPE_INT32 = 0x006 , VX_TYPE_UINT32 = 0x007 ,
  VX_TYPE_INT64 = 0x008 , VX_TYPE_UINT64 = 0x009 , VX_TYPE_FLOAT32 = 0x00A , VX_TYPE_FLOAT64 = 0x00B ,
  VX_TYPE_ENUM = 0x00C , VX_TYPE_SIZE = 0x00D , VX_TYPE_DF_IMAGE = 0x00E , VX_TYPE_FLOAT16 = 0x00F ,
  VX_TYPE_BOOL = 0x010 , VX_TYPE_RECTANGLE = 0x020 , VX_TYPE_KEYPOINT = 0x021 , VX_TYPE_COORDINATES2D = 0x022 ,
  VX_TYPE_COORDINATES3D = 0x023 , VX_TYPE_COORDINATES2DF = 0x024 , VX_TYPE_HOG_PARAMS = 0x028 , VX_TYPE_HOUGH_LINES_PARAMS = 0x029 ,
  VX_TYPE_LINE_2D = 0x02A , VX_TYPE_TENSOR_MATRIX_MULTIPLY_PARAMS = 0x02B , VX_TYPE_USER_STRUCT_START = 0x100 , VX_TYPE_VENDOR_STRUCT_START = 0x400 ,
  VX_TYPE_KHRONOS_OBJECT_START = 0x800 , VX_TYPE_VENDOR_OBJECT_START = 0xC00 , VX_TYPE_KHRONOS_STRUCT_MAX = (vx_enum)VX_TYPE_USER_STRUCT_START - 1 , VX_TYPE_USER_STRUCT_END = (vx_enum)VX_TYPE_VENDOR_STRUCT_START - 1 ,
  VX_TYPE_VENDOR_STRUCT_END = (vx_enum)VX_TYPE_KHRONOS_OBJECT_START - 1 , VX_TYPE_KHRONOS_OBJECT_END = (vx_enum)VX_TYPE_VENDOR_OBJECT_START - 1 , VX_TYPE_VENDOR_OBJECT_END = 0xFFF , VX_TYPE_REFERENCE = 0x800 ,
  VX_TYPE_CONTEXT = 0x801 , VX_TYPE_GRAPH = 0x802 , VX_TYPE_NODE = 0x803 , VX_TYPE_KERNEL = 0x804 ,
  VX_TYPE_PARAMETER = 0x805 , VX_TYPE_DELAY = 0x806 , VX_TYPE_LUT = 0x807 , VX_TYPE_DISTRIBUTION = 0x808 ,
  VX_TYPE_PYRAMID = 0x809 , VX_TYPE_THRESHOLD = 0x80A , VX_TYPE_MATRIX = 0x80B , VX_TYPE_CONVOLUTION = 0x80C ,
  VX_TYPE_SCALAR = 0x80D , VX_TYPE_ARRAY = 0x80E , VX_TYPE_IMAGE = 0x80F , VX_TYPE_REMAP = 0x810 ,
  VX_TYPE_ERROR = 0x811 , VX_TYPE_META_FORMAT = 0x812 , VX_TYPE_OBJECT_ARRAY = 0x813 , VX_TYPE_TENSOR = 0x815
}
 The type enumeration lists all the known types in OpenVX. More...
 
enum  vx_status_e {
  VX_STATUS_MIN = -(vx_int32)25 , VX_ERROR_REFERENCE_NONZERO = -(vx_int32)24 , VX_ERROR_MULTIPLE_WRITERS = -(vx_int32)23 , VX_ERROR_GRAPH_ABANDONED = -(vx_int32)22 ,
  VX_ERROR_GRAPH_SCHEDULED = -(vx_int32)21 , VX_ERROR_INVALID_SCOPE = -(vx_int32)20 , VX_ERROR_INVALID_NODE = -(vx_int32)19 , VX_ERROR_INVALID_GRAPH = -(vx_int32)18 ,
  VX_ERROR_INVALID_TYPE = -(vx_int32)17 , VX_ERROR_INVALID_VALUE = -(vx_int32)16 , VX_ERROR_INVALID_DIMENSION = -(vx_int32)15 , VX_ERROR_INVALID_FORMAT = -(vx_int32)14 ,
  VX_ERROR_INVALID_LINK = -(vx_int32)13 , VX_ERROR_INVALID_REFERENCE = -(vx_int32)12 , VX_ERROR_INVALID_MODULE = -(vx_int32)11 , VX_ERROR_INVALID_PARAMETERS = -(vx_int32)10 ,
  VX_ERROR_OPTIMIZED_AWAY = -(vx_int32)9 , VX_ERROR_NO_MEMORY = -(vx_int32)8 , VX_ERROR_NO_RESOURCES = -(vx_int32)7 , VX_ERROR_NOT_COMPATIBLE = -(vx_int32)6 ,
  VX_ERROR_NOT_ALLOCATED = -(vx_int32)5 , VX_ERROR_NOT_SUFFICIENT = -(vx_int32)4 , VX_ERROR_NOT_SUPPORTED = -(vx_int32)3 , VX_ERROR_NOT_IMPLEMENTED = -(vx_int32)2 ,
  VX_FAILURE = -(vx_int32)1 , VX_SUCCESS = 0
}
 The enumeration of all status codes. More...
 
enum  vx_enum_e {
  VX_ENUM_DIRECTION = 0x00 , VX_ENUM_ACTION = 0x01 , VX_ENUM_HINT = 0x02 , VX_ENUM_DIRECTIVE = 0x03 ,
  VX_ENUM_INTERPOLATION = 0x04 , VX_ENUM_OVERFLOW = 0x05 , VX_ENUM_COLOR_SPACE = 0x06 , VX_ENUM_COLOR_RANGE = 0x07 ,
  VX_ENUM_PARAMETER_STATE = 0x08 , VX_ENUM_CHANNEL = 0x09 , VX_ENUM_CONVERT_POLICY = 0x0A , VX_ENUM_THRESHOLD_TYPE = 0x0B ,
  VX_ENUM_BORDER = 0x0C , VX_ENUM_COMPARISON = 0x0D , VX_ENUM_MEMORY_TYPE = 0x0E , VX_ENUM_TERM_CRITERIA = 0x0F ,
  VX_ENUM_NORM_TYPE = 0x10 , VX_ENUM_ACCESSOR = 0x11 , VX_ENUM_ROUND_POLICY = 0x12 , VX_ENUM_TARGET = 0x13 ,
  VX_ENUM_BORDER_POLICY = 0x14 , VX_ENUM_GRAPH_STATE = 0x15 , VX_ENUM_NONLINEAR = 0x16 , VX_ENUM_PATTERN = 0x17 ,
  VX_ENUM_LBP_FORMAT = 0x18 , VX_ENUM_COMP_METRIC = 0x19 , VX_ENUM_SCALAR_OPERATION = 0X20
}
 The set of supported enumerations in OpenVX. More...
 
enum  vx_action_e { VX_ACTION_CONTINUE = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_ACTION) + 0x0 , VX_ACTION_ABANDON = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_ACTION) + 0x1 }
 A return code enumeration from a vx_nodecomplete_f during execution. More...
 
enum  vx_direction_e { VX_INPUT = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_DIRECTION) + 0x0 , VX_OUTPUT = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_DIRECTION) + 0x1 }
 An indication of how a kernel will treat the given parameter. More...
 
enum  vx_hint_e { VX_HINT_PERFORMANCE_DEFAULT = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_HINT) + 0x1 , VX_HINT_PERFORMANCE_LOW_POWER = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_HINT) + 0x2 , VX_HINT_PERFORMANCE_HIGH_SPEED = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_HINT) + 0x3 }
 These enumerations are given to the vxHint API to enable/disable platform optimizations and/or features. Hints are optional and usually are vendor-specific. More...
 
enum  vx_directive_e { VX_DIRECTIVE_DISABLE_LOGGING = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_DIRECTIVE) + 0x0 , VX_DIRECTIVE_ENABLE_LOGGING = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_DIRECTIVE) + 0x1 , VX_DIRECTIVE_DISABLE_PERFORMANCE = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_DIRECTIVE) + 0x2 , VX_DIRECTIVE_ENABLE_PERFORMANCE = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_DIRECTIVE) + 0x3 }
 These enumerations are given to the vxDirective API to enable/disable platform optimizations and/or features. Directives are not optional and usually are vendor-specific, by defining a vendor range of directives and starting their enumeration from there. More...
 
enum  vx_graph_state_e {
  VX_GRAPH_STATE_UNVERIFIED = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_GRAPH_STATE) + 0x0 , VX_GRAPH_STATE_VERIFIED = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_GRAPH_STATE) + 0x1 , VX_GRAPH_STATE_RUNNING = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_GRAPH_STATE) + 0x2 , VX_GRAPH_STATE_ABANDONED = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_GRAPH_STATE) + 0x3 ,
  VX_GRAPH_STATE_COMPLETED = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_GRAPH_STATE) + 0x4
}
 The Graph State Enumeration. More...
 
enum  vx_graph_attribute_e { VX_GRAPH_NUMNODES = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_GRAPH) + 0x0 , VX_GRAPH_PERFORMANCE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_GRAPH) + 0x2 , VX_GRAPH_NUMPARAMETERS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_GRAPH) + 0x3 , VX_GRAPH_STATE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_GRAPH) + 0x4 }
 The graph attributes list. More...
 
enum  vx_convert_policy_e { VX_CONVERT_POLICY_WRAP = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_CONVERT_POLICY) + 0x0 , VX_CONVERT_POLICY_SATURATE = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_CONVERT_POLICY) + 0x1 }
 The Conversion Policy Enumeration. More...
 
enum  vx_df_image_e {
  VX_DF_IMAGE_VIRT = VX_DF_IMAGE('V','I','R','T') , VX_DF_IMAGE_RGB = VX_DF_IMAGE('R','G','B','2') , VX_DF_IMAGE_RGBX = VX_DF_IMAGE('R','G','B','A') , VX_DF_IMAGE_NV12 = VX_DF_IMAGE('N','V','1','2') ,
  VX_DF_IMAGE_NV21 = VX_DF_IMAGE('N','V','2','1') , VX_DF_IMAGE_UYVY = VX_DF_IMAGE('U','Y','V','Y') , VX_DF_IMAGE_YUYV = VX_DF_IMAGE('Y','U','Y','V') , VX_DF_IMAGE_IYUV = VX_DF_IMAGE('I','Y','U','V') ,
  VX_DF_IMAGE_YUV4 = VX_DF_IMAGE('Y','U','V','4') , VX_DF_IMAGE_U1 = VX_DF_IMAGE('U','0','0','1') , VX_DF_IMAGE_U8 = VX_DF_IMAGE('U','0','0','8') , VX_DF_IMAGE_U16 = VX_DF_IMAGE('U','0','1','6') ,
  VX_DF_IMAGE_S16 = VX_DF_IMAGE('S','0','1','6') , VX_DF_IMAGE_U32 = VX_DF_IMAGE('U','0','3','2') , VX_DF_IMAGE_S32 = VX_DF_IMAGE('S','0','3','2')
}
 Based on the VX_DF_IMAGE definition. More...
 
enum  vx_target_e { VX_TARGET_ANY = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_TARGET) + 0x0000 , VX_TARGET_STRING = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_TARGET) + 0x0001 , VX_TARGET_VENDOR_BEGIN = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_TARGET) + 0x1000 }
 The Target Enumeration. More...
 
enum  vx_reference_attribute_e { VX_REFERENCE_COUNT = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_REFERENCE) + 0x0 , VX_REFERENCE_TYPE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_REFERENCE) + 0x1 , VX_REFERENCE_NAME = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_REFERENCE) + 0x2 }
 The reference attributes list. More...
 
enum  vx_context_attribute_e {
  VX_CONTEXT_VENDOR_ID = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0x0 , VX_CONTEXT_VERSION = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0x1 , VX_CONTEXT_UNIQUE_KERNELS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0x2 , VX_CONTEXT_MODULES = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0x3 ,
  VX_CONTEXT_REFERENCES = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0x4 , VX_CONTEXT_IMPLEMENTATION = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0x5 , VX_CONTEXT_EXTENSIONS_SIZE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0x6 , VX_CONTEXT_EXTENSIONS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0x7 ,
  VX_CONTEXT_CONVOLUTION_MAX_DIMENSION = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0x8 , VX_CONTEXT_OPTICAL_FLOW_MAX_WINDOW_DIMENSION = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0x9 , VX_CONTEXT_IMMEDIATE_BORDER = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0xA , VX_CONTEXT_UNIQUE_KERNEL_TABLE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0xB ,
  VX_CONTEXT_IMMEDIATE_BORDER_POLICY = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0xC , VX_CONTEXT_NONLINEAR_MAX_DIMENSION = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0xd , VX_CONTEXT_MAX_TENSOR_DIMS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0xE
}
 A list of context attributes. More...
 
enum  vx_kernel_attribute_e { VX_KERNEL_PARAMETERS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_KERNEL) + 0x0 , VX_KERNEL_NAME = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_KERNEL) + 0x1 , VX_KERNEL_ENUM = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_KERNEL) + 0x2 , VX_KERNEL_LOCAL_DATA_SIZE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_KERNEL) + 0x3 }
 The kernel attributes list. More...
 
enum  vx_node_attribute_e {
  VX_NODE_STATUS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_NODE) + 0x0 , VX_NODE_PERFORMANCE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_NODE) + 0x1 , VX_NODE_BORDER = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_NODE) + 0x2 , VX_NODE_LOCAL_DATA_SIZE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_NODE) + 0x3 ,
  VX_NODE_LOCAL_DATA_PTR = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_NODE) + 0x4 , VX_NODE_PARAMETERS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_NODE) + 0x5 , VX_NODE_IS_REPLICATED = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_NODE) + 0x6 , VX_NODE_REPLICATE_FLAGS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_NODE) + 0x7 ,
  VX_NODE_VALID_RECT_RESET = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_NODE) + 0x8
}
 The node attributes list. More...
 
enum  vx_parameter_attribute_e {
  VX_PARAMETER_INDEX = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_PARAMETER) + 0x0 , VX_PARAMETER_DIRECTION = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_PARAMETER) + 0x1 , VX_PARAMETER_TYPE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_PARAMETER) + 0x2 , VX_PARAMETER_STATE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_PARAMETER) + 0x3 ,
  VX_PARAMETER_REF = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_PARAMETER) + 0x4 , VX_PARAMETER_META_FORMAT = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_PARAMETER) + 0x5
}
 The parameter attributes list. More...
 
enum  vx_image_attribute_e {
  VX_IMAGE_WIDTH = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_IMAGE) + 0x0 , VX_IMAGE_HEIGHT = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_IMAGE) + 0x1 , VX_IMAGE_FORMAT = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_IMAGE) + 0x2 , VX_IMAGE_PLANES = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_IMAGE) + 0x3 ,
  VX_IMAGE_SPACE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_IMAGE) + 0x4 , VX_IMAGE_RANGE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_IMAGE) + 0x5 , VX_IMAGE_MEMORY_TYPE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_IMAGE) + 0x7 , VX_IMAGE_IS_UNIFORM = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_IMAGE) + 0x8 ,
  VX_IMAGE_UNIFORM_VALUE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_IMAGE) + 0x9
}
 The image attributes list. More...
 
enum  vx_scalar_attribute_e { VX_SCALAR_TYPE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_SCALAR) + 0x0 }
 The scalar attributes list. More...
 
enum  vx_scalar_operation_e {
  VX_SCALAR_OP_AND = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_SCALAR_OPERATION) + 0x0 , VX_SCALAR_OP_OR = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_SCALAR_OPERATION) + 0x1 , VX_SCALAR_OP_XOR = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_SCALAR_OPERATION) + 0x2 , VX_SCALAR_OP_NAND = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_SCALAR_OPERATION) + 0x3 ,
  VX_SCALAR_OP_EQUAL = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_SCALAR_OPERATION) + 0x4 , VX_SCALAR_OP_NOTEQUAL = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_SCALAR_OPERATION) + 0x5 , VX_SCALAR_OP_LESS = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_SCALAR_OPERATION) + 0x6 , VX_SCALAR_OP_LESSEQ = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_SCALAR_OPERATION) + 0x7 ,
  VX_SCALAR_OP_GREATER = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_SCALAR_OPERATION) + 0x8 , VX_SCALAR_OP_GREATEREQ = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_SCALAR_OPERATION) + 0x9 , VX_SCALAR_OP_ADD = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_SCALAR_OPERATION) + 0xA , VX_SCALAR_OP_SUBTRACT = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_SCALAR_OPERATION) + 0xB ,
  VX_SCALAR_OP_MULTIPLY = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_SCALAR_OPERATION) + 0xC , VX_SCALAR_OP_DIVIDE = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_SCALAR_OPERATION) + 0xD , VX_SCALAR_OP_MODULUS = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_SCALAR_OPERATION) + 0xE , VX_SCALAR_OP_MIN = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_SCALAR_OPERATION) + 0xF ,
  VX_SCALAR_OP_MAX = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_SCALAR_OPERATION) + 0x10
}
 A type of operation in which both operands are scalars. More...
 
enum  vx_lut_attribute_e { VX_LUT_TYPE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS,VX_TYPE_LUT) + 0x0 , VX_LUT_COUNT = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS,VX_TYPE_LUT) + 0x1 , VX_LUT_SIZE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS,VX_TYPE_LUT) + 0x2 , VX_LUT_OFFSET = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS,VX_TYPE_LUT) + 0x3 }
 The Look-Up Table (LUT) attribute list. More...
 
enum  vx_distribution_attribute_e {
  VX_DISTRIBUTION_DIMENSIONS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_DISTRIBUTION) + 0x0 , VX_DISTRIBUTION_OFFSET = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_DISTRIBUTION) + 0x1 , VX_DISTRIBUTION_RANGE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_DISTRIBUTION) + 0x2 , VX_DISTRIBUTION_BINS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_DISTRIBUTION) + 0x3 ,
  VX_DISTRIBUTION_WINDOW = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_DISTRIBUTION) + 0x4 , VX_DISTRIBUTION_SIZE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_DISTRIBUTION) + 0x5
}
 The distribution attribute list. More...
 
enum  vx_threshold_type_e { VX_THRESHOLD_TYPE_BINARY = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_THRESHOLD_TYPE) + 0x0 , VX_THRESHOLD_TYPE_RANGE = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_THRESHOLD_TYPE) + 0x1 }
 The Threshold types. More...
 
enum  vx_threshold_attribute_e { VX_THRESHOLD_TYPE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_THRESHOLD) + 0x0 , VX_THRESHOLD_INPUT_FORMAT = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_THRESHOLD) + 0x7 , VX_THRESHOLD_OUTPUT_FORMAT = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_THRESHOLD) + 0x8 }
 The threshold attributes. More...
 
enum  vx_matrix_attribute_e {
  VX_MATRIX_TYPE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_MATRIX) + 0x0 , VX_MATRIX_ROWS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_MATRIX) + 0x1 , VX_MATRIX_COLUMNS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_MATRIX) + 0x2 , VX_MATRIX_SIZE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_MATRIX) + 0x3 ,
  VX_MATRIX_ORIGIN = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_MATRIX) + 0x4 , VX_MATRIX_PATTERN = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_MATRIX) + 0x5
}
 The matrix attributes. More...
 
enum  vx_convolution_attribute_e { VX_CONVOLUTION_ROWS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONVOLUTION) + 0x0 , VX_CONVOLUTION_COLUMNS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONVOLUTION) + 0x1 , VX_CONVOLUTION_SCALE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONVOLUTION) + 0x2 , VX_CONVOLUTION_SIZE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONVOLUTION) + 0x3 }
 The convolution attributes. More...
 
enum  vx_pyramid_attribute_e {
  VX_PYRAMID_LEVELS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_PYRAMID) + 0x0 , VX_PYRAMID_SCALE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_PYRAMID) + 0x1 , VX_PYRAMID_WIDTH = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_PYRAMID) + 0x2 , VX_PYRAMID_HEIGHT = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_PYRAMID) + 0x3 ,
  VX_PYRAMID_FORMAT = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_PYRAMID) + 0x4
}
 The pyramid object attributes. More...
 
enum  vx_remap_attribute_e { VX_REMAP_SOURCE_WIDTH = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_REMAP) + 0x0 , VX_REMAP_SOURCE_HEIGHT = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_REMAP) + 0x1 , VX_REMAP_DESTINATION_WIDTH = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_REMAP) + 0x2 , VX_REMAP_DESTINATION_HEIGHT = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_REMAP) + 0x3 }
 The remap object attributes. More...
 
enum  vx_array_attribute_e { VX_ARRAY_ITEMTYPE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_ARRAY) + 0x0 , VX_ARRAY_NUMITEMS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_ARRAY) + 0x1 , VX_ARRAY_CAPACITY = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_ARRAY) + 0x2 , VX_ARRAY_ITEMSIZE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_ARRAY) + 0x3 }
 The array object attributes. More...
 
enum  vx_object_array_attribute_e { VX_OBJECT_ARRAY_ITEMTYPE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_OBJECT_ARRAY) + 0x0 , VX_OBJECT_ARRAY_NUMITEMS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_OBJECT_ARRAY) + 0x1 }
 The ObjectArray object attributes. More...
 
enum  vx_tensor_attribute_e { VX_TENSOR_NUMBER_OF_DIMS = VX_ATTRIBUTE_BASE( VX_ID_KHRONOS, VX_TYPE_TENSOR ) + 0x0 , VX_TENSOR_DIMS = VX_ATTRIBUTE_BASE( VX_ID_KHRONOS, VX_TYPE_TENSOR ) + 0x1 , VX_TENSOR_DATA_TYPE = VX_ATTRIBUTE_BASE( VX_ID_KHRONOS, VX_TYPE_TENSOR ) + 0x2 , VX_TENSOR_FIXED_POINT_POSITION = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_TENSOR) + 0x3 }
 tensor Data attributes. More...
 
enum  vx_meta_valid_rect_attribute_e { VX_VALID_RECT_CALLBACK = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_META_FORMAT) + 0x1 }
 The meta valid rectangle attributes. More...
 
enum  vx_channel_e {
  VX_CHANNEL_0 = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_CHANNEL) + 0x0 , VX_CHANNEL_1 = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_CHANNEL) + 0x1 , VX_CHANNEL_2 = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_CHANNEL) + 0x2 , VX_CHANNEL_3 = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_CHANNEL) + 0x3 ,
  VX_CHANNEL_R = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_CHANNEL) + 0x10 , VX_CHANNEL_G = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_CHANNEL) + 0x11 , VX_CHANNEL_B = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_CHANNEL) + 0x12 , VX_CHANNEL_A = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_CHANNEL) + 0x13 ,
  VX_CHANNEL_Y = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_CHANNEL) + 0x14 , VX_CHANNEL_U = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_CHANNEL) + 0x15 , VX_CHANNEL_V = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_CHANNEL) + 0x16
}
 The channel enumerations for channel extractions. More...
 
enum  vx_memory_type_e { VX_MEMORY_TYPE_NONE = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_MEMORY_TYPE) + 0x0 , VX_MEMORY_TYPE_HOST = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_MEMORY_TYPE) + 0x1 }
 An enumeration of memory import types. More...
 
enum  vx_interpolation_type_e { VX_INTERPOLATION_NEAREST_NEIGHBOR = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_INTERPOLATION) + 0x0 , VX_INTERPOLATION_BILINEAR = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_INTERPOLATION) + 0x1 , VX_INTERPOLATION_AREA = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_INTERPOLATION) + 0x2 }
 The image reconstruction filters supported by image resampling operations. More...
 
enum  vx_non_linear_filter_e { VX_NONLINEAR_FILTER_MEDIAN = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_NONLINEAR) + 0x0 , VX_NONLINEAR_FILTER_MIN = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_NONLINEAR) + 0x1 , VX_NONLINEAR_FILTER_MAX = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_NONLINEAR) + 0x2 }
 An enumeration of non-linear filter functions. More...
 
enum  vx_pattern_e { VX_PATTERN_BOX = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_PATTERN) + 0x0 , VX_PATTERN_CROSS = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_PATTERN) + 0x1 , VX_PATTERN_DISK = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_PATTERN) + 0x2 , VX_PATTERN_OTHER = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_PATTERN) + 0x3 }
 An enumeration of matrix patterns. See vxCreateMatrixFromPattern and vxCreateMatrixFromPatternAndOrigin More...
 
enum  vx_color_space_e {
  VX_COLOR_SPACE_NONE = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_COLOR_SPACE) + 0x0 , VX_COLOR_SPACE_BT601_525 = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_COLOR_SPACE) + 0x1 , VX_COLOR_SPACE_BT601_625 = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_COLOR_SPACE) + 0x2 , VX_COLOR_SPACE_BT709 = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_COLOR_SPACE) + 0x3 ,
  VX_COLOR_SPACE_DEFAULT = VX_COLOR_SPACE_BT709
}
 The image color space list used by the VX_IMAGE_SPACE attribute of a vx_image. More...
 
enum  vx_channel_range_e { VX_CHANNEL_RANGE_FULL = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_COLOR_RANGE) + 0x0 , VX_CHANNEL_RANGE_RESTRICTED = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_COLOR_RANGE) + 0x1 }
 The image channel range list used by the VX_IMAGE_RANGE attribute of a vx_image. More...
 
enum  vx_parameter_state_e { VX_PARAMETER_STATE_REQUIRED = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_PARAMETER_STATE) + 0x0 , VX_PARAMETER_STATE_OPTIONAL = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_PARAMETER_STATE) + 0x1 }
 The parameter state type. More...
 
enum  vx_border_e { VX_BORDER_UNDEFINED = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_BORDER) + 0x0 , VX_BORDER_CONSTANT = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_BORDER) + 0x1 , VX_BORDER_REPLICATE = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_BORDER) + 0x2 }
 The border mode list. More...
 
enum  vx_border_policy_e { VX_BORDER_POLICY_DEFAULT_TO_UNDEFINED = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_BORDER_POLICY) + 0x0 , VX_BORDER_POLICY_RETURN_ERROR = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_BORDER_POLICY) + 0x1 }
 The unsupported border mode policy list. More...
 
enum  vx_termination_criteria_e { VX_TERM_CRITERIA_ITERATIONS = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_TERM_CRITERIA) + 0x0 , VX_TERM_CRITERIA_EPSILON = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_TERM_CRITERIA) + 0x1 , VX_TERM_CRITERIA_BOTH = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_TERM_CRITERIA) + 0x2 }
 The termination criteria list. More...
 
enum  vx_norm_type_e { VX_NORM_L1 = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_NORM_TYPE) + 0x0 , VX_NORM_L2 = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_NORM_TYPE) + 0x1 }
 A normalization type. More...
 
enum  vx_delay_attribute_e { VX_DELAY_TYPE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_DELAY) + 0x0 , VX_DELAY_SLOTS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_DELAY) + 0x1 }
 The delay attribute list. More...
 
enum  vx_accessor_e { VX_READ_ONLY = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_ACCESSOR) + 0x1 , VX_WRITE_ONLY = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_ACCESSOR) + 0x2 , VX_READ_AND_WRITE = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_ACCESSOR) + 0x3 }
 The memory accessor hint flags. These enumeration values are used to indicate desired system behavior, not the User intent. For example: these can be interpretted as hints to the system about cache operations or marshalling operations. More...
 
enum  vx_round_policy_e { VX_ROUND_POLICY_TO_ZERO = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_ROUND_POLICY) + 0x1 , VX_ROUND_POLICY_TO_NEAREST_EVEN = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_ROUND_POLICY) + 0x2 }
 The Round Policy Enumeration. More...
 
enum  vx_lbp_format_e { VX_LBP = VX_ENUM_BASE( VX_ID_KHRONOS, VX_ENUM_LBP_FORMAT ) + 0x0 , VX_MLBP = VX_ENUM_BASE( VX_ID_KHRONOS, VX_ENUM_LBP_FORMAT ) + 0x1 , VX_ULBP = VX_ENUM_BASE( VX_ID_KHRONOS, VX_ENUM_LBP_FORMAT ) + 0x2 }
 Local binary pattern supported. More...
 
enum  vx_comp_metric_e {
  VX_COMPARE_HAMMING = VX_ENUM_BASE( VX_ID_KHRONOS, VX_ENUM_COMP_METRIC ) + 0x0 , VX_COMPARE_L1 = VX_ENUM_BASE( VX_ID_KHRONOS, VX_ENUM_COMP_METRIC ) + 0x1 , VX_COMPARE_L2 = VX_ENUM_BASE( VX_ID_KHRONOS, VX_ENUM_COMP_METRIC ) + 0x2 , VX_COMPARE_CCORR = VX_ENUM_BASE( VX_ID_KHRONOS, VX_ENUM_COMP_METRIC ) + 0x3 ,
  VX_COMPARE_L2_NORM = VX_ENUM_BASE( VX_ID_KHRONOS, VX_ENUM_COMP_METRIC ) + 0x4 , VX_COMPARE_CCORR_NORM = VX_ENUM_BASE( VX_ID_KHRONOS, VX_ENUM_COMP_METRIC ) + 0x5
}
 comparing metrics. More...
 
enum  vx_map_flag_e { VX_NOGAP_X = 1 }
 The Map/Unmap operation enumeration. More...
 

Detailed Description

The type definitions required by OpenVX Library.

Macro Definition Documentation

◆ VX_DF_IMAGE

#define VX_DF_IMAGE (   a,
  b,
  c,
 
)    ((vx_uint32)(vx_uint8)(a) | ((vx_uint32)(vx_uint8)(b) << 8U) | ((vx_uint32)(vx_uint8)(c) << 16U) | ((vx_uint32)(vx_uint8)(d) << 24U))

Converts a set of four chars into a uint32_t container of a VX_DF_IMAGE code.

Note
Use a vx_df_image variable to hold the value.

◆ VX_ENUM_BASE

#define VX_ENUM_BASE (   vendor,
  id 
)    ((vx_int32)(((vx_uint32)(vendor) << 20) | ((vx_uint32)(id) << 12)))

Defines the manner in which to combine the Vendor and Object IDs to get the base value of the enumeration.

From any enumerated value (with exceptions), the vendor, and enumeration type should be extractable. Those types that are exceptions are vx_vendor_id_e, vx_type_e, vx_enum_e, vx_df_image_e, and vx_bool.

◆ VX_TYPE_MASK

#define VX_TYPE_MASK   (0x000FFF00U)

A type mask removes the scalar/object type from the attribute. It is 3 nibbles in size and is contained between the third and second byte.

See also
vx_type_e

Typedef Documentation

◆ vx_action

typedef vx_enum vx_action

The formal typedef of the response from the callback.

See also
vx_action_e

◆ vx_bool

typedef vx_enum vx_bool

A formal boolean type with known fixed size.

See also
vx_bool_e

◆ vx_border_t

typedef struct _vx_border_t vx_border_t

Use with the enumeration VX_NODE_BORDER to set the border mode behavior of a node that supports borders.

If the indicated border mode is not supported, an error VX_ERROR_NOT_SUPPORTED will be reported either at the time the VX_NODE_BORDER is set or at the time of graph verification.

◆ vx_context

typedef struct _vx_context* vx_context

An opaque reference to the implementation context.

See also
vxCreateContext

◆ vx_delay

typedef struct _vx_delay* vx_delay

The delay object. This is like a ring buffer of objects that is maintained by the OpenVX implementation.

See also
vxCreateDelay

◆ vx_enum

typedef int32_t vx_enum

Sets the standard enumeration type size to be a fixed quantity.

All enumerable fields must use this type as the container to enforce enumeration ranges and sizeof() operations.

◆ vx_graph

typedef struct _vx_graph* vx_graph

An opaque reference to a graph.

See also
vxCreateGraph

◆ vx_image

typedef struct _vx_image* vx_image

An opaque reference to an image.

See also
vxCreateImage

◆ vx_imagepatch_addressing_t

The addressing image patch structure is used by the Host only to address pixels in an image patch. The fields of the structure are defined as:

  • dim - The dimensions of the image in logical pixel units in the x & y direction.
  • stride - The physical byte distance from a logical pixel to the next logically adjacent pixel in the positive x or y direction.
  • scale - The relationship of scaling from the primary plane (typically the zero indexed plane) to this plane. An integer down-scaling factor of \( f \) shall be set to a value equal to \( scale = \frac{unity}{f} \) and an integer up-scaling factor of \( f \) shall be set to a value of \( scale = unity * f \). \( unity \) is defined as VX_SCALE_UNITY.
  • step - The step is the number of logical pixel units to skip to arrive at the next physically unique pixel. For example, on a plane that is half-scaled in a dimension, the step in that dimension is 2 to indicate that every other pixel in that dimension is an alias. This is useful in situations where iteration over unique pixels is required, such as in serializing or de-serializing the image patch information.
    See also
    vxMapImagePatch
    Note
    For VX_DF_IMAGE_U1 images it is defined that stride_x == 0 since it is less than one byte. The least significant bit (bit number 0, value 1) in the first byte in the image, is the left-most pixel in the upper left corner, i.e. origo. A VX_DF_IMAGE_U1 image always start on a byte boundary and each row has a stride_y that is a multiple of whole bytes, which means padding bits of undefined value may be present at the end of each row. Imagepatches can only be accessed at a multiple of eight pixels: the x-coordinate must be a multiple of eight. Individual pixel access is also different: the byte at the imagepatch-calculated pointer value is a collection of eight pixels. Each byte can then be masked with the bit-mask 1 << (x % 8) to get individual pixel values (shifted x times). See sub_image_access for an example.

◆ vx_kernel

typedef struct _vx_kernel* vx_kernel

An opaque reference to the descriptor of a kernel.

See also
vxGetKernelByName
vxGetKernelByEnum

◆ vx_kernel_deinitialize_f

typedef 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 a node garbage collection, this function is called if not NULL.

Parameters
[in]nodeThe handle to the node that contains this kernel.
[in]parametersThe array of parameter references.
[in]numThe number of parameters.

◆ vx_kernel_f

typedef vx_status(VX_CALLBACK * vx_kernel_f) (vx_node node, const vx_reference *parameters, vx_uint32 num)

The pointer to the Host side kernel.

Parameters
[in]nodeThe handle to the node that contains this kernel.
[in]parametersThe array of parameter references.
[in]numThe number of parameters.

◆ vx_kernel_image_valid_rectangle_f

typedef vx_status(VX_CALLBACK * vx_kernel_image_valid_rectangle_f) (vx_node node, vx_uint32 index, const vx_rectangle_t *const input_valid[], vx_rectangle_t *const output_valid[])

A user-defined callback function to set the valid rectangle of an output image.

The VX_VALID_RECT_CALLBACK attribute in the vx_meta_format object should be set to the desired callback during user node's output validator. The callback must not call vxGetValidRegionImage or vxSetImageValidRectangle. Instead, an array of the valid rectangles of all the input images is supplied to the callback to calculate the output valid rectangle. The output of the user node may be a pyramid, or just an image. If it is just an image, the 'Out' array associated with that output only has one element. If the output is a pyramid, the array size is equal to the number of pyramid levels. Notice that the array memory allocation passed to the callback is managed by the framework, the application must not allocate or deallocate those pointers.

The behavior of the callback function vx_kernel_image_valid_rectangle_f is undefined if one of the following is true:

  • One of the input arguments of a user node is a pyramid or an array of images.
  • Either input or output argument of a user node is an array of pyramids.
Parameters
[in,out]nodeThe handle to the node that is being validated.
[in]indexThe index of the output parameter for which a valid region should be set.
[in]input_validA pointer to an array of valid regions of input images or images contained in image container (e.g. pyramids). They are provided in same order as the parameter list of the kernel's declaration.
[out]output_validAn array of valid regions that should be set for the output images or image containers (e.g. pyramid) after graph processing. The length of the array should be equal to the size of the image container (e.g. number of levels in the pyramid). For a simple output image the array size is always one. Each rectangle supplies the valid region for one image. The array memory allocation is managed by the framework.
Returns
An error code describing the validation status on parameters.

◆ vx_kernel_initialize_f

typedef 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 the parameters have been validated, this function is called if not NULL.

Parameters
[in]nodeThe handle to the node that contains this kernel.
[in]parametersThe array of parameter references.
[in]numThe number of parameters.

◆ vx_kernel_validate_f

typedef vx_status(VX_CALLBACK * vx_kernel_validate_f) (vx_node node, const vx_reference parameters[], vx_uint32 num, vx_meta_format metas[])

The user-defined kernel node parameters validation function. The function only needs to fill in the meta data structure(s).

Note
This function is called once for whole set of parameters.
Parameters
[in]nodeThe handle to the node that is being validated.
[in]parametersThe array of parameters to be validated.
[in]numNumber of parameters to be validated.
[in]metasA pointer to a pre-allocated array of structure references that the system holds. The system pre-allocates a number of vx_meta_format structures for the output parameters only, indexed by the same indices as parameters[]. The validation function fills in the correct type, format, and dimensionality for the system to use either to create memory or to check against existing memory.
Returns
An error code describing the validation status on parameters.

◆ vx_meta_format

typedef struct _vx_meta_format* vx_meta_format

This object is used by output validation functions to specify the meta data of the expected output data object.

Note
When the actual output object of the user node is virtual, the information given through the vx_meta_format object allows the OpenVX framework to automatically create the data object when meta data were not specified by the application at object creation time.

◆ vx_node

typedef struct _vx_node* vx_node

An opaque reference to a kernel node.

See also
vxCreateGenericNode

◆ vx_nodecomplete_f

typedef vx_action(VX_CALLBACK * vx_nodecomplete_f) (vx_node node)

A callback to the client after a particular node has completed.

See also
vx_action
vxAssignNodeCallback
Parameters
[in]nodeThe node to which the callback was attached.
Returns
An action code from vx_action_e.

◆ vx_parameter

typedef struct _vx_parameter* vx_parameter

An opaque reference to a single parameter.

See also
vxGetParameterByIndex

◆ vx_publish_kernels_f

typedef vx_status(VX_API_CALL * vx_publish_kernels_f) (vx_context context)

The type of the vxPublishKernels entry function of modules loaded by vxLoadKernels and unloaded by vxUnloadKernels.

Parameters
[in]contextThe reference to the context kernels must be added to.

◆ vx_reference

typedef struct _vx_reference* vx_reference

A generic opaque reference to any object within OpenVX.

A user of OpenVX should not assume that this can be cast directly to anything; however, any object in OpenVX can be cast back to this for the purposes of querying attributes of the object or for passing the object as a parameter to functions that take a vx_reference type. If the API does not take that specific type but may take others, an error may be returned from the API.

◆ vx_scalar

typedef struct _vx_scalar* vx_scalar

An opaque reference to a scalar.

A scalar can be up to 64 bits wide.

See also
vxCreateScalar

◆ vx_status

typedef vx_enum vx_status

A formal status type with known fixed size.

See also
vx_status_e

◆ vx_tensor

typedef struct _vx_tensor_t* vx_tensor

The multidimensional data object (Tensor).

See also
vxCreateTensor

◆ vx_tensor_matrix_multiply_params_t

Matrix Multiply Parameters.

transpose_input1/input2/input3 : if True the matrix is transposed before the operation, otherwise the matrix is used as is.

◆ vx_unpublish_kernels_f

typedef vx_status(VX_API_CALL * vx_unpublish_kernels_f) (vx_context context)

The type of the vxUnpublishKernels entry function of modules loaded by vxLoadKernels and unloaded by vxUnloadKernels.

Parameters
[in]contextThe reference to the context kernels have been added to.

Enumeration Type Documentation

◆ vx_accessor_e

The memory accessor hint flags. These enumeration values are used to indicate desired system behavior, not the User intent. For example: these can be interpretted as hints to the system about cache operations or marshalling operations.

Enumerator
VX_READ_ONLY 

The memory shall be treated by the system as if it were read-only. If the User writes to this memory, the results are implementation defined.

VX_WRITE_ONLY 

The memory shall be treated by the system as if it were write-only. If the User reads from this memory, the results are implementation defined.

VX_READ_AND_WRITE 

The memory shall be treated by the system as if it were readable and writeable.

◆ vx_action_e

A return code enumeration from a vx_nodecomplete_f during execution.

See also
vxAssignNodeCallback
Enumerator
VX_ACTION_CONTINUE 

Continue executing the graph with no changes.

VX_ACTION_ABANDON 

Stop executing the graph.

◆ vx_array_attribute_e

The array object attributes.

Enumerator
VX_ARRAY_ITEMTYPE 

The type of the Array items. Read-only. Use a vx_enum parameter.

VX_ARRAY_NUMITEMS 

The number of items in the Array. Read-only. Use a vx_size parameter.

VX_ARRAY_CAPACITY 

The maximal number of items that the Array can hold. Read-only. Use a vx_size parameter.

VX_ARRAY_ITEMSIZE 

Queries an array item size. Read-only. Use a vx_size parameter.

◆ vx_bool_e

enum vx_bool_e

A Boolean value. This allows 0 to be FALSE, as it is in C, and any non-zero to be TRUE.

if (ret) printf("true!\n");
ret = vx_false_e;
if (!ret) printf("false!\n");
@ vx_true_e
The "true" value.
Definition: vx_types.h:305
@ vx_false_e
The "false" value.
Definition: vx_types.h:303
vx_enum vx_bool
A formal boolean type with known fixed size.
Definition: vx_types.h:312

This would print both strings.

See also
vx_bool
Enumerator
vx_false_e 

The "false" value.

vx_true_e 

The "true" value.

◆ vx_border_e

The border mode list.

Enumerator
VX_BORDER_UNDEFINED 

No defined border mode behavior is given.

VX_BORDER_CONSTANT 

For nodes that support this behavior, a constant value is filled-in when accessing out-of-bounds pixels.

VX_BORDER_REPLICATE 

For nodes that support this behavior, a replication of the nearest edge pixels value is given for out-of-bounds pixels.

◆ vx_border_policy_e

The unsupported border mode policy list.

Enumerator
VX_BORDER_POLICY_DEFAULT_TO_UNDEFINED 

Use VX_BORDER_UNDEFINED instead of unsupported border modes.

VX_BORDER_POLICY_RETURN_ERROR 

Return VX_ERROR_NOT_SUPPORTED for unsupported border modes.

◆ vx_channel_e

The channel enumerations for channel extractions.

See also
vxChannelExtractNode
vxuChannelExtract
VX_KERNEL_CHANNEL_EXTRACT
Enumerator
VX_CHANNEL_0 

Used by formats with unknown channel types.

VX_CHANNEL_1 

Used by formats with unknown channel types.

VX_CHANNEL_2 

Used by formats with unknown channel types.

VX_CHANNEL_3 

Used by formats with unknown channel types.

VX_CHANNEL_R 

Use to extract the RED channel, no matter the byte or packing order.

VX_CHANNEL_G 

Use to extract the GREEN channel, no matter the byte or packing order.

VX_CHANNEL_B 

Use to extract the BLUE channel, no matter the byte or packing order.

VX_CHANNEL_A 

Use to extract the ALPHA channel, no matter the byte or packing order.

VX_CHANNEL_Y 

Use to extract the LUMA channel, no matter the byte or packing order.

VX_CHANNEL_U 

Use to extract the Cb/U channel, no matter the byte or packing order.

VX_CHANNEL_V 

Use to extract the Cr/V/Value channel, no matter the byte or packing order.

◆ vx_channel_range_e

The image channel range list used by the VX_IMAGE_RANGE attribute of a vx_image.

Enumerator
VX_CHANNEL_RANGE_FULL 

Full range of the unit of the channel.

VX_CHANNEL_RANGE_RESTRICTED 

Restricted range of the unit of the channel based on the space given.

◆ vx_color_space_e

The image color space list used by the VX_IMAGE_SPACE attribute of a vx_image.

Enumerator
VX_COLOR_SPACE_NONE 

Use to indicate that no color space is used.

VX_COLOR_SPACE_BT601_525 

Use to indicate that the BT.601 coefficients and SMPTE C primaries are used for conversions.

VX_COLOR_SPACE_BT601_625 

Use to indicate that the BT.601 coefficients and BTU primaries are used for conversions.

VX_COLOR_SPACE_BT709 

Use to indicate that the BT.709 coefficients are used for conversions.

VX_COLOR_SPACE_DEFAULT 

All images in VX are by default BT.709.

◆ vx_comp_metric_e

comparing metrics.

In all the equations below w and h are width and height of the template image respectively. \( R \) is the compare map. \( T \) is the template image. \( I \) is the image on which the template is searched.

Enumerator
VX_COMPARE_HAMMING 

hamming distance \( R(x,y) = \frac{1}{w*h}\sum_{\grave{x},\grave{y}}^{w,h} XOR(T(\grave{x},\grave{y}),I(x+\grave{x},y+\grave{y}))\)

VX_COMPARE_L1 

L1 distance \( R(x,y) = \frac{1}{w*h}\sum_{\grave{x},\grave{y}}^{w,h} ABS(T(\grave{x},\grave{y}) - I(x+\grave{x},y+\grave{y}))\).

VX_COMPARE_L2 

L2 distance normalized by image size \( R(x,y) = \frac{1}{w*h}\sum_{\grave{x},\grave{y}}^{w,h} (T(\grave{x},\grave{y}) - I(x+\grave{x},y+\grave{y}))^2\).

VX_COMPARE_CCORR 

cross correlation distance \( R(x,y) = \frac{1}{w*h}\sum_{\grave{x},\grave{y}}^{w,h} (T(\grave{x},\grave{y})*I(x+\grave{x},y+\grave{y}))\)

VX_COMPARE_L2_NORM 

L2 normalized distance \( R(x,y) = \frac{\sum_{\grave{x},\grave{y}}^{w,h} (T(\grave{x},\grave{y}) - I(x+\grave{x},y+\grave{y}))^2} {\sqrt{\sum_{\grave{x},\grave{y}}^{w,h} T(\grave{x},\grave{y})^2 * I(x+\grave{x},y+\grave{y})^2}} \).

VX_COMPARE_CCORR_NORM 

cross correlation normalized distance \( R(x,y) = \frac{\sum_{\grave{x},\grave{y}}^{w,h} T(\grave{x},\grave{y}) * I(x+\grave{x},y+\grave{y})*2^{15}} {\sqrt{\sum_{\grave{x},\grave{y}}^{w,h} T(\grave{x},\grave{y})^2 * I(x+\grave{x},y+\grave{y})^2}} \)

◆ vx_context_attribute_e

A list of context attributes.

Enumerator
VX_CONTEXT_VENDOR_ID 

Queries the unique vendor ID. Read-only. Use a vx_uint16.

VX_CONTEXT_VERSION 

Queries the OpenVX Version Number. Read-only. Use a vx_uint16

VX_CONTEXT_UNIQUE_KERNELS 

Queries the context for the number of unique kernels. Read-only. Use a vx_uint32 parameter.

VX_CONTEXT_MODULES 

Queries the context for the number of active modules. Read-only. Use a vx_uint32 parameter.

VX_CONTEXT_REFERENCES 

Queries the context for the number of active references. Read-only. Use a vx_uint32 parameter.

VX_CONTEXT_IMPLEMENTATION 

Queries the context for it's implementation name. Read-only. Use a vx_char[VX_MAX_IMPLEMENTATION_NAME] array.

VX_CONTEXT_EXTENSIONS_SIZE 

Queries the number of bytes in the extensions string. Read-only. Use a vx_size parameter.

VX_CONTEXT_EXTENSIONS 

Retrieves the extensions string. Read-only. This is a space-separated string of extension names. Each OpenVX official extension has a unique identifier, comprised of capital letters, numbers and the underscore character, prefixed with "KHR_", for example "KHR_NEW_FEATURE". Use a vx_char pointer allocated to the size returned from VX_CONTEXT_EXTENSIONS_SIZE.

VX_CONTEXT_CONVOLUTION_MAX_DIMENSION 

The maximum width or height of a convolution matrix. Read-only. Use a vx_size parameter. Each vendor must support centered kernels of size w X h, where both w and h are odd numbers, 3 <= w <= n and 3 <= h <= n, where n is the value of the VX_CONTEXT_CONVOLUTION_MAX_DIMENSION attribute. n is an odd number that should not be smaller than 9. w and h may or may not be equal to each other. All combinations of w and h meeting the conditions above must be supported. The behavior of vxCreateConvolution is undefined for values larger than the value returned by this attribute.

VX_CONTEXT_OPTICAL_FLOW_MAX_WINDOW_DIMENSION 

The maximum window dimension of the OpticalFlowPyrLK kernel. The value of this attribute shall be equal to or greater than '9'.

See also
VX_KERNEL_OPTICAL_FLOW_PYR_LK. Read-only. Use a vx_size parameter.
VX_CONTEXT_IMMEDIATE_BORDER 

The border mode for immediate mode functions.

Graph mode functions are unaffected by this attribute. Read-write. Use a pointer to a vx_border_t structure as parameter.

Note
The assumed default value for immediate mode functions is VX_BORDER_UNDEFINED.
VX_CONTEXT_UNIQUE_KERNEL_TABLE 

Returns the table of all unique the kernels that exist in the context. Read-only. Use a vx_kernel_info_t array.

Precondition
You must call vxQueryContext with VX_CONTEXT_UNIQUE_KERNELS to compute the necessary size of the array.
VX_CONTEXT_IMMEDIATE_BORDER_POLICY 

The unsupported border mode policy for immediate mode functions. Read-Write.

Graph mode functions are unaffected by this attribute. Use a vx_enum as parameter. Will contain a vx_border_policy_e.

Note
The assumed default value for immediate mode functions is VX_BORDER_POLICY_DEFAULT_TO_UNDEFINED. Users should refer to the documentation of their implementation to determine what border modes are supported by each kernel.
VX_CONTEXT_NONLINEAR_MAX_DIMENSION 

The dimension of the largest nonlinear filter supported. See vxNonLinearFilterNode.

The implementation must support all dimensions (height or width, not necessarily the same) up to the value of this attribute. The lowest value that must be supported for this attribute is 9. Read-only. Use a vx_size parameter.

VX_CONTEXT_MAX_TENSOR_DIMS 

tensor Data maximal number of dimensions supported by the implementation.

◆ vx_convert_policy_e

The Conversion Policy Enumeration.

Enumerator
VX_CONVERT_POLICY_WRAP 

Results are the least significant bits of the output operand, as if stored in two's complement binary format in the size of its bit-depth.

VX_CONVERT_POLICY_SATURATE 

Results are saturated to the bit depth of the output operand.

◆ vx_convolution_attribute_e

The convolution attributes.

Enumerator
VX_CONVOLUTION_ROWS 

The number of rows of the convolution matrix. Read-only. Use a vx_size parameter.

VX_CONVOLUTION_COLUMNS 

The number of columns of the convolution matrix. Read-only. Use a vx_size parameter.

VX_CONVOLUTION_SCALE 

The scale of the convolution matrix. Read-write. Use a vx_uint32 parameter.

VX_CONVOLUTION_SIZE 

The total size of the convolution matrix in bytes. Read-only. Use a vx_size parameter.

◆ vx_delay_attribute_e

The delay attribute list.

Enumerator
VX_DELAY_TYPE 

The type of objects in the delay. Read-only. Use a vx_enum parameter.

VX_DELAY_SLOTS 

The number of items in the delay. Read-only. Use a vx_size parameter.

◆ vx_df_image_e

Based on the VX_DF_IMAGE definition.

Note
Use vx_df_image to contain these values.
Enumerator
VX_DF_IMAGE_VIRT 

A virtual image of no defined type.

VX_DF_IMAGE_RGB 

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.

VX_DF_IMAGE_RGBX 

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.

VX_DF_IMAGE_NV12 

A 2-plane YUV format of Luma (Y) and interleaved UV data at 4:2:0 sampling. This uses the BT709 full range by default.

VX_DF_IMAGE_NV21 

A 2-plane YUV format of Luma (Y) and interleaved VU data at 4:2:0 sampling. This uses the BT709 full range by default.

VX_DF_IMAGE_UYVY 

A single plane of 32-bit macro pixel of U0, Y0, V0, Y1 bytes. This uses the BT709 full range by default.

VX_DF_IMAGE_YUYV 

A single plane of 32-bit macro pixel of Y0, U0, Y1, V0 bytes. This uses the BT709 full range by default.

VX_DF_IMAGE_IYUV 

A 3 plane of 8-bit 4:2:0 sampled Y, U, V planes. This uses the BT709 full range by default.

VX_DF_IMAGE_YUV4 

A 3 plane of 8 bit 4:4:4 sampled Y, U, V planes. This uses the BT709 full range by default.

VX_DF_IMAGE_U1 

A single plane of unsigned 1-bit data packed eight pixels per byte. The least significant bit is the first pixel in each byte. See vx_imagepatch_addressing_t for more details.

VX_DF_IMAGE_U8 

A single plane of unsigned 8-bit data. The range of data is not specified, as it may be extracted from a YUV or generated.

VX_DF_IMAGE_U16 

A single plane of unsigned 16-bit data. The range of data is not specified, as it may be extracted from a YUV or generated.

VX_DF_IMAGE_S16 

A single plane of signed 16-bit data. The range of data is not specified, as it may be extracted from a YUV or generated.

VX_DF_IMAGE_U32 

A single plane of unsigned 32-bit data. The range of data is not specified, as it may be extracted from a YUV or generated.

VX_DF_IMAGE_S32 

A single plane of unsigned 32-bit data. The range of data is not specified, as it may be extracted from a YUV or generated.

◆ vx_direction_e

An indication of how a kernel will treat the given parameter.

Enumerator
VX_INPUT 

The parameter is an input only.

VX_OUTPUT 

The parameter is an output only.

◆ vx_directive_e

These enumerations are given to the vxDirective API to enable/disable platform optimizations and/or features. Directives are not optional and usually are vendor-specific, by defining a vendor range of directives and starting their enumeration from there.

See also
vxDirective
Enumerator
VX_DIRECTIVE_DISABLE_LOGGING 

Disables recording information for graph debugging.

VX_DIRECTIVE_ENABLE_LOGGING 

Enables recording information for graph debugging.

VX_DIRECTIVE_DISABLE_PERFORMANCE 

Disables performance counters for the context. By default performance counters are disabled.

VX_DIRECTIVE_ENABLE_PERFORMANCE 

Enables performance counters for the context.

◆ vx_distribution_attribute_e

The distribution attribute list.

Enumerator
VX_DISTRIBUTION_DIMENSIONS 

Indicates the number of dimensions in the distribution. Read-only. Use a vx_size parameter.

VX_DISTRIBUTION_OFFSET 

Indicates the start of the values to use (inclusive). Read-only. Use a vx_int32 parameter.

VX_DISTRIBUTION_RANGE 

Indicates the total number of the consecutive values of the distribution interval.

VX_DISTRIBUTION_BINS 

Indicates the number of bins. Read-only. Use a vx_size parameter.

VX_DISTRIBUTION_WINDOW 

Indicates the width of a bin. Equal to the range divided by the number of bins. If the range is not a multiple of the number of bins, it is not valid. Read-only. Use a vx_uint32 parameter.

VX_DISTRIBUTION_SIZE 

Indicates the total size of the distribution in bytes. Read-only. Use a vx_size parameter.

◆ vx_enum_e

enum vx_enum_e

The set of supported enumerations in OpenVX.

These can be extracted from enumerated values using VX_ENUM_TYPE.

Enumerator
VX_ENUM_DIRECTION 

Parameter Direction.

VX_ENUM_ACTION 

Action Codes.

VX_ENUM_HINT 

Hint Values.

VX_ENUM_DIRECTIVE 

Directive Values.

VX_ENUM_INTERPOLATION 

Interpolation Types.

VX_ENUM_OVERFLOW 

Overflow Policies.

VX_ENUM_COLOR_SPACE 

Color Space.

VX_ENUM_COLOR_RANGE 

Color Space Range.

VX_ENUM_PARAMETER_STATE 

Parameter State.

VX_ENUM_CHANNEL 

Channel Name.

VX_ENUM_CONVERT_POLICY 

Convert Policy.

VX_ENUM_THRESHOLD_TYPE 

Threshold Type List.

VX_ENUM_BORDER 

Border Mode List.

VX_ENUM_COMPARISON 

Comparison Values.

VX_ENUM_MEMORY_TYPE 

The memory type enumeration.

VX_ENUM_TERM_CRITERIA 

A termination criteria.

VX_ENUM_NORM_TYPE 

A norm type.

VX_ENUM_ACCESSOR 

An accessor flag type.

VX_ENUM_ROUND_POLICY 

Rounding Policy.

VX_ENUM_TARGET 

Target.

VX_ENUM_BORDER_POLICY 

Unsupported Border Mode Policy List.

VX_ENUM_GRAPH_STATE 

Graph attribute states.

VX_ENUM_NONLINEAR 

Non-linear function list.

VX_ENUM_PATTERN 

Matrix pattern enumeration.

VX_ENUM_LBP_FORMAT 

Lbp format.

VX_ENUM_COMP_METRIC 

Compare metric.

VX_ENUM_SCALAR_OPERATION 

Scalar operation list.

◆ vx_graph_attribute_e

The graph attributes list.

Enumerator
VX_GRAPH_NUMNODES 

Returns the number of nodes in a graph. Read-only. Use a vx_uint32 parameter.

VX_GRAPH_PERFORMANCE 

Returns the overall performance of the graph. Read-only. Use a vx_perf_t parameter. The accuracy of timing information is platform dependent.

Note
Performance tracking must have been enabled. See vx_directive_e
VX_GRAPH_NUMPARAMETERS 

Returns the number of explicitly declared parameters on the graph. Read-only. Use a vx_uint32 parameter.

VX_GRAPH_STATE 

Returns the state of the graph. See vx_graph_state_e enum.

◆ vx_graph_state_e

The Graph State Enumeration.

Enumerator
VX_GRAPH_STATE_UNVERIFIED 

The graph should be verified before execution.

VX_GRAPH_STATE_VERIFIED 

The graph has been verified and has not been executed or scheduled for execution yet.

VX_GRAPH_STATE_RUNNING 

The graph either has been scheduled and not completed, or is being executed.

VX_GRAPH_STATE_ABANDONED 

The graph execution was abandoned.

VX_GRAPH_STATE_COMPLETED 

The graph execution is completed and the graph is not scheduled for execution.

◆ vx_hint_e

enum vx_hint_e

These enumerations are given to the vxHint API to enable/disable platform optimizations and/or features. Hints are optional and usually are vendor-specific.

See also
vxHint
Enumerator
VX_HINT_PERFORMANCE_DEFAULT 

Indicates to the implementation that user do not apply any specific requirements for performance.

VX_HINT_PERFORMANCE_LOW_POWER 

Indicates the user preference is low power consumption versus highest performance.

VX_HINT_PERFORMANCE_HIGH_SPEED 

Indicates the user preference for highest performance over low power consumption.

◆ vx_image_attribute_e

The image attributes list.

Enumerator
VX_IMAGE_WIDTH 

Queries an image for its width. Read-only. Use a vx_uint32 parameter.

VX_IMAGE_HEIGHT 

Queries an image for its height. Read-only. Use a vx_uint32 parameter.

VX_IMAGE_FORMAT 

Queries an image for its format. Read-only. Use a vx_df_image parameter.

VX_IMAGE_PLANES 

Queries an image for its number of planes. Read-only. Use a vx_size parameter.

VX_IMAGE_SPACE 

Queries an image for its color space (see vx_color_space_e). Read-write. Use a vx_enum parameter.

VX_IMAGE_RANGE 

Queries an image for its channel range (see vx_channel_range_e). Read-only. Use a vx_enum parameter.

VX_IMAGE_MEMORY_TYPE 

Queries memory type if created using vxCreateImageFromHandle. If vx_image was not created using vxCreateImageFromHandle, VX_MEMORY_TYPE_NONE is returned. Use a vx_memory_type_e parameter.

VX_IMAGE_IS_UNIFORM 

Queries if an image is uniform. Read-only. Use a vx_bool parameter.

VX_IMAGE_UNIFORM_VALUE 

Queries the image uniform value if any. Read-only. Use a vx_pixel_value_t parameter.

◆ vx_interpolation_type_e

The image reconstruction filters supported by image resampling operations.

The edge of a pixel is interpreted as being aligned to the edge of the image. The value for an output pixel is evaluated at the center of that pixel.

This means, for example, that an even enlargement of a factor of two in nearest-neighbor interpolation will replicate every source pixel into a 2x2 quad in the destination, and that an even shrink by a factor of two in bilinear interpolation will create each destination pixel by average a 2x2 quad of source pixels.

Samples that cross the boundary of the source image have values determined by the border mode - see vx_border_e and VX_NODE_BORDER.

See also
vxuScaleImage
vxScaleImageNode
VX_KERNEL_SCALE_IMAGE
vxuWarpAffine
vxWarpAffineNode
VX_KERNEL_WARP_AFFINE
vxuWarpPerspective
vxWarpPerspectiveNode
VX_KERNEL_WARP_PERSPECTIVE
Enumerator
VX_INTERPOLATION_NEAREST_NEIGHBOR 

Output values are defined to match the source pixel whose center is nearest to the sample position.

VX_INTERPOLATION_BILINEAR 

Output values are defined by bilinear interpolation between the pixels whose centers are closest to the sample position, weighted linearly by the distance of the sample from the pixel centers.

VX_INTERPOLATION_AREA 

Output values are determined by averaging the source pixels whose areas fall under the area of the destination pixel, projected onto the source image.

◆ vx_kernel_attribute_e

The kernel attributes list.

Enumerator
VX_KERNEL_PARAMETERS 

Queries a kernel for the number of parameters the kernel supports. Read-only. Use a vx_uint32 parameter.

VX_KERNEL_NAME 

Queries the name of the kernel. Not settable. Read-only. Use a vx_char[VX_MAX_KERNEL_NAME] array (not a vx_array).

VX_KERNEL_ENUM 

Queries the enum of the kernel. Not settable. Read-only. Use a vx_enum parameter.

VX_KERNEL_LOCAL_DATA_SIZE 

The local data area allocated with each kernel when it becomes a node. Read-write. Can be written only before user-kernel finalization. Use a vx_size parameter.

Note
If not set it will default to zero.

◆ vx_lbp_format_e

Local binary pattern supported.

Enumerator
VX_LBP 

local binary pattern

VX_MLBP 

Modified Local Binary Patterns.

VX_ULBP 

Uniform local binary pattern.

◆ vx_lut_attribute_e

The Look-Up Table (LUT) attribute list.

Enumerator
VX_LUT_TYPE 

Indicates the value type of the LUT. Read-only. Use a vx_enum.

VX_LUT_COUNT 

Indicates the number of elements in the LUT. Read-only. Use a vx_size.

VX_LUT_SIZE 

Indicates the total size of the LUT in bytes. Read-only. Uses a vx_size.

VX_LUT_OFFSET 

Indicates the index of the input value = 0. Read-only. Uses a vx_uint32.

◆ vx_map_flag_e

The Map/Unmap operation enumeration.

Enumerator
VX_NOGAP_X 

No Gap.

◆ vx_matrix_attribute_e

The matrix attributes.

Enumerator
VX_MATRIX_TYPE 

The value type of the matrix. Read-only. Use a vx_enum parameter.

VX_MATRIX_ROWS 

The M dimension of the matrix. Read-only. Use a vx_size parameter.

VX_MATRIX_COLUMNS 

The N dimension of the matrix. Read-only. Use a vx_size parameter.

VX_MATRIX_SIZE 

The total size of the matrix in bytes. Read-only. Use a vx_size parameter.

VX_MATRIX_ORIGIN 

The origin of the matrix with a default value of [floor(VX_MATRIX_COLUMNS/2), floor(VX_MATRIX_ROWS/2)]. Read-only. Use a vx_coordinates2d_t parameter.

VX_MATRIX_PATTERN 

The pattern of the matrix. See vx_pattern_e . Read-only. Use a vx_enum parameter. If the matrix was created via vxCreateMatrixFromPattern or vxCreateMatrixFromPatternAndOrigin, the attribute corresponds to the given pattern. Otherwise the attribute is VX_PATTERN_OTHER.

◆ vx_memory_type_e

An enumeration of memory import types.

Enumerator
VX_MEMORY_TYPE_NONE 

For memory allocated through OpenVX, this is the import type.

VX_MEMORY_TYPE_HOST 

The default memory type to import from the Host.

◆ vx_meta_valid_rect_attribute_e

The meta valid rectangle attributes.

Enumerator
VX_VALID_RECT_CALLBACK 

Valid rectangle callback during output parameter validation. Write-only.

◆ vx_node_attribute_e

The node attributes list.

Enumerator
VX_NODE_STATUS 

Queries the status of node execution. Read-only. Use a vx_status parameter.

VX_NODE_PERFORMANCE 

Queries the performance of the node execution. The accuracy of timing information is platform dependent and also depends on the graph optimizations. Read-only.

Note
Performance tracking must have been enabled. See vx_directive_e.
VX_NODE_BORDER 

Gets or sets the border mode of the node. Read-write. Use a vx_border_t structure with a default value of VX_BORDER_UNDEFINED.

VX_NODE_LOCAL_DATA_SIZE 

Indicates the size of the kernel local memory area. Read-only. Can be written only at user-node (de)initialization if VX_KERNEL_LOCAL_DATA_SIZE==0. Use a vx_size parameter.

VX_NODE_LOCAL_DATA_PTR 

Indicates the pointer kernel local memory area. Read-Write. Can be written only at user-node (de)initialization if VX_KERNEL_LOCAL_DATA_SIZE==0. Use a void * parameter.

VX_NODE_PARAMETERS 

Indicates the number of node parameters, including optional parameters that are not passed. Read-only. Use a vx_uint32 parameter.

VX_NODE_IS_REPLICATED 

Indicates whether the node is replicated. Read-only. Use a vx_bool parameter.

VX_NODE_REPLICATE_FLAGS 

Indicates the replicated parameters. Read-only. Use a vx_bool* parameter.

VX_NODE_VALID_RECT_RESET 

Indicates the behavior with respect to the valid rectangle. Read-only. Use a vx_bool parameter.

◆ vx_non_linear_filter_e

An enumeration of non-linear filter functions.

Enumerator
VX_NONLINEAR_FILTER_MEDIAN 

Nonlinear median filter.

VX_NONLINEAR_FILTER_MIN 

Nonlinear Erode.

VX_NONLINEAR_FILTER_MAX 

Nonlinear Dilate.

◆ vx_norm_type_e

A normalization type.

See also
group_vision_function_canny
Enumerator
VX_NORM_L1 

The L1 normalization.

VX_NORM_L2 

The L2 normalization.

◆ vx_object_array_attribute_e

The ObjectArray object attributes.

Enumerator
VX_OBJECT_ARRAY_ITEMTYPE 

The type of the ObjectArray items. Read-only. Use a vx_enum parameter.

VX_OBJECT_ARRAY_NUMITEMS 

The number of items in the ObjectArray. Read-only. Use a vx_size parameter.

◆ vx_parameter_attribute_e

The parameter attributes list.

Enumerator
VX_PARAMETER_INDEX 

Queries a parameter for its index value on the kernel with which it is associated. Read-only. Use a vx_uint32 parameter.

VX_PARAMETER_DIRECTION 

Queries a parameter for its direction value on the kernel with which it is associated. Read-only. Use a vx_enum parameter.

VX_PARAMETER_TYPE 

Queries a parameter for its type, vx_type_e is returned. Read-only. The size of the parameter is implied for plain data objects. For opaque data objects like images and arrays a query to their attributes has to be called to determine the size.

VX_PARAMETER_STATE 

Queries a parameter for its state. A value in vx_parameter_state_e is returned. Read-only. Use a vx_enum parameter.

VX_PARAMETER_REF 

Use to extract the reference contained in the parameter. Read-only. Use a vx_reference parameter.

VX_PARAMETER_META_FORMAT 

Use to extract the meta format contained in the parameter. Read-only. Use a vx_meta_format parameter.

◆ vx_parameter_state_e

The parameter state type.

Enumerator
VX_PARAMETER_STATE_REQUIRED 

Default. The parameter must be supplied. If not set, during Verify, an error is returned.

VX_PARAMETER_STATE_OPTIONAL 

The parameter may be unspecified. The kernel takes care not to deference optional parameters until it is certain they are valid.

◆ vx_pattern_e

An enumeration of matrix patterns. See vxCreateMatrixFromPattern and vxCreateMatrixFromPatternAndOrigin

Enumerator
VX_PATTERN_BOX 

Box pattern matrix.

VX_PATTERN_CROSS 

Cross pattern matrix.

VX_PATTERN_DISK 

A square matrix (rows = columns = size)

VX_PATTERN_OTHER 

Matrix with any pattern other than above.

◆ vx_pyramid_attribute_e

The pyramid object attributes.

Enumerator
VX_PYRAMID_LEVELS 

The number of levels of the pyramid. Read-only. Use a vx_size parameter.

VX_PYRAMID_SCALE 

The scale factor between each level of the pyramid. Read-only. Use a vx_float32 parameter.

VX_PYRAMID_WIDTH 

The width of the 0th image in pixels. Read-only. Use a vx_uint32 parameter.

VX_PYRAMID_HEIGHT 

The height of the 0th image in pixels. Read-only. Use a vx_uint32 parameter.

VX_PYRAMID_FORMAT 

The vx_df_image_e format of the image. Read-only. Use a vx_df_image parameter.

◆ vx_reference_attribute_e

The reference attributes list.

Enumerator
VX_REFERENCE_COUNT 

Returns the reference count of the object. Read-only. Use a vx_uint32 parameter.

VX_REFERENCE_TYPE 

Returns the vx_type_e of the reference. Read-only. Use a vx_enum parameter.

VX_REFERENCE_NAME 

Used to query the reference for its name. Read-write. Use a *vx_char parameter.

◆ vx_remap_attribute_e

The remap object attributes.

Enumerator
VX_REMAP_SOURCE_WIDTH 

The source width. Read-only. Use a vx_uint32 parameter.

VX_REMAP_SOURCE_HEIGHT 

The source height. Read-only. Use a vx_uint32 parameter.

VX_REMAP_DESTINATION_WIDTH 

The destination width. Read-only. Use a vx_uint32 parameter.

VX_REMAP_DESTINATION_HEIGHT 

The destination height. Read-only. Use a vx_uint32 parameter.

◆ vx_round_policy_e

The Round Policy Enumeration.

Enumerator
VX_ROUND_POLICY_TO_ZERO 

When scaling, this truncates the least significant values that are lost in operations.

VX_ROUND_POLICY_TO_NEAREST_EVEN 

When scaling, this rounds to nearest even output value.

◆ vx_scalar_attribute_e

The scalar attributes list.

Enumerator
VX_SCALAR_TYPE 

Queries the type of atomic that is contained in the scalar. Read-only. Use a vx_enum parameter.

◆ vx_scalar_operation_e

A type of operation in which both operands are scalars.

See also
group_scalar
Enumerator
VX_SCALAR_OP_AND 

logical and.

VX_SCALAR_OP_OR 

logical or.

VX_SCALAR_OP_XOR 

logical exclusive or.

VX_SCALAR_OP_NAND 

logical nand.

VX_SCALAR_OP_EQUAL 

comparison (equal).

VX_SCALAR_OP_NOTEQUAL 

comparison (not equal).

VX_SCALAR_OP_LESS 

comparison (less than).

VX_SCALAR_OP_LESSEQ 

comparison (less than or equal to).

VX_SCALAR_OP_GREATER 

comparison (greater than).

VX_SCALAR_OP_GREATEREQ 

comparison (greater than or equal to).

VX_SCALAR_OP_ADD 

arithmetic addition.

VX_SCALAR_OP_SUBTRACT 

arithmetic subtraction.

VX_SCALAR_OP_MULTIPLY 

arithmetic multiplication.

VX_SCALAR_OP_DIVIDE 

arithmetic division.

VX_SCALAR_OP_MODULUS 

arithmetic (modulo operator).

VX_SCALAR_OP_MIN 

minimum of two scalars.

VX_SCALAR_OP_MAX 

maximum of two scalars.

◆ vx_status_e

The enumeration of all status codes.

See also
vx_status.
Enumerator
VX_STATUS_MIN 

Indicates the lower bound of status codes in VX. Used for bounds checks only.

VX_ERROR_REFERENCE_NONZERO 

Indicates that an operation did not complete due to a reference count being non-zero.

VX_ERROR_MULTIPLE_WRITERS 

Indicates that the graph has more than one node outputting to the same data object. This is an invalid graph structure.

VX_ERROR_GRAPH_ABANDONED 

Indicates that the graph is stopped due to an error or a callback that abandoned execution.

VX_ERROR_GRAPH_SCHEDULED 

Indicates that the supplied graph already has been scheduled and may be currently executing.

VX_ERROR_INVALID_SCOPE 

Indicates that the supplied parameter is from another scope and cannot be used in the current scope.

VX_ERROR_INVALID_NODE 

Indicates that the supplied node could not be created.

VX_ERROR_INVALID_GRAPH 

Indicates that the supplied graph has invalid connections (cycles).

VX_ERROR_INVALID_TYPE 

Indicates that the supplied type parameter is incorrect.

VX_ERROR_INVALID_VALUE 

Indicates that the supplied parameter has an incorrect value.

VX_ERROR_INVALID_DIMENSION 

Indicates that the supplied parameter is too big or too small in dimension.

VX_ERROR_INVALID_FORMAT 

Indicates that the supplied parameter is in an invalid format.

VX_ERROR_INVALID_LINK 

Indicates that the link is not possible as specified. The parameters are incompatible.

VX_ERROR_INVALID_REFERENCE 

Indicates that the reference provided is not valid.

VX_ERROR_INVALID_MODULE 

This is returned from vxLoadKernels when the module does not contain the entry point.

VX_ERROR_INVALID_PARAMETERS 

Indicates that the supplied parameter information does not match the kernel contract.

VX_ERROR_OPTIMIZED_AWAY 

Indicates that the object refered to has been optimized out of existence.

VX_ERROR_NO_MEMORY 

Indicates that an internal or implicit allocation failed. Typically catastrophic. After detection, deconstruct the context.

See also
vxVerifyGraph.
VX_ERROR_NO_RESOURCES 

Indicates that an internal or implicit resource can not be acquired (not memory). This is typically catastrophic. After detection, deconstruct the context.

See also
vxVerifyGraph.
VX_ERROR_NOT_COMPATIBLE 

Indicates that the attempt to link two parameters together failed due to type incompatibilty.

VX_ERROR_NOT_ALLOCATED 

Indicates to the system that the parameter must be allocated by the system.

VX_ERROR_NOT_SUFFICIENT 

Indicates that the given graph has failed verification due to an insufficient number of required parameters, which cannot be automatically created. Typically this indicates required atomic parameters.

See also
vxVerifyGraph.
VX_ERROR_NOT_SUPPORTED 

Indicates that the requested set of parameters produce a configuration that cannot be supported. Refer to the supplied documentation on the configured kernels.

See also
vx_kernel_e. This is also returned if a function to set an attribute is called on a Read-only attribute.
VX_ERROR_NOT_IMPLEMENTED 

Indicates that the requested kernel is missing.

See also
vx_kernel_e vxGetKernelByName.
VX_FAILURE 

Indicates a generic error code, used when no other describes the error.

VX_SUCCESS 

No error.

◆ vx_target_e

The Target Enumeration.

Enumerator
VX_TARGET_ANY 

Any available target. An OpenVX implementation must support at least one target associated with this value.

VX_TARGET_STRING 

Target, explicitly specified by its (case-insensitive) name string.

VX_TARGET_VENDOR_BEGIN 

Start of Vendor specific target enumerates.

◆ vx_tensor_attribute_e

tensor Data attributes.

Enumerator
VX_TENSOR_NUMBER_OF_DIMS 

Number of dimensions.

VX_TENSOR_DIMS 

Dimension sizes.

VX_TENSOR_DATA_TYPE 

tensor Data element data type. vx_type_e

VX_TENSOR_FIXED_POINT_POSITION 

fixed point position when the input element type is integer.

◆ vx_termination_criteria_e

The termination criteria list.

See also
group_vision_function_opticalflowpyrlk
Enumerator
VX_TERM_CRITERIA_ITERATIONS 

Indicates a termination after a set number of iterations.

VX_TERM_CRITERIA_EPSILON 

Indicates a termination after matching against the value of eplison provided to the function.

VX_TERM_CRITERIA_BOTH 

Indicates that both an iterations and eplison method are employed. Whichever one matches first causes the termination.

◆ vx_threshold_attribute_e

The threshold attributes.

Enumerator
VX_THRESHOLD_TYPE 

The value type of the threshold. Read-only. Use a vx_enum parameter. Will contain a vx_threshold_type_e.

VX_THRESHOLD_INPUT_FORMAT 

The input image format the threshold was created for. Read-only. Use a vx_enum parameter. Will contain a vx_df_image_e.

VX_THRESHOLD_OUTPUT_FORMAT 

The output image format the threshold was created for. Read-only. Use a vx_enum parameter. Will contain a vx_df_image_e.

◆ vx_threshold_type_e

The Threshold types.

Enumerator
VX_THRESHOLD_TYPE_BINARY 

A threshold with only 1 value.

VX_THRESHOLD_TYPE_RANGE 

A threshold with 2 values (upper/lower). Use with Canny Edge Detection.

◆ vx_type_e

enum vx_type_e

The type enumeration lists all the known types in OpenVX.

Enumerator
VX_TYPE_INVALID 

An invalid type value. When passed an error must be returned.

VX_TYPE_CHAR 

A vx_char.

VX_TYPE_INT8 

A vx_int8.

VX_TYPE_UINT8 

A vx_uint8.

VX_TYPE_INT16 

A vx_int16.

VX_TYPE_UINT16 

A vx_uint16.

VX_TYPE_INT32 

A vx_int32.

VX_TYPE_UINT32 

A vx_uint32.

VX_TYPE_INT64 

A vx_int64.

VX_TYPE_UINT64 

A vx_uint64.

VX_TYPE_FLOAT32 

A vx_float32.

VX_TYPE_FLOAT64 

A vx_float64.

VX_TYPE_ENUM 

A vx_enum. Equivalent in size to a vx_int32.

VX_TYPE_SIZE 

A vx_size.

VX_TYPE_DF_IMAGE 

A vx_df_image.

VX_TYPE_FLOAT16 

A vx_float16.

VX_TYPE_BOOL 

A vx_bool.

VX_TYPE_RECTANGLE 

A vx_rectangle_t.

VX_TYPE_KEYPOINT 

A vx_keypoint_t.

VX_TYPE_COORDINATES2D 

A vx_coordinates2d_t.

VX_TYPE_COORDINATES3D 

A vx_coordinates3d_t.

VX_TYPE_COORDINATES2DF 

A vx_coordinates2df_t.

VX_TYPE_HOG_PARAMS 

A vx_hog_t.

VX_TYPE_HOUGH_LINES_PARAMS 

A vx_hough_lines_p_t.

VX_TYPE_LINE_2D 

A vx_line2d_t.

VX_TYPE_TENSOR_MATRIX_MULTIPLY_PARAMS 

A vx_tensor_matrix_multiply_params_t.

VX_TYPE_USER_STRUCT_START 

A user-defined struct base index.

VX_TYPE_VENDOR_STRUCT_START 

A vendor-defined struct base index.

VX_TYPE_KHRONOS_OBJECT_START 

A Khronos defined object base index.

VX_TYPE_VENDOR_OBJECT_START 

A vendor defined object base index.

VX_TYPE_KHRONOS_STRUCT_MAX 

A value for comparison between Khronos defined structs and user structs.

VX_TYPE_USER_STRUCT_END 

A value for comparison between user structs and vendor structs.

VX_TYPE_VENDOR_STRUCT_END 

A value for comparison between vendor structs and Khronos defined objects.

VX_TYPE_KHRONOS_OBJECT_END 

A value for comparison between Khronos defined objects and vendor structs.

VX_TYPE_VENDOR_OBJECT_END 

A value used for bound checking of vendor objects.

VX_TYPE_REFERENCE 

A vx_reference.

VX_TYPE_CONTEXT 

A vx_context.

VX_TYPE_GRAPH 

A vx_graph.

VX_TYPE_NODE 

A vx_node.

VX_TYPE_KERNEL 

A vx_kernel.

VX_TYPE_PARAMETER 

A vx_parameter.

VX_TYPE_DELAY 

A vx_delay.

VX_TYPE_LUT 

A vx_lut.

VX_TYPE_DISTRIBUTION 

A vx_distribution.

VX_TYPE_PYRAMID 

A vx_pyramid.

VX_TYPE_THRESHOLD 

A vx_threshold.

VX_TYPE_MATRIX 

A vx_matrix.

VX_TYPE_CONVOLUTION 

A vx_convolution.

VX_TYPE_SCALAR 

A vx_scalar. when needed to be completely generic for kernel validation.

VX_TYPE_ARRAY 

A vx_array.

VX_TYPE_IMAGE 

A vx_image.

VX_TYPE_REMAP 

A vx_remap.

VX_TYPE_ERROR 

An error object which has no type.

VX_TYPE_META_FORMAT 

A vx_meta_format.

VX_TYPE_OBJECT_ARRAY 

A vx_object_array.

VX_TYPE_TENSOR 

A vx_tensor.