This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: How to handle cyclic input/output buffers for same vx_graph?

Part Number: TDA4VM

Hi,

We would like to use the same graph for cyclic buffers, as represented below:

Can this be achieved using the same vx_graph, or do I need one vx_graph per frame buffer?

  • Hi FredC_LT,

    Well, that's how graph runs. If we have 'n' number of inputs and outputs, it just cycles through these buffers. 

    Regards,

    Brijesh

  • Hi Brijesh,

    Maybe I was not clear. The node in my example has exactly 1 input and 1 output. When creating the node, we need to feed it the vx_reference to use.

    I want to know if there's a way to use the same node with different sets of input/output or if I need to create a graph+node for each set in input/output.

  • Hi ,

    If the node is not replicated and we call tivxSetNodeParameterNumBufByIndex API to ask framework to allocate 'n' number of buffers for a particular parameter and when enable pipeline, that is exactly what happens in the framework. It cycles through the number of buffers allocated, passing them to the node one by one. 

    Regards,

    Brijesh

  • Interesting, thanks for the info. We've implemented a GraphHandler class using an std::map<vx_tensor, vx_graph> to create a new graph when an unknown tensor is received. Seems like graph pipelining would be better.

    I looked into it previously but documentation was a bit hard to follow. I've now found vx_tutorial_graph_pipeline_two_nodes.c which seems to properly document the pipelining process.

    Regards,

    Fred