APIs for adding BAM supernode support to DSP target kernel plugins.
|
typedef vx_status(VX_CALLBACK * | tivx_target_kernel_create_in_bam_graph_f) (tivx_target_kernel_instance kernel, tivx_obj_desc_t *obj_desc[], uint16_t num_params, void *priv_arg, BAM_NodeParams node_list[], tivx_bam_kernel_details_t kernel_details[], int32_t *bam_node_cnt, void *scratch, int32_t *size) |
| The "create in bam graph" target kernel callback. More...
|
|
typedef vx_status(VX_CALLBACK * | tivx_target_kernel_get_node_port_f) (tivx_target_kernel_instance kernel, uint8_t ovx_port, uint8_t plane, uint8_t *bam_node, uint8_t *bam_port) |
| The "get node port" target kernel callback. More...
|
|
typedef vx_status(VX_CALLBACK * | tivx_target_kernel_append_internal_edges_f) (tivx_target_kernel_instance kernel, BAM_EdgeParams edge_list[], int32_t *bam_edge_cnt) |
| The "append internal edges" target kernel callback This callback is optional and only needs to be implemented if the node has more than one BAM kernel inside it. In this case, the node needs to append the internal edges to the overal BAM graph edge list. More...
|
|
typedef vx_status(VX_CALLBACK * | tivx_target_kernel_pre_post_process_f) (tivx_target_kernel_instance kernel, tivx_obj_desc_t *obj_desc[], uint16_t num_params, tivx_bam_graph_handle *graph_handle, void *priv_arg) |
| The "create in bam graph" target kernel callback. More...
|
|
◆ tivx_target_kernel_create_in_bam_graph_f
The "create in bam graph" target kernel callback.
- Parameters
-
[in] | kernel | The kernel for which the callback is called |
[in] | obj_desc | Object descriptor array passed as input to this callback |
[in] | num_params[] | Number of parameters in the obj_desc[] array |
[in] | priv_arg | Private argument |
[in,out] | node_list | Pointer to array of nodes to be updated by callback |
[in,out] | kernel_details | Pointer to array of kernel_details to be updated by callback |
[in,out] | bam_node_cnt | Number of bam nodes to be updated by callback |
[in] | scratch | Pointer to scratch memory requirement from node |
Definition at line 412 of file tivx_bam_kernel_wrapper.h.
◆ tivx_target_kernel_get_node_port_f
The "get node port" target kernel callback.
- Parameters
-
[in] | kernel | The kernel for which the callback is called |
[in] | ovx_port | OpenVX node port number |
[out] | bam_node | BAM node number corresponding to the OpenVX node |
[out] | bam_port | BAM kernel port number corresponding to the OpenVX node number |
Definition at line 432 of file tivx_bam_kernel_wrapper.h.
◆ tivx_target_kernel_append_internal_edges_f
The "append internal edges" target kernel callback This callback is optional and only needs to be implemented if the node has more than one BAM kernel inside it. In this case, the node needs to append the internal edges to the overal BAM graph edge list.
- Parameters
-
[in] | kernel | The kernel for which the callback is called |
[in,out] | edge_list | BAM graph edge list. |
[in,out] | bam_edge_cnt | Number of edges in the edge list |
Definition at line 449 of file tivx_bam_kernel_wrapper.h.
◆ tivx_target_kernel_pre_post_process_f
The "create in bam graph" target kernel callback.
- Parameters
-
[in] | kernel | The kernel for which the callback is called |
[in] | obj_desc | Object descriptor array passed as input to this callback |
[in] | num_params[] | Number of parameters in the obj_desc[] array |
[in,out] | graph | handle from the supernode |
[in] | priv_arg | private argument |
Definition at line 463 of file tivx_bam_kernel_wrapper.h.
◆ tivxEnableKernelForSuperNode()
Allows users to support kernel as part of super node.
This is intended to be run after adding the target kernel.
- Parameters
-
[in] | target_kernel | The kernel for which the callbacks are associated with |
[in] | create_in_bam_func | Callback for giving information needed by supernode to create BAM graph. |
[in] | get_node_port_func | Callback for translating OpenVX node ports to BAM ports. |
[in] | append_internal_edges_func | (optional) Callback for appending internal edges to BAM edge list (if there are any) |
[in] | preprocess_func | (optional) Callback for performing any processing before the BAM graph is called for each frame (if there is any) |
[in] | postprocess_func | (optional) Callback for performing any processing after the BAM graph is called for each frame (if there is any) |
[in] | kernel_params_size | Size in bytes of the kernel_params structure |
[in] | priv_arg | (optional) Private arguments to pass to the create callback |