38 #define TIVX_DEFAULT_GRAPH_TIMEOUT         (TIVX_EVENT_TIMEOUT_WAIT_FOREVER)    43 typedef struct _vx_graph {
    64     uint32_t num_head_nodes;
    70     uint32_t num_leaf_nodes;
 vx_status ownGraphCreateQueues(vx_graph graph)
Create queues to maintain submitted graph desc and free graph desc. 
struct _vx_delay * vx_delay
#define TIVX_GRAPH_MAX_SUPER_NODES
Max possible super nodes in graph. 
uint32_t schedule_pending_count
number of graph schedule's that are requested but not submitted i.e pending 
vx_bool trigger_node_set
trigger node has been set for graph 
vx_bool is_streaming
is graph currently streaming 
vx_status ownGraphScheduleGraph(vx_graph graph, uint32_t num_schedule)
Schedule a graph for execution 'num_schedule' times. 
uint32_t num_data_ref_q
The number of graph parameters. 
uint32_t index
The index to the parameter on the node. 
vx_perf_t perf
The performance logging variable. 
vx_status VX_API_CALL tivxSendUserGraphEvent(vx_graph graph, vx_uint32 app_value, const void *parameter)
Sends user event to graph event queue. 
int32_t ownGraphGetFreeNodeIndex(vx_graph graph)
Get next free node entry in graph. 
uint32_t graph_consumed_app_value
vx_status ownGraphAllocAndEnqueueObjDescForPipeline(vx_graph graph)
Alloc and enqueue graph obj desc based on graph pipeline depth. 
vx_status ownGraphAddSuperNode(vx_graph graph, tivx_super_node super_node)
Add's a super node to a graph. 
uint32_t num_buf
when queue_enable = vx_true_e, this hold the max buffers that can be enqueued 
The most basic type in the OpenVX system. Any type that inherits from tivx_reference_t must have a vx...
Graph object descriptor as placed in shared memory. 
uint32_t ownGraphGetNumSchedule(vx_graph graph)
Counts number of enqueued 'refs' and returns number of times graph can be scheduled sucessfully...
void ownSetGraphState(vx_graph graph, uint32_t pipeline_id, vx_enum state)
Set graph state for a given pipeline ID. 
vx_status ownGraphParameterCheckValidEnqueueRef(vx_graph graph, uint32_t graph_parameter_index, vx_reference ref)
Checks if 'ref' is valid ref that can be enqueued. 
tivx_event delete_done
event to indicate that streaming is deleted 
tivx_queue free_q
free graph object descriptors that are ready for scheduling 
#define TIVX_GRAPH_MAX_HEAD_NODES
Max possible head nodes in graph. 
vx_status VX_API_CALL tivxWaitGraphEvent(vx_graph graph, vx_event_t *event, vx_bool do_not_block)
Waits for user event from graph event queue. 
#define TIVX_OBJ_DESC_QUEUE_MAX_DEPTH
Max elements in a object descriptor queue. 
tivx_event all_graph_completed_event
event to indicate all schedule graphs have finished execution and none are pending ...
vx_status ownGraphAllocForStreaming(vx_graph graph)
Alloc objects for graph streaming. 
struct _vx_reference * vx_reference
vx_bool queue_enable
vx_true_e, enqueue operation is supported on this parameter 
uint32_t graph_completed_app_value
vx_enum type
Set to an enum value in vx_type_e. 
tivx_reference_t base
The base reference object. 
#define TIVX_GRAPH_MAX_PARAMS
Max possible parameters in graph. 
void ownGraphFreeObjDesc(vx_graph graph)
Free graph obj desc based allocated during ownGraphAllocAndEnqueueObjDescForPipeline() ...
vx_bool is_enable_send_ref_consumed_event
flag to control event send enable/disable 
vx_bool reverify
Flag to maintain state of graph re-verification. 
vx_bool is_pipelining_enabled
graph pipelining enabled flag 
vx_enum schedule_mode
graph schedule mode as defined by vx_graph_schedule_mode_type_e 
vx_status ownGraphRegisterCompletionEvent(vx_graph graph, vx_uint32 app_value)
Register event on graph completion. 
vx_bool is_pipeline_depth_set
graph pipeline depth set flag via tivxSetGraphPipelineDepth 
#define TIVX_GRAPH_MAX_DATA_REF
Max possible data references in a graph. 
vx_status ownGraphRemoveNode(vx_graph graph, vx_node node)
Remove a node from a graph. 
void ownGraphDetectAndSetNumBuf(vx_graph graph)
Sets buffers automatically if not already set (see: TIOVX-903) 
void ownGraphTopologicalSort(tivx_graph_sort_context *context, vx_node *nodes, uint32_t num_nodes, vx_bool *has_cycle)
Perform topological sort of graph nodes. 
vx_bool ownCheckGraphCompleted(vx_graph graph, uint32_t pipeline_id)
Check if a previoulsy scehduled graph execution is complete. 
void ownGraphCheckContinuityOfSupernode(tivx_graph_sort_context *context, tivx_super_node super_node, uint32_t num_nodes, vx_bool *is_continuous)
Perform topological sort of graph nodes. 
Context used while sorting a graph. 
vx_status ownUpdateGraphPerf(vx_graph graph, uint32_t pipeline_id)
Update graph performance. 
The top level data for graph object. 
vx_status ownGraphSuperNodeConfigure(vx_graph graph)
Configure Supernode. 
void ownGraphSetReverify(vx_graph graph)
Mark graph to be reverified. 
uint32_t num_delay_data_ref_q
The number of graph parameters. 
void ownGraphDeleteQueues(vx_graph graph)
Delete queues created during ownGraphCreateQueues. 
vx_delay delay_ref
delay associated with this data ref queue 
tivx_event stop_done
event to indicate that streaming has stopped 
struct _tivx_super_node * tivx_super_node
The Super Node Framework Object. Super Node is a strongly-typed container for connected nodes...
vx_bool is_streaming_enabled
is streaming enabled for graph 
struct _tivx_data_ref_queue * tivx_data_ref_queue
Data Ref Queue Object. 
#define TIVX_PYRAMID_MAX_LEVEL_OBJECTS
Maximum number of objects supported in pyramid. 
uint32_t delay_slot_index
delay slot index associated with this data ref queue 
void ownGraphCheckSupernodeCycles(tivx_graph_sort_context *context, const vx_node *nodes, uint32_t num_nodes, vx_bool *has_cycle)
Perform topological sort of graph nodes after supernodes have been inserted. 
Data structure which holds event information. 
vx_uint32 trigger_node_index
index of trigger node 
#define TIVX_GRAPH_MAX_NODES
Max possible nodes in graph. 
void ownGraphFreeStreaming(vx_graph graph)
Free graph streaming objects. 
uint32_t num_params
The number of graph parameters. 
vx_enum state
The state of the graph (vx_graph_state_e) 
vx_status ownGraphRegisterParameterConsumedEvent(vx_graph graph, uint32_t graph_parameter_index, vx_uint32 app_value)
Register event on graph parameter consumed. 
vx_status ownGraphScheduleGraphWrapper(vx_graph graph)
Wrapper for ownGraphScheduleGraph. 
vx_uint32 ownGraphGetPipeDepth(vx_graph graph)
Query the leaf nodes of the graph for their depth to find the total depth of the graph. 
vx_bool is_enable_send_complete_event
when true a event is sent when a graph execution is completed 
#define TIVX_GRAPH_MAX_LEAF_NODES
Max possible leaf nodes in graph. 
vx_status ownGraphVerifyStreamingMode(vx_graph graph)
verify graph schedule mode with streaming 
vx_status ownGraphAddNode(vx_graph graph, vx_node node, int32_t index)
Add's a node to a graph. 
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...
vx_bool verified
Flag to maintain state of graph verification. 
#define TIVX_GRAPH_MAX_PIPELINE_DEPTH
Max possible pipeline depth of a graph. 
tivx_data_ref_queue data_ref_queue
data ref queue handle when queueing is enabled at this graph parameter 
vx_uint32 timeout_val
Control API processing Timeout value in milli-sec. 
#define TIVX_GRAPH_MAX_DATA_REF_QUEUE
Max data ref queue in graph. 
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. 
void ownSendGraphCompletedEvent(vx_graph graph)
Send graph completion event if enabled. 
vx_status ownGraphValidatePipelineParameters(vx_graph graph)
Checks for invalid pipelining conditions (see: TIOVX-726) 
uint32_t num_data_ref
number of data references in the graph 
#define TIVX_KERNEL_MAX_PARAMS
Max parameters in a kernel. 
void ownGraphClearState(vx_graph graph, uint32_t pipeline_id)
Graph execution state for given pipeline ID. 
#define TIVX_GRAPH_MAX_DELAYS
Max possible delays in graph. 
struct _vx_graph * vx_graph
uint32_t pipeline_depth
graph pipeline depth 
tivx_event_queue_t event_queue
struct _vx_node * vx_node
uint32_t submitted_count
counts the number of graphs schedule or submitted but not yet completed 
vx_node node
The reference to the node which has the parameter. 
tivx_task streaming_task_handle
vx_status(* VX_API_CALL)(vx_reference *ref)
Callback type used to register release callbacks from object dervied from references. 
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. 
struct _tivx_event_t * tivx_event
Typedef for a event. 
uint32_t streaming_executions
graph streaming executions