TIOVX User Guide
vx_graph.h File Reference

Implementation of Graph object. More...

Go to the source code of this file.

Data Structures

struct  tivx_parameters_t
 The list of graph parameters. More...
 
struct  tivx_data_ref_q_list_t
 The list of data refs other than graph parameters. More...
 
struct  tivx_delay_data_ref_q_list_t
 The list of delay data refs other than graph parameters. More...
 
struct  tivx_graph_t
 The top level data for graph object. More...
 

Macros

#define TIVX_DEFAULT_GRAPH_TIMEOUT   (TIVX_EVENT_TIMEOUT_WAIT_FOREVER)
 Default timeout value for graph level control event ACK waits. This is the default timeout value used within the following APIs. More...
 
#define TIVX_GRAPH_PARAMETER_ENQUEUE_FLAG_PIPEUP   (0x00000001u)
 Flag used with tivxGraphParameterEnqueueReadyRef to indicate that this enqueue call if for pipeup phase. More...
 

Functions

int32_t ownGraphGetFreeNodeIndex (vx_graph graph)
 Get next free node entry in graph. More...
 
vx_status ownGraphAddNode (vx_graph graph, vx_node node, int32_t idx)
 Add's a node to a graph. More...
 
vx_status ownGraphRemoveNode (vx_graph graph, vx_node node)
 Remove a node from a graph. More...
 
void ownGraphTopologicalSort (tivx_graph_sort_context *context, vx_node *nodes, uint32_t num_nodes, vx_bool *has_cycle)
 Perform topological sort of graph nodes. More...
 
vx_uint32 ownGraphGetPipeDepth (vx_graph graph)
 Query the leaf nodes of the graph for their depth to find the total depth of the graph. More...
 
vx_bool ownGraphCheckIsRefMatch (vx_graph graph, vx_reference ref1, vx_reference ref2)
 Abstracted check for checking if references match "vx_true_e" will be returned if references match or if references parent object matches. More...
 
void ownGraphSetReverify (vx_graph graph)
 Mark graph to be reverified.
 
tivx_data_ref_queue ownGraphGetParameterDataRefQueue (vx_graph graph, vx_uint32 graph_parameter_index)
 If a data ref queue is associated with 'graph_parameter_index' return it. More...
 
vx_status ownGraphAllocAndEnqueueObjDescForPipeline (vx_graph graph)
 Alloc and enqueue graph obj desc based on graph pipeline depth.
 
vx_status ownGraphAllocForStreaming (vx_graph graph)
 Alloc objects for graph streaming.
 
vx_status ownGraphVerifyStreamingMode (vx_graph graph)
 verify graph schedule mode with streaming
 
vx_status ownGraphFreeObjDesc (vx_graph graph)
 Free graph obj desc based allocated during ownGraphAllocAndEnqueueObjDescForPipeline()
 
vx_status ownGraphFreeStreaming (vx_graph graph)
 Free graph streaming objects.
 
vx_status ownGraphCreateQueues (vx_graph graph)
 Create queues to maintain submitted graph desc and free graph desc.
 
vx_status ownGraphDeleteQueues (vx_graph graph)
 Delete queues created during ownGraphCreateQueues.
 
vx_status ownGraphScheduleGraph (vx_graph graph, uint32_t num_schedule)
 Schedule a graph for execution 'num_schedule' times.
 
vx_status ownGraphScheduleGraphWrapper (vx_graph graph)
 Wrapper for ownGraphScheduleGraph.
 
vx_bool ownCheckGraphCompleted (vx_graph graph, uint32_t pipeline_id)
 Check if a previously scheduled graph execution is complete. More...
 
vx_bool ownGraphDoScheduleGraphAfterEnqueue (vx_graph graph, uint32_t graph_parameter_index)
 Check if a graph should be scheduled after a graph parameter has been enqueued. More...
 
vx_status ownUpdateGraphPerf (vx_graph graph, uint32_t pipeline_id)
 Update graph performance.
 
void ownGraphClearState (vx_graph graph, uint32_t pipeline_id)
 Graph execution state for given pipeline ID.
 
void ownSetGraphState (vx_graph graph, uint32_t pipeline_id, vx_enum state)
 Set graph state for a given pipeline ID.
 
vx_status ownGraphRegisterCompletionEvent (vx_graph graph, vx_uint32 app_value)
 Register event on graph completion.
 
vx_status ownGraphRegisterParameterConsumedEvent (vx_graph graph, uint32_t graph_parameter_index, vx_uint32 app_value)
 Register event on graph parameter consumed.
 
void ownSendGraphCompletedEvent (vx_graph graph)
 Send graph completion event if enabled.
 
vx_status ownGraphParameterCheckValidEnqueueRef (vx_graph graph, uint32_t graph_parameter_index, vx_reference ref)
 Checks if 'ref' is valid ref that can be enqueued. More...
 
uint32_t ownGraphGetNumSchedule (vx_graph graph)
 Counts number of enqueued 'refs' and returns number of times graph can be scheduled successfully. More...
 
vx_status ownGraphValidatePipelineParameters (vx_graph graph)
 Checks for invalid pipelining conditions (see: TIOVX-726)
 
void ownGraphDetectAndSetNumBuf (vx_graph graph)
 Sets buffers automatically if not already set (see: TIOVX-903)
 
vx_status tivxSendUserGraphEvent (vx_graph graph, vx_uint32 app_value, const void *parameter)
 Sends user event to graph event queue.
 
vx_status tivxWaitGraphEvent (vx_graph graph, vx_event_t *event, vx_bool do_not_block)
 Waits for user event from graph event queue.
 
vx_status tivxGraphParameterEnqueueReadyRef (vx_graph graph, vx_uint32 graph_parameter_index, vx_reference *refs, vx_uint32 num_refs, vx_uint32 flags)
 Same as vxGraphParameterEnqueueReadyRef except that it take an additional TIOVX specific flag parameter. More...
 

Detailed Description

Implementation of Graph object.

Definition in file vx_graph.h.