EdgeAI TIOVX Apps Guide
All Data Structures Files Functions Variables Enumerations Enumerator Macros Modules Pages
EdgeAI TIOVX Apps core Interface

Introduction

Thin layer on top of OpenVX, for easily contruct complex pipelines using OpenVX.

Functions

vx_status tiovx_modules_initialize_graph (GraphObj *graph)
 Function to initialize a graph object. More...
 
NodeObj * tiovx_modules_add_node (GraphObj *graph, NODE_TYPES node_type, void *cfg)
 Function to add a new node to graph. More...
 
vx_status tiovx_modules_verify_graph (GraphObj *graph)
 Function to be called after adding and connecting all the nodes. This function will created actual OpenVX Nodes, creates graph parameters for floating pads and created buffer pools for all graph params. More...
 
vx_status tiovx_modules_export_graph (GraphObj *graph, char *path, char *prefix)
 Function to export graph as a dot file. More...
 
NodeObj * tiovx_modules_get_node_by_name (GraphObj *graph, char *name)
 Function to get access to node object by name. More...
 
void tiovx_modules_print_performance (GraphObj *graph)
 Function to print performance of each node in graph. More...
 
Buf * tiovx_modules_acquire_buf (BufPool *buf_pool)
 Acquire a free buffer from a buffer pool. More...
 
vx_status tiovx_modules_release_buf (Buf *buf)
 Release a previously acquired buffer back to its pool. More...
 
vx_status tiovx_modules_clean_graph (GraphObj *graph)
 Function to clean the graph at the end of the application. More...
 
vx_status tiovx_modules_enqueue_buf (Buf *buf)
 Function to enqueue a buffer to OpenVX graph. More...
 
Buf * tiovx_modules_dequeue_buf (BufPool *buf_pool)
 dequeue a buffer from OpenVX graph. More...
 
vx_status tiovx_modules_schedule_graph (GraphObj *graph)
 Function to schedule graph, if mode set to manual. More...
 
vx_status tiovx_modules_wait_graph (GraphObj *graph)
 Function to wait for graph exec, if mode set to manual. More...
 
vx_status tiovx_modules_release_node (NodeObj *node)
 Function to release a node, to be used only in modules. More...
 
vx_status tiovx_modules_link_pads (Pad *src_pad, Pad *sink_pad)
 Function to link two pads. More...
 
void kms_display_init_cfg (kmsDisplayCfg *cfg)
 Function to initialize kms display config. More...
 
kmsDisplayHandle * kms_display_create_handle (kmsDisplayCfg *cfg)
 Function to create a kms display handle. More...
 
int kms_display_register_buf (kmsDisplayHandle *handle, Buf *tiovx_buffer)
 Function to register a Buffer tobe. More...
 
int kms_display_render_buf (kmsDisplayHandle *handle, Buf *tiovx_buffer)
 Function to render a Buffer. More...
 
int kms_display_delete_handle (kmsDisplayHandle *handle)
 Function to free a kms display handle. More...
 
void aewb_init_cfg (AewbCfg *cfg)
 Function to initialize AEWB config. More...
 
AewbHandle * aewb_create_handle (AewbCfg *cfg)
 Function to create a aewb handle. More...
 
int aewb_process (AewbHandle *handle, Buf *h3a_stats, Buf *aewb_result)
 Process function to invoke the algorithm. More...
 
int aewb_delete_handle (AewbHandle *handle)
 Function to free a aewb handle. More...
 
void tiovx_aewb_init_cfg (TIOVXAewbNodeCfg *cfg)
 Function to initialize tiovx AEWB config. More...
 
void tiovx_capture_init_cfg (TIOVXCaptureNodeCfg *cfg)
 Function to initialize tiovx capture module config. More...
 

Function Documentation

◆ tiovx_modules_initialize_graph()

vx_status tiovx_modules_initialize_graph ( GraphObj *  graph)

Function to initialize a graph object.

Parameters
[in,out]graphGraph object _GraphObj.

◆ tiovx_modules_add_node()

NodeObj* tiovx_modules_add_node ( GraphObj *  graph,
NODE_TYPES  node_type,
void *  cfg 
)

Function to add a new node to graph.

Parameters
[in,out]graphGraph object _GraphObj.
[in]node_typeEnum associated with the module to add node for NODE_TYPES. [in] cfg Configuration needed for given module This is module specific structure defined in module header.
Returns
New node object NodeObj

◆ tiovx_modules_verify_graph()

vx_status tiovx_modules_verify_graph ( GraphObj *  graph)

Function to be called after adding and connecting all the nodes. This function will created actual OpenVX Nodes, creates graph parameters for floating pads and created buffer pools for all graph params.

Parameters
[in,out]graphGraph object _GraphObj.

◆ tiovx_modules_export_graph()

vx_status tiovx_modules_export_graph ( GraphObj *  graph,
char *  path,
char *  prefix 
)

Function to export graph as a dot file.

Parameters
[in]graphGraph object _GraphObj.
[in]pathTo dump the dot files.
[in]prefixTo be added to dot files.

◆ tiovx_modules_get_node_by_name()

NodeObj* tiovx_modules_get_node_by_name ( GraphObj *  graph,
char *  name 
)

Function to get access to node object by name.

Parameters
[in]graphGraph object _GraphObj.
[in]nameof the node.
Returns
Node object of given name NodeObj

◆ tiovx_modules_print_performance()

void tiovx_modules_print_performance ( GraphObj *  graph)

Function to print performance of each node in graph.

Parameters
[in]graphGraph object _GraphObj.

◆ tiovx_modules_acquire_buf()

Buf* tiovx_modules_acquire_buf ( BufPool *  buf_pool)

Acquire a free buffer from a buffer pool.

Parameters
[in]buf_poolBuffer pool _BufPool.
Returns
Free Buffer _Buf

◆ tiovx_modules_release_buf()

vx_status tiovx_modules_release_buf ( Buf *  buf)

Release a previously acquired buffer back to its pool.

Parameters
[in]bufBuffer to be released _Buf.

◆ tiovx_modules_clean_graph()

vx_status tiovx_modules_clean_graph ( GraphObj *  graph)

Function to clean the graph at the end of the application.

Parameters
[in]bufBuffer to be released _Buf.

◆ tiovx_modules_enqueue_buf()

vx_status tiovx_modules_enqueue_buf ( Buf *  buf)

Function to enqueue a buffer to OpenVX graph.

Parameters
[in]bufBuffer to be enqueued _Buf.

◆ tiovx_modules_dequeue_buf()

Buf* tiovx_modules_dequeue_buf ( BufPool *  buf_pool)

dequeue a buffer from OpenVX graph.

Parameters
[in]buf_poolBuffer pool _BufPool.
Returns
Free Buffer _Buf

◆ tiovx_modules_schedule_graph()

vx_status tiovx_modules_schedule_graph ( GraphObj *  graph)

Function to schedule graph, if mode set to manual.

Parameters
[in]bufBuffer to be enqueued _Buf.

◆ tiovx_modules_wait_graph()

vx_status tiovx_modules_wait_graph ( GraphObj *  graph)

Function to wait for graph exec, if mode set to manual.

Parameters
[in]bufBuffer to be enqueued _Buf.

◆ tiovx_modules_release_node()

vx_status tiovx_modules_release_node ( NodeObj *  node)

Function to release a node, to be used only in modules.

Parameters
[in]Nodeobject NodeObj

◆ tiovx_modules_link_pads()

vx_status tiovx_modules_link_pads ( Pad *  src_pad,
Pad *  sink_pad 
)

Function to link two pads.

Parameters
[in]src_padSource pad_Pad.
[in]sink_padSink pad _Pad.

◆ kms_display_init_cfg()

void kms_display_init_cfg ( kmsDisplayCfg cfg)

Function to initialize kms display config.

Parameters
[in,out]cfgkmsDisplayCfg.

◆ kms_display_create_handle()

kmsDisplayHandle* kms_display_create_handle ( kmsDisplayCfg cfg)

Function to create a kms display handle.

Parameters
[in]cfgkmsDisplayCfg.
Returns
Pointer to new kms display handle kmsDisplayHandle *\

◆ kms_display_register_buf()

int kms_display_register_buf ( kmsDisplayHandle *  handle,
Buf *  tiovx_buffer 
)

Function to register a Buffer tobe.

Parameters
[in]handlekms display handle kmsDisplayHandle *\
[in]Bufferto register _Buf *\

◆ kms_display_render_buf()

int kms_display_render_buf ( kmsDisplayHandle *  handle,
Buf *  tiovx_buffer 
)

Function to render a Buffer.

Parameters
[in]handlekms display handle kmsDisplayHandle *\
[in]Bufferto render _Buf *\

◆ kms_display_delete_handle()

int kms_display_delete_handle ( kmsDisplayHandle *  handle)

Function to free a kms display handle.

Parameters
[in]handlekms display handle kmsDisplayHandle *\

◆ aewb_init_cfg()

void aewb_init_cfg ( AewbCfg cfg)

Function to initialize AEWB config.

Parameters
[in,out]cfgAewbCfg.

◆ aewb_create_handle()

AewbHandle* aewb_create_handle ( AewbCfg cfg)

Function to create a aewb handle.

Parameters
[in]cfgAewbCfg.
Returns
Pointer to new aewb handle AewbHandle *\

◆ aewb_process()

int aewb_process ( AewbHandle *  handle,
Buf *  h3a_stats,
Buf *  aewb_result 
)

Process function to invoke the algorithm.

Parameters
[in]aewbhandle AewbHandle.
[in]h3a_statsfrom viss out.
[out]aewb_resultfor viss in.

◆ aewb_delete_handle()

int aewb_delete_handle ( AewbHandle *  handle)

Function to free a aewb handle.

Parameters
[in]aewbhandle AewbHandle.

◆ tiovx_aewb_init_cfg()

void tiovx_aewb_init_cfg ( TIOVXAewbNodeCfg cfg)

Function to initialize tiovx AEWB config.

Parameters
[in,out]cfgTIOVXAewbNodeCfg.

◆ tiovx_capture_init_cfg()

void tiovx_capture_init_cfg ( TIOVXCaptureNodeCfg cfg)

Function to initialize tiovx capture module config.

Parameters
[in,out]cfgTIOVXCaptureNodeCfg.