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.

[FAQ] TDA4VH-Q1: How to create openvx graph with a node that needs data from the next node

Part Number: TDA4VH-Q1


Tool/software:

  • Hi,

    Openvx doesn't allow this cyclic data flow. But using graph parameters application can control the buffers and make this usecase possible.

    Note: This breaks the pipelining between NODE_B and NODE_C.

    The following demo is created to demonstrate this usecase.

    app_graph_feedback_loop.zip

    Extract this zip file and copy the folder into $(psdkra)/vision_apps/apps/basic_demos/

    Build the sdk and copy the files to sd_card

    cd $(psdkra)/sdk_builder
    make vision_apps
    # insert the sd card
    make linux_fs_install_sd

    On EVM you can run the demo by executing the following command
    cd /opt/vision_apps
    ./vx_app_graph_feedback_loop.out

    The demo will have the following flow and will prints the input and output values when the node is executed.

    Intr_img parameter of both NODE_B and NODE_C is made as graph parameter and a separate task is created to handle the enqueue/dequeue which swaps the buffers between parameters so that output of NODE_C is given as input of NODE_B. The feedback input will be used by NODE_B from the next execution of graph.

    This demo is just for reference to create a openvx graph with the feedback loop represented in the flow diagram.

    Regards,
    Gokul