The OpenVX Specification
r31169
|
Defines the Node Object interface.
A node is an instance of a kernel that will be paired with a specific set of references (the parameters). Nodes are created from and associated with a single graph only. When a vx_parameter
is extracted from a Node, an additional attribute can be accessed:
vx_reference
assigned to this parameter index from the Node creation function (e.g., vxSobel3x3Node
). Typedefs | |
typedef struct _vx_node * | vx_node |
An opaque reference to a kernel node. More... | |
Enumerations | |
enum | vx_node_attribute_e { VX_NODE_ATTRIBUTE_STATUS = ((( VX_ID_KHRONOS ) << 20) | ( VX_TYPE_NODE << 8)) + 0x0, VX_NODE_ATTRIBUTE_PERFORMANCE = ((( VX_ID_KHRONOS ) << 20) | ( VX_TYPE_NODE << 8)) + 0x1, VX_NODE_ATTRIBUTE_BORDER_MODE = ((( VX_ID_KHRONOS ) << 20) | ( VX_TYPE_NODE << 8)) + 0x2, VX_NODE_ATTRIBUTE_LOCAL_DATA_SIZE = ((( VX_ID_KHRONOS ) << 20) | ( VX_TYPE_NODE << 8)) + 0x3, VX_NODE_ATTRIBUTE_LOCAL_DATA_PTR = ((( VX_ID_KHRONOS ) << 20) | ( VX_TYPE_NODE << 8)) + 0x4 } |
The node attributes list. More... | |
Functions | |
vx_status VX_API_CALL | vxQueryNode (vx_node node, vx_enum attribute, void *ptr, vx_size size) |
Allows a user to query information out of a node. More... | |
vx_status VX_API_CALL | vxReleaseNode (vx_node *node) |
Releases a reference to a Node object. The object may not be garbage collected until its total reference count is zero. More... | |
vx_status VX_API_CALL | vxRemoveNode (vx_node *node) |
Removes a Node from its parent Graph and releases it. More... | |
vx_status VX_API_CALL | vxSetNodeAttribute (vx_node node, vx_enum attribute, const void *ptr, vx_size size) |
Allows a user to set attribute of a node before Graph Validation. More... | |
typedef struct _vx_node* vx_node |
An opaque reference to a kernel node.
Definition at line 188 of file vx_types.h.
enum vx_node_attribute_e |
The node attributes list.
Enumerator | |
---|---|
VX_NODE_ATTRIBUTE_STATUS |
Queries the status of node execution. Use a |
VX_NODE_ATTRIBUTE_PERFORMANCE |
Queries the performance of the node execution. Use a |
VX_NODE_ATTRIBUTE_BORDER_MODE |
Gets or sets the border mode of the node. Use a |
VX_NODE_ATTRIBUTE_LOCAL_DATA_SIZE |
Indicates the size of the kernel local memory area. Use a |
VX_NODE_ATTRIBUTE_LOCAL_DATA_PTR |
Indicates the pointer kernel local memory area. Use a void * parameter. |
Definition at line 762 of file vx_types.h.
Allows a user to query information out of a node.
[in] | node | The reference to the node to query. |
[in] | attribute | Use vx_node_attribute_e value to query for information. |
[out] | ptr | The location at which to store the resulting value. |
[in] | size | The size in bytesin bytes of the container to which ptr points. |
vx_status_e
enumeration. VX_SUCCESS | Successful |
VX_ERROR_INVALID_PARAMETERS | The type or size is incorrect. |
vx_status VX_API_CALL vxSetNodeAttribute | ( | vx_node | node, |
vx_enum | attribute, | ||
const void * | ptr, | ||
vx_size | size | ||
) |
Allows a user to set attribute of a node before Graph Validation.
[in] | node | The reference to the node to set. |
[in] | attribute | Use vx_node_attribute_e value to query for information. |
[out] | ptr | The output pointer to where to send the value. |
[in] | size | The size in bytes of the objects to which ptr points. |
vx_kernel
, which was used to create the node. Some of these can be overridden using this API, notably VX_NODE_ATTRIBUTE_LOCAL_DATA_SIZE and VX_NODE_ATTRIBUTE_LOCAL_DATA_PTR.vx_status_e
enumeration. VX_SUCCESS | The attribute was set. |
VX_ERROR_INVALID_REFERENCE | node is not a vx_node. |
VX_ERROR_INVALID_PARAMETER | size is not correct for the type needed. |
Releases a reference to a Node object. The object may not be garbage collected until its total reference count is zero.
[in] | node | The pointer to the reference of the node to release. |
vx_status_e
enumeration. VX_SUCCESS | No errors. |
VX_ERROR_INVALID_REFERENCE | If node is not a vx_node . |
Removes a Node from its parent Graph and releases it.
[in] | node | The pointer to the node to remove and release. |
vx_status_e
enumeration. VX_SUCCESS | No errors. |
VX_ERROR_INVALID_REFERENCE | If node is not a vx_node . |