VisionWorks Toolkit Reference

December 18, 2015 | 1.2 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
vx_types.h File Reference

Detailed Description

The type definitions required by OpenVX Library.

Definition in file vx_types.h.

Go to the source code of this file.

Data Structures

struct  vx_border_mode_t
 Use with the enumeration VX_NODE_ATTRIBUTE_BORDER_MODE to set the border mode behavior of a node that supports borders. More...
 
struct  vx_coordinates2d_t
 The 2D Coordinates structure. More...
 
struct  vx_coordinates3d_t
 The 3D Coordinates structure. More...
 
struct  vx_delta_rectangle_t
 The changes in dimensions of the rectangle between input and output images in an output parameter validator. Used in conjunction with VX_META_FORMAT_ATTRIBUTE_DELTA_RECTANGLE and vxSetMetaFormatAttribute. More...
 
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_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_perf_t
 The performance measurement structure. More...
 
struct  vx_rectangle_t
 The rectangle data structure that is shared with the users. More...
 

Macros

#define VX_API_CALL
 
#define VX_ATTRIBUTE_BASE(vendor, object)   (((vendor) << 20) | (object << 8))
 Defines the manner in which to combine the Vendor and Object IDs to get the base value of the enumeration. More...
 
#define VX_ATTRIBUTE_ID_MASK   (0x000000FF)
 An object's attribute ID is within the range of \( [0,2^{8}-1] \) (inclusive). More...
 
#define VX_CALLBACK
 
#define VX_DF_IMAGE(a, b, c, d)   ((a) | (b << 8) | (c << 16) | (d << 24))
 Converts a set of four chars into a uint32_t container of a VX_DF_IMAGE code. More...
 
#define VX_ENUM_BASE(vendor, id)   (((vendor) << 20) | (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_ENUM_MASK   (0x00000FFF)
 A generic enumeration list can have values between \( [0,2^{12}-1] \) (inclusive). More...
 
#define VX_ENUM_TYPE(e)   (((vx_uint32)e & VX_ENUM_TYPE_MASK) >> 12)
 A macro to extract the enum type from an enumerated value. More...
 
#define VX_ENUM_TYPE_MASK   (0x000FF000)
 A type of enumeration. The valid range is between \( [0,2^{8}-1] \) (inclusive). More...
 
#define VX_FMT_REF   "%p"
 
#define VX_FMT_SIZE   "%zu"
 
#define VX_IMAGEPATCH_ADDR_INIT   {0u, 0u, 0, 0, 0u, 0u, 0u, 0u}
 Use to initialize a vx_imagepatch_addressing_t structure on the stack. More...
 
#define VX_KERNEL_BASE(vendor, lib)   (((vendor) << 20) | (lib << 12))
 Defines the manner in which to combine the Vendor and Library IDs to get the base value of the enumeration. More...
 
#define VX_KERNEL_MASK   (0x00000FFF)
 An individual kernel in a library has its own unique ID within \( [0,2^{12}-1] \) (inclusive). More...
 
#define VX_LIBRARY(e)   (((vx_uint32)e & VX_LIBRARY_MASK) >> 12)
 A macro to extract the kernel library enumeration from a enumerated kernel value. More...
 
#define VX_LIBRARY_MASK   (0x000FF000)
 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. More...
 
#define VX_PERF_INIT   {0ul, 0ul, 0ul, 0ul, 0ul, 0ul}
 Initializes a vx_perf_t on the stack. More...
 
#define VX_SCALE_PYRAMID_HALF   (0.5f)
 Use to indicate a half-scale pyramid. More...
 
#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}} \). More...
 
#define VX_SCALE_UNITY   (1024u)
 
#define VX_TYPE(e)   (((vx_uint32)e & VX_TYPE_MASK) >> 8)
 A macro to extract the type from an enumerated attribute value. More...
 
#define VX_TYPE_MASK   (0x000FFF00)
 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_VENDOR(e)   (((vx_uint32)e & VX_VENDOR_MASK) >> 20)
 A macro to extract the vendor ID from the enumerated value. More...
 
#define VX_VENDOR_MASK   (0xFFF00000)
 Vendor IDs are 2 nibbles in size and are located in the upper byte of the 4 bytes of an enumeration. More...
 

Typedefs

typedef vx_enum vx_action
 The formal typedef of the response from the callback. More...
 
typedef struct _vx_array * vx_array
 The Array Object. Array is a strongly-typed container for other data structures. More...
 
typedef char vx_char
 An 8 bit ASCII character. More...
 
typedef struct _vx_context * vx_context
 An opaque reference to the implementation context. More...
 
typedef struct _vx_convolution * vx_convolution
 The Convolution Object. A user-defined convolution kernel of MxM elements. 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 uint32_t vx_df_image
 Used to hold a VX_DF_IMAGE code to describe the pixel format and color space. More...
 
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). More...
 
typedef int32_t vx_enum
 Sets the standard enumeration type size to be a fixed quantity. More...
 
typedef float vx_float32
 A 32-bit float value. More...
 
typedef double vx_float64
 A 64-bit float value (aka double). More...
 
typedef struct _vx_graph * vx_graph
 An opaque reference to a graph. More...
 
typedef struct _vx_image * vx_image
 An opaque reference to an image. More...
 
typedef int16_t vx_int16
 A 16-bit signed value. More...
 
typedef int32_t vx_int32
 A 32-bit signed value. More...
 
typedef int64_t vx_int64
 A 64-bit signed value. More...
 
typedef int8_t vx_int8
 An 8-bit signed value. More...
 
typedef struct _vx_kernel * vx_kernel
 An opaque reference to the descriptor of a kernel. 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_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_input_validate_f )(vx_node node, vx_uint32 index)
 The user-defined kernel node input parameter validation function. More...
 
typedef vx_status(VX_CALLBACKvx_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 the meta data structure. 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. More...
 
typedef struct _vx_lut * vx_lut
 The Look-Up Table (LUT) Object. More...
 
typedef struct _vx_matrix * vx_matrix
 The Matrix Object. An MxN matrix of some unit type. 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. If the output object is an image, the vx_meta_format object can additionally store the valid region delta rectangle. More...
 
typedef struct _vx_node * vx_node
 An opaque reference to a kernel node. 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_parameter * vx_parameter
 An opaque reference to a single parameter. More...
 
typedef vx_status(VX_API_CALLvx_publish_kernels_f )(vx_context context)
 The entry point into modules loaded by vxLoadKernels. More...
 
typedef struct _vx_pyramid * vx_pyramid
 The Image Pyramid object. A set of scaled images. More...
 
typedef struct _vx_reference * vx_reference
 A generic opaque reference to any object within OpenVX. More...
 
typedef struct _vx_remap * vx_remap
 The remap table Object. A remap table contains per-pixel mapping of output pixels to input pixels. More...
 
typedef struct _vx_scalar * vx_scalar
 An opaque reference to a scalar. More...
 
typedef size_t vx_size
 A wrapper of size_t to keep the naming convention uniform. More...
 
typedef vx_enum vx_status
 A formal status type with known fixed size. More...
 
typedef struct _vx_threshold * vx_threshold
 The Threshold Object. A thresholding object contains the types and limit values of the thresholding required. More...
 
typedef uint16_t vx_uint16
 A 16-bit unsigned value. More...
 
typedef uint32_t vx_uint32
 A 32-bit unsigned value. More...
 
typedef uint64_t vx_uint64
 A 64-bit unsigned value. More...
 
typedef uint8_t vx_uint8
 An 8-bit unsigned value. More...
 

Enumerations

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_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_array_attribute_e {
  VX_ARRAY_ATTRIBUTE_ITEMTYPE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_ARRAY) + 0x0,
  VX_ARRAY_ATTRIBUTE_NUMITEMS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_ARRAY) + 0x1,
  VX_ARRAY_ATTRIBUTE_CAPACITY = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_ARRAY) + 0x2,
  VX_ARRAY_ATTRIBUTE_ITEMSIZE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_ARRAY) + 0x3
}
 The array object attributes. More...
 
enum  vx_bool {
  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_border_mode_e {
  VX_BORDER_MODE_UNDEFINED = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_BORDER_MODE) + 0x0,
  VX_BORDER_MODE_CONSTANT = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_BORDER_MODE) + 0x1,
  VX_BORDER_MODE_REPLICATE = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_BORDER_MODE) + 0x2
}
 The border mode list. 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_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_ATTRIBUTE_RANGE attribute of a vx_image. 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_ATTRIBUTE_SPACE attribute of a vx_image. More...
 
enum  vx_context_attribute_e {
  VX_CONTEXT_ATTRIBUTE_VENDOR_ID = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0x0,
  VX_CONTEXT_ATTRIBUTE_VERSION = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0x1,
  VX_CONTEXT_ATTRIBUTE_UNIQUE_KERNELS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0x2,
  VX_CONTEXT_ATTRIBUTE_MODULES = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0x3,
  VX_CONTEXT_ATTRIBUTE_REFERENCES = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0x4,
  VX_CONTEXT_ATTRIBUTE_IMPLEMENTATION = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0x5,
  VX_CONTEXT_ATTRIBUTE_EXTENSIONS_SIZE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0x6,
  VX_CONTEXT_ATTRIBUTE_EXTENSIONS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0x7,
  VX_CONTEXT_ATTRIBUTE_CONVOLUTION_MAXIMUM_DIMENSION = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0x8,
  VX_CONTEXT_ATTRIBUTE_OPTICAL_FLOW_WINDOW_MAXIMUM_DIMENSION = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0x9,
  VX_CONTEXT_ATTRIBUTE_IMMEDIATE_BORDER_MODE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0xA,
  VX_CONTEXT_ATTRIBUTE_UNIQUE_KERNEL_TABLE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONTEXT) + 0xB
}
 A list of context attributes. 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_convolution_attribute_e {
  VX_CONVOLUTION_ATTRIBUTE_ROWS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONVOLUTION) + 0x0,
  VX_CONVOLUTION_ATTRIBUTE_COLUMNS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONVOLUTION) + 0x1,
  VX_CONVOLUTION_ATTRIBUTE_SCALE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONVOLUTION) + 0x2,
  VX_CONVOLUTION_ATTRIBUTE_SIZE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_CONVOLUTION) + 0x3
}
 The convolution attributes. More...
 
enum  vx_delay_attribute_e {
  VX_DELAY_ATTRIBUTE_TYPE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_DELAY) + 0x0,
  VX_DELAY_ATTRIBUTE_SLOTS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_DELAY) + 0x1
}
 The delay attribute list. 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_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_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,
  VX_BIDIRECTIONAL = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_DIRECTION) + 0x2
}
 An indication of how a kernel will treat the given parameter. 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
}
 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_distribution_attribute_e {
  VX_DISTRIBUTION_ATTRIBUTE_DIMENSIONS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_DISTRIBUTION) + 0x0,
  VX_DISTRIBUTION_ATTRIBUTE_OFFSET = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_DISTRIBUTION) + 0x1,
  VX_DISTRIBUTION_ATTRIBUTE_RANGE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_DISTRIBUTION) + 0x2,
  VX_DISTRIBUTION_ATTRIBUTE_BINS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_DISTRIBUTION) + 0x3,
  VX_DISTRIBUTION_ATTRIBUTE_WINDOW = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_DISTRIBUTION) + 0x4,
  VX_DISTRIBUTION_ATTRIBUTE_SIZE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_DISTRIBUTION) + 0x5
}
 The distribution attribute list. 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_MODE = 0x0C,
  VX_ENUM_COMPARISON = 0x0D,
  VX_ENUM_IMPORT_MEM = 0x0E,
  VX_ENUM_TERM_CRITERIA = 0x0F,
  VX_ENUM_NORM_TYPE = 0x10,
  VX_ENUM_ACCESSOR = 0x11,
  VX_ENUM_ROUND_POLICY = 0x12
}
 The set of supported enumerations in OpenVX. More...
 
enum  vx_graph_attribute_e {
  VX_GRAPH_ATTRIBUTE_NUMNODES = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_GRAPH) + 0x0,
  VX_GRAPH_ATTRIBUTE_STATUS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_GRAPH) + 0x1,
  VX_GRAPH_ATTRIBUTE_PERFORMANCE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_GRAPH) + 0x2,
  VX_GRAPH_ATTRIBUTE_NUMPARAMETERS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_GRAPH) + 0x3
}
 The graph attributes list. More...
 
enum  vx_hint_e { VX_HINT_SERIALIZE = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_HINT) + 0x0 }
 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_image_attribute_e {
  VX_IMAGE_ATTRIBUTE_WIDTH = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_IMAGE) + 0x0,
  VX_IMAGE_ATTRIBUTE_HEIGHT = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_IMAGE) + 0x1,
  VX_IMAGE_ATTRIBUTE_FORMAT = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_IMAGE) + 0x2,
  VX_IMAGE_ATTRIBUTE_PLANES = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_IMAGE) + 0x3,
  VX_IMAGE_ATTRIBUTE_SPACE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_IMAGE) + 0x4,
  VX_IMAGE_ATTRIBUTE_RANGE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_IMAGE) + 0x5,
  VX_IMAGE_ATTRIBUTE_SIZE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_IMAGE) + 0x6
}
 The image attributes list. More...
 
enum  vx_import_type_e {
  VX_IMPORT_TYPE_NONE = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_IMPORT_MEM) + 0x0,
  VX_IMPORT_TYPE_HOST = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_IMPORT_MEM) + 0x1
}
 An enumeration of memory import types. More...
 
enum  vx_interpolation_type_e {
  VX_INTERPOLATION_TYPE_NEAREST_NEIGHBOR = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_INTERPOLATION) + 0x0,
  VX_INTERPOLATION_TYPE_BILINEAR = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_INTERPOLATION) + 0x1,
  VX_INTERPOLATION_TYPE_AREA = VX_ENUM_BASE(VX_ID_KHRONOS, VX_ENUM_INTERPOLATION) + 0x2
}
 The image reconstruction filters supported by image resampling operations. More...
 
enum  vx_kernel_attribute_e {
  VX_KERNEL_ATTRIBUTE_PARAMETERS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_KERNEL) + 0x0,
  VX_KERNEL_ATTRIBUTE_NAME = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_KERNEL) + 0x1,
  VX_KERNEL_ATTRIBUTE_ENUM = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_KERNEL) + 0x2,
  VX_KERNEL_ATTRIBUTE_LOCAL_DATA_SIZE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_KERNEL) + 0x3,
  VX_KERNEL_ATTRIBUTE_LOCAL_DATA_PTR = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_KERNEL) + 0x4
}
 The kernel attributes list. More...
 
enum  vx_lut_attribute_e {
  VX_LUT_ATTRIBUTE_TYPE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS,VX_TYPE_LUT) + 0x0,
  VX_LUT_ATTRIBUTE_COUNT = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS,VX_TYPE_LUT) + 0x1,
  VX_LUT_ATTRIBUTE_SIZE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS,VX_TYPE_LUT) + 0x2
}
 The Look-Up Table (LUT) attribute list. More...
 
enum  vx_matrix_attribute_e {
  VX_MATRIX_ATTRIBUTE_TYPE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_MATRIX) + 0x0,
  VX_MATRIX_ATTRIBUTE_ROWS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_MATRIX) + 0x1,
  VX_MATRIX_ATTRIBUTE_COLUMNS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_MATRIX) + 0x2,
  VX_MATRIX_ATTRIBUTE_SIZE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_MATRIX) + 0x3
}
 The matrix attributes. More...
 
enum  vx_meta_format_attribute_e { VX_META_FORMAT_ATTRIBUTE_DELTA_RECTANGLE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_META_FORMAT) + 0x0 }
 The meta format object attributes. More...
 
enum  vx_node_attribute_e {
  VX_NODE_ATTRIBUTE_STATUS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_NODE) + 0x0,
  VX_NODE_ATTRIBUTE_PERFORMANCE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_NODE) + 0x1,
  VX_NODE_ATTRIBUTE_BORDER_MODE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_NODE) + 0x2,
  VX_NODE_ATTRIBUTE_LOCAL_DATA_SIZE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_NODE) + 0x3,
  VX_NODE_ATTRIBUTE_LOCAL_DATA_PTR = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_NODE) + 0x4
}
 The node attributes 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_parameter_attribute_e {
  VX_PARAMETER_ATTRIBUTE_INDEX = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_PARAMETER) + 0x0,
  VX_PARAMETER_ATTRIBUTE_DIRECTION = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_PARAMETER) + 0x1,
  VX_PARAMETER_ATTRIBUTE_TYPE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_PARAMETER) + 0x2,
  VX_PARAMETER_ATTRIBUTE_STATE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_PARAMETER) + 0x3,
  VX_PARAMETER_ATTRIBUTE_REF = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_PARAMETER) + 0x4
}
 The parameter attributes list. 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_pyramid_attribute_e {
  VX_PYRAMID_ATTRIBUTE_LEVELS = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_PYRAMID) + 0x0,
  VX_PYRAMID_ATTRIBUTE_SCALE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_PYRAMID) + 0x1,
  VX_PYRAMID_ATTRIBUTE_WIDTH = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_PYRAMID) + 0x2,
  VX_PYRAMID_ATTRIBUTE_HEIGHT = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_PYRAMID) + 0x3,
  VX_PYRAMID_ATTRIBUTE_FORMAT = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_PYRAMID) + 0x4
}
 The pyramid object attributes. More...
 
enum  vx_reference_attribute_e {
  VX_REF_ATTRIBUTE_COUNT = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_REFERENCE) + 0x0,
  VX_REF_ATTRIBUTE_TYPE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_REFERENCE) + 0x1
}
 The reference attributes list. More...
 
enum  vx_remap_attribute_e {
  VX_REMAP_ATTRIBUTE_SOURCE_WIDTH = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_REMAP) + 0x0,
  VX_REMAP_ATTRIBUTE_SOURCE_HEIGHT = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_REMAP) + 0x1,
  VX_REMAP_ATTRIBUTE_DESTINATION_WIDTH = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_REMAP) + 0x2,
  VX_REMAP_ATTRIBUTE_DESTINATION_HEIGHT = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_REMAP) + 0x3
}
 The remap object attributes. 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_scalar_attribute_e { VX_SCALAR_ATTRIBUTE_TYPE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_SCALAR) + 0x0 }
 The scalar attributes list. More...
 
enum  vx_status_e {
  VX_STATUS_MIN = -25,
  VX_ERROR_REFERENCE_NONZERO = -24,
  VX_ERROR_MULTIPLE_WRITERS = -23,
  VX_ERROR_GRAPH_ABANDONED = -22,
  VX_ERROR_GRAPH_SCHEDULED = -21,
  VX_ERROR_INVALID_SCOPE = -20,
  VX_ERROR_INVALID_NODE = -19,
  VX_ERROR_INVALID_GRAPH = -18,
  VX_ERROR_INVALID_TYPE = -17,
  VX_ERROR_INVALID_VALUE = -16,
  VX_ERROR_INVALID_DIMENSION = -15,
  VX_ERROR_INVALID_FORMAT = -14,
  VX_ERROR_INVALID_LINK = -13,
  VX_ERROR_INVALID_REFERENCE = -12,
  VX_ERROR_INVALID_MODULE = -11,
  VX_ERROR_INVALID_PARAMETERS = -10,
  VX_ERROR_OPTIMIZED_AWAY = -9,
  VX_ERROR_NO_MEMORY = -8,
  VX_ERROR_NO_RESOURCES = -7,
  VX_ERROR_NOT_COMPATIBLE = -6,
  VX_ERROR_NOT_ALLOCATED = -5,
  VX_ERROR_NOT_SUFFICIENT = -4,
  VX_ERROR_NOT_SUPPORTED = -3,
  VX_ERROR_NOT_IMPLEMENTED = -2,
  VX_FAILURE = -1,
  VX_SUCCESS = 0
}
 The enumeration of all status codes. 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_threshold_attribute_e {
  VX_THRESHOLD_ATTRIBUTE_TYPE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_THRESHOLD) + 0x0,
  VX_THRESHOLD_ATTRIBUTE_THRESHOLD_VALUE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_THRESHOLD) + 0x1,
  VX_THRESHOLD_ATTRIBUTE_THRESHOLD_LOWER = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_THRESHOLD) + 0x2,
  VX_THRESHOLD_ATTRIBUTE_THRESHOLD_UPPER = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_THRESHOLD) + 0x3,
  VX_THRESHOLD_ATTRIBUTE_TRUE_VALUE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_THRESHOLD) + 0x4,
  VX_THRESHOLD_ATTRIBUTE_FALSE_VALUE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_THRESHOLD) + 0x5,
  VX_THRESHOLD_ATTRIBUTE_DATA_TYPE = VX_ATTRIBUTE_BASE(VX_ID_KHRONOS, VX_TYPE_THRESHOLD) + 0x6
}
 The threshold attributes. 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_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_BOOL = 0x010,
  VX_TYPE_SCALAR_MAX,
  VX_TYPE_RECTANGLE = 0x020,
  VX_TYPE_KEYPOINT = 0x021,
  VX_TYPE_COORDINATES2D = 0x022,
  VX_TYPE_COORDINATES3D = 0x023,
  VX_TYPE_USER_STRUCT_START = 0x100,
  VX_TYPE_STRUCT_MAX = VX_TYPE_USER_STRUCT_START - 1,
  VX_TYPE_VENDOR_STRUCT_START = 0x400,
  VX_TYPE_USER_STRUCT_END = VX_TYPE_VENDOR_STRUCT_START - 1,
  VX_TYPE_VENDOR_STRUCT_END = 0x7FF,
  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_VENDOR_OBJECT_START = 0xC00,
  VX_TYPE_OBJECT_MAX = VX_TYPE_VENDOR_OBJECT_START - 1,
  VX_TYPE_VENDOR_OBJECT_END = 0xFFF
}
 The type enumeration lists all the known types in OpenVX. More...
 

Macro Definition Documentation

#define VX_API_CALL

Definition at line 71 of file vx_types.h.

#define VX_CALLBACK

Definition at line 78 of file vx_types.h.

#define VX_PERF_INIT   {0ul, 0ul, 0ul, 0ul, 0ul, 0ul}

Initializes a vx_perf_t on the stack.

Definition at line 1362 of file vx_types.h.