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 setup customer Node's buffer

Part Number: TDA4VM


Hi Ti,

I try add a customer Node to the single camera APP:

my Node has two params: Input(raw image) and Output(raw image).

I have call 'tivxCreateRawImage' and vxCreateObjectArray in my Node init function:

tivx_raw_image raw_image = tivxCreateRawImage(context, &sensorParams->sensorInfo.raw_params);

for(q=0; q<bufq_depth; q++):

     myObj->raw_image_arr[q] = vxCreateObjectArray(context, (vx_reference)raw_image, sensorObj->num_cameras_enabled);

following is my graph:

capture -> customerNode->Viss->Display

app_create_graph_capture(obj->graph, &obj->captureObj);
app_create_graph_pre_ov(obj->graph, &obj->myObj, obj->captureObj.raw_image_arr[0]);
app_create_graph_viss(obj->graph, &obj->vissObj, obj->myObj.raw_image_arr[0]);

....

tivxSetNodeParameterNumBufByIndex(obj->myObj.node, 1, APP_BUFFER_Q_DEPTH);
tivxSetNodeParameterNumBufByIndex(obj->vissObj.node, 6, APP_BUFFER_Q_DEPTH);
tivxSetNodeParameterNumBufByIndex(obj->vissObj.node, 9, APP_BUFFER_Q_DEPTH);

Compile is OK,

But there are some errors when run the APP:

[MCU2_0] 21925.972637 s: VX_ZONE_ERROR:[tivxVpacVissCheckInputDesc:1607] Invalid Descriptor
[MCU2_0] 21925.972697 s: VX_ZONE_ERROR:[tivxVpacVissCheckInputDesc:1616] Raw input is NULL
[MCU2_0] 21925.972738 s: VX_ZONE_ERROR:[tivxVpacVissProcess:803] Input Descriptor Error
[MCU2_0] 21926.035451 s: VX_ZONE_ERROR:[tivxVpacVissCheckInputDesc:1607] Invalid Descriptor
[MCU2_0] 21926.035548 s: VX_ZONE_ERROR:[tivxVpacVissCheckInputDesc:1616] Raw input is NULL
[MCU2_0] 21926.035593 s: VX_ZONE_ERROR:[tivxVpacVissProcess:803] Input Descriptor Error

Please tell me how to setup the Node's buffer.

Should I add myNode to 'graph_parameters_queue_params_list' ? Should I call vxGraphParameterEnqueueReadyRef and 

vxGraphParameterDequeueDoneRef to myNode's buffer?

Thanks.

  • Hello,

    What SDK version are you using?

    Also, is your code snippet below being run inside the app_create_graph_pre_ov?  If so, I don't think this is required, as this should be done inside the app_create_graph_capture.  Instead, you will need to create your output to this node.  This output would then need to be passed as the input to the app_create_graph_viss function.

    tivx_raw_image raw_image = tivxCreateRawImage(context, &sensorParams->sensorInfo.raw_params);

    for(q=0; q<bufq_depth; q++):

         myObj->raw_image_arr[q] = vxCreateObjectArray(context, (vx_reference)raw_image, sensorObj->num_cameras_enabled);

    Regards,

    Lucas