TIOVX APIs for node operations in the processing graph.
|
| vx_node | tivxCreateNodeByKernelEnum (vx_graph graph, vx_enum kernelenum, vx_reference params[], vx_uint32 num) |
| | Utility function to create a node given parameter references and kernel enum. More...
|
| |
| vx_node | tivxCreateNodeByKernelRef (vx_graph graph, vx_kernel kernel, vx_reference params[], vx_uint32 num) |
| | Utility function to create a node given parameter references and kernel reference. More...
|
| |
| vx_node | tivxCreateNodeByKernelName (vx_graph graph, const char *kernel_name, vx_reference params[], vx_uint32 num) |
| | Utility function to create a node given parameter references and kernel name. More...
|
| |
| vx_status VX_API_CALL | tivxSetNodeParameterNumBufByIndex (vx_node node, vx_uint32 idx, vx_uint32 num_buf) |
| | Set number of buffers to allocate at output of a node parameter. More...
|
| |
| vx_status VX_API_CALL | tivxGetNodeParameterNumBufByIndex (vx_node node, vx_uint32 idx, vx_uint32 *num_buf) |
| | Get number of buffers to allocate at output of a node parameter. More...
|
| |
| vx_status VX_API_CALL | tivxNodeSendCommand (vx_node node, uint32_t replicate_nodex_idx, uint32_t node_cmd_id, vx_reference ref[], uint32_t num_refs) |
| | Send node specific Control command. More...
|
| |
| vx_status VX_API_CALL | tivxNodeSendCommandTimed (vx_node node, uint32_t replicate_nodex_idx, uint32_t node_cmd_id, vx_reference ref[], uint32_t num_refs, uint32_t timeout) |
| | Send node specific Control command. More...
|
| |
| VX_API_ENTRY vx_status VX_API_CALL | tivxSetNodeTileSize (vx_node node, vx_uint32 block_width, vx_uint32 block_height) |
| | Sets the tile size for a given node in a graph. This is only valid for BAM-enabled kernels on C66 DSP. More...
|
| |
◆ TIVX_CONTROL_CMD_SEND_TO_ALL_REPLICATED_NODES
| #define TIVX_CONTROL_CMD_SEND_TO_ALL_REPLICATED_NODES ((uint32_t)-1) |
When sending a control command to a replicated node, this can be used to send control command to all replicated node.
Currently used as parameter in tivxNodeSendCommand API
Definition at line 123 of file tivx.h.
◆ tivxCreateNodeByKernelEnum()
Utility function to create a node given parameter references and kernel enum.
- Parameters
-
| [in] | graph | Graph reference |
| [in] | kernelenum | Enumeration specifying a specific kernel |
| [in] | params | List of parameter references corresponding to the enumerated kernel |
| [in] | num | Number of parameter references in params list |
- Returns
- A node reference
vx_node. Any possible errors preventing a successful creation should be checked using vxGetStatus.
◆ tivxCreateNodeByKernelRef()
Utility function to create a node given parameter references and kernel reference.
- Parameters
-
| [in] | graph | Graph reference |
| [in] | kernel | Kernel reference |
| [in] | params | List of parameter references corresponding to the kernel reference |
| [in] | num | Number of parameter references in params list |
- Returns
- A node reference
vx_node. Any possible errors preventing a successful creation should be checked using vxGetStatus.
◆ tivxCreateNodeByKernelName()
Utility function to create a node given parameter references and kernel name.
- Parameters
-
| [in] | graph | Graph reference |
| [in] | kernel_name | String corresponding to the kernel name |
| [in] | params | List of parameter references corresponding to the kernel name |
| [in] | num | Number of parameter references in params list |
- Returns
- A node reference
vx_node. Any possible errors preventing a successful creation should be checked using vxGetStatus.
◆ tivxSetNodeParameterNumBufByIndex()
Set number of buffers to allocate at output of a node parameter.
- Graph to which the node belongs MUST be scheduled in VX_GRAPH_SCHEDULE_MODE_QUEUE_AUTO or VX_GRAPH_SCHEDULE_MODE_QUEUE_MANUAL mode.
- The node parameter specified MUST be a output parameter.
- The node parameter specified MUST NOT be an enqueueable graph parameter.
This API acts as a hint and framework may override user specified settings in case any of above conditions are not met.
- Parameters
-
| [in] | node | Node reference |
| [in] | idx | Node parameter index |
| [in] | num_buf | Number of buffers to allocate |
◆ tivxGetNodeParameterNumBufByIndex()
Get number of buffers to allocate at output of a node parameter.
- If the buffers have not been set by tivxSetNodeParameterNumBufByIndex and the graph is not in pipelining mode, the num_buf will be 0.
- If the buffers have not been set by tivxSetNodeParameterNumBufByIndex the graph is in pipelining mode and not verified, the num_buf will be 0.
- If the buffers have not been set by tivxSetNodeParameterNumBufByIndex the graph is in pipelining mode and verified, the num_buf will be set via the framework based on the number of nodes connected to that buffer.
- If the buffers have been set by tivxSetNodeParameterNumBufByIndex, the num_buf will reflect this value regardless of if this is an optimal configuration.
- The node parameter specified MUST be a output parameter.
- Parameters
-
| [in] | node | Node reference |
| [in] | idx | Node parameter index |
| [out] | num_buf | Number of buffers allocated at output parameter |
◆ tivxNodeSendCommand()
Send node specific Control command.
This API is used to send specific control command to the node. Refer to Node documentation for specific control command. Note that this API is blocking and does not return until command is executed by the node. This API is thread safe, ie multi commands can be sent to same or different nodes from different threads
- Parameters
-
| [in] | node | Reference of the node to which this command is to be sent. |
| [in] | replicate_nodex_idx | In case of a non-replicated node this should be 0, For a replicated node this is the index of the replicated node to which the command is targeted. To send same command to all replicated nodes use TIVX_CONTROL_CMD_SEND_TO_ALL_REPLICATED_NODES |
| [in] | node_cmd_id | Node specific control command id, refer to node specific interface file |
| [in,out] | ref[] | Node parameter,
- This is an array of references, required as parameters for this control command.
- They can be any OpenVX object, created using create API.
- They are bidirectional parameters, can be used for INPUT, OUTPUT or both.
- These parameters are a list of references, which are required for the control command on the given node.
- Refer to node documentation to get details about the parameters required for given control command.
- If the refs have not been allocated before calling this command, the refs will be allocated within this command itself
- Caller of this API should explicitly release these refs after their usage is completed.
|
| [in] | num_refs | Number of valid entries/references in ref[] array |
◆ tivxNodeSendCommandTimed()
Send node specific Control command.
This API is used to send specific control command to the node. Refer to Node documentation for specific control command. Note that this API blocks for at most 'timeout' milli-seconds i.e. the API returns either when the command execution finishes or if the timeout occurs, whichever occurs first. This API is thread safe, ie multi commands can be sent to same or different nodes from different threads
- Parameters
-
| [in] | node | Reference of the node to which this command is to be sent. |
| [in] | replicate_nodex_idx | In case of a non-replicated node this should be 0, For a replicated node this is the index of the replicated node to which the command is targeted. To send same command to all replicated nodes use TIVX_CONTROL_CMD_SEND_TO_ALL_REPLICATED_NODES |
| [in] | node_cmd_id | Node specific control command id, refer to node specific interface file |
| [in,out] | ref[] | Node parameter,
- This is an array of references, required as parameters for this control command.
- They can be any OpenVX object, created using create API.
- They are bidirectional parameters, can be used for INPUT, OUTPUT or both.
- These parameters are a list of references, which are required for the control command on the given node.
- Refer to node documentation to get details about the parameters required for given control command.
- If the refs have not been allocated before calling this command, the refs will be allocated within this command itself
- Caller of this API should explicitly release these refs after their usage is completed.
|
| [in] | num_refs | Number of valid entries/references in ref[] array |
| [in] | timeout | Timeout in units of msecs, use VX_TIMEOUT_WAIT_FOREVER to wait forever |
◆ tivxSetNodeTileSize()
Sets the tile size for a given node in a graph. This is only valid for BAM-enabled kernels on C66 DSP.
- Parameters
-
| [in] | node | The reference to the vx_node object. |
| [in] | block_width | The tile width in pixels. |
| [in] | block_height | The tile height in lines. |
- Returns
- A
vx_status_e enumeration.
- Return values
-
| VX_SUCCESS | if the tile size is set correctly. |