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:使用"vx_object_array&quot 时有关 openvx 流水线的一些问题。

Guru**** 2046040 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1059385/tda4vm-some-questions-about-openvx-pipeline-when-using-vx_object_array

器件型号:TDA4VM

您好、Brijesh。

vx_image out_img = vxCreateImage (上下文、宽度、heig.HT、vx_DF_IMAGE_NV12);
scalerObj->output[0].arr = vxCreateObjectArray (context、(vx_reference) out_img、4);
scalerObj->output[1].arr = vxCreateObjectArray (context、(vx_reference) out_img、4);

output0 =(vx_image) vxGetObjectArrayItem ((vx_object_array) scalerObj->output[0].arr0);
Output1 =(vx_image) vxGetObjectArrayItem ((vx_object_array) scalerObj->output[1].arr、 0);
scalerObj->node = tivxVpacMscScaleNode (图形、输入、output0、output1、NULL、NULL);

TIvxSetNodeParameterNumBufByIndex (scalerObj->node、12);
TIvxSetNodeParameterNumBufByIndex (scalerObj->node、 1、 3);
 缩放器节点输出[0]是 objectArray、它有4个通道、然后我们通过 TIvxSetNodeParameterNumBufByIndex 将 output[0]的缓冲区编号设置为2。
 我的问题是 输出[0]缓冲区编号2的剂量是多少? 这是否意味着我们有2个 objectArray 或我们只有2个对象(vx_image)?
 


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    它将是两个对象数组、因为框架知道 output0 是对象数组的一部分、因此它 将创建对象数组的两个实例。

    BTW、您为什么要拨打它两次?  

    此致、

    Brijesh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Brijesh。

    我创建两个分频器输出、因为我需要 来自分频器节点的两个分辨率...

    还有几个问题要问:

    如果管道中的节点将 object_array 作为输出、则如果我使用"vxGraphParameterDequeDoneRef"对输出进行降级、则对其进行降级以使 object_array 中的所有通道数据进行降级、还是仅使 object_array 中的一个通道数据降级?  如果我使用"vxGraphParameterEnqueueReadyRef"来使"空"输出变为空、它是否将所有通道数据都写入 object_array 中?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 fenbgjie Hu、

    [引用 userid="481399" URL"~/support/processors-group/processors/f/processors-forum 1059385/tda4vm-some 问题-关于 openvx-f管线-使用时-vx_object_array/3919114#3919114"]

    我创建两个分频器输出、因为我需要 来自分频器节点的两个分辨率...

    [/报价]

    但您在下面的两个调用中似乎都使用相同的输出索引。

    TIvxSetNodeParameterNumBufByIndex (scalerObj->node、 1、 2);
    TIvxSetNodeParameterNumBufByIndex (scalerObj->node、 1、 3);
    [引用 userid="481399" URL"~/support/processors-group/processors/f/processors-forum 1059385/tda4vm-some 问题-关于 opexvx-f管线-使用时-vx_object_array/3919114#3919114]]如果管道中的节点将 object_array 作为输出,如果我使用"vxParameterDequete_deueDexe",则仅将一个对象阵列中的数据输出到该对象或数组中的所有数据。  如果我使用"vxGraphParameterEnqueueReadyRef"来使"空"输出有效、它是否将所有通道数据都传入 object_array 中?

    不可以、如果您需要 所有元素、则 dequeue 将仅提供对象数组的其中一个元素、 然后、您需要使用 tivxGetReferenceParent API 从已出队列的图像对象获取父对象数组、然后从父对象数组中获取父对象数组、您可以使用 vxGetObjectArrayItem API 访问所有其他图像对象。

    此致、

    Brijesh