![]() |
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. |