in tivxGraphParameterEnqueueReadyRef(),
if(num_enqueue>0U)
{
/* Note: keeping compatibility with deprecated API */
if((flags & TIVX_GRAPH_PARAMETER_ENQUEUE_FLAG_PIPEUP) != 0U)
{
/* if enqueing buffers for pipeup then dont schedule graph,
* just enqueue the buffers
*/
graph->parameters[graph_parameter_index].node->obj_desc[0]->pipeup_buf_idx--;
}
/* Note: once pipeup_buf_idx == 1, the source node is in steady state */
else if (graph->parameters[graph_parameter_index].node->obj_desc[0]->pipeup_buf_idx > 1U)
{
graph->parameters[graph_parameter_index].node->obj_desc[0]->pipeup_buf_idx--;
}
else
{
/* if graph mode is 'VX_GRAPH_SCHEDULE_MODE_QUEUE_AUTO' and
* enqueue of a reference at this parameter should trigger
* a graph schedule then schedule the graph */
if(ownGraphDoScheduleGraphAfterEnqueue(graph, graph_parameter_index)==(vx_bool)vx_true_e)
{
ownGraphScheduleGraph(graph, num_enqueue);
}
1) what's the use pipeup buf in the above code?
2)pipeup_buf is only assigned to head node? or we can assign it to any other node?