Hi TI,
SDK 9.2.0.5
Goal: To be able to switch display input of two mosaic nodes using user input.
The design of the app is as below:
Graph1:
The OD graph(graph1) has four pipelines running in four different tasks each giving draw box detection output. The OD chain is as below
ldc1->msc1->preproc1->tidl1->drawbox1
ldc2->msc2->preproc2->tidl2->drawbox2
ldc3->msc3->preproc3->tidl3->drawbox3
ldc4->msc4->preproc4->tidl4->drawbox4
The four LDC images are coming from an another graph.
This graph is storing its output in a common object array as show in the diagram.
Graph2:
This is having only one node that is Mosaic node. Its job to mosaic the four images that are stored by graph1 and store its output in an object array on first position of it. This object array is common between graph2, graph3, graph4 as shown in the diagram.
Graph3:
Similar to graph2, only has one node that is mosaic node, mosaics two images instead of four and store the output in second position in the object array as shown in the diagram.
Graph4:
This graph is having only one node that is display node. This takes input of the two mosaic nodes stored by graph2 and graph3. The refs list size of this graph is 1 and ref list is the second common object array.
The bufq depth of drawbox detection nodes in od graphs is 4. The changes in the drawbox detection for writing its output in the object array are as below:
The in_imgOD array contains references of the object array elements that is common between graph1, graph2 and graph3.
Note: The bufq depth is 4 for draw detection nodes but I am only storing their output0(in code) image in the respective positions in in_imgOD array. Is it causing the issue?
I also tried to store the second buffers output (output1 in code) of drawbox3 and drawbox4 to a different object array then use that object array for graph3 refs list but that was not working either.
Issue Facing:
The display graph is stuck at vxGraphParameterDequeueDoneRef().Its not even running once. Stuck on first call in the enqueue-dequeue loop.
Note: When I comment one of the graph from graph2 and graph3 then the graph4 runs. It also switches the image just the image is blank only for one graph that is commented.
I am doubting its related to bufq depth but not sure.
Tried another design where I put both the mosaic nodes in the display graph but writing their output to the same object array gives a runtime error. "Two nodes of graph are trying to write the same edge".
How can I implement this to be able to switch between two mosaic outputs in display node ?
Thanks and regards,
Lalit