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.

[参考译文] J721S2XSOMXEVM:具有现有 VX_reference 的 VXObjectArray

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1463767/j721s2xsomxevm-vxobjectarray-with-existing-vx_reference

器件型号:J721S2XSOMXEVM

工具与软件:

您好、TI 专家!

是否有任何方法将现有 vx_reference 映射或分配给 vxObjectArray?

或者、如果可能、甚至可以使用现有 vx_reference 创建 vxObjectArray。

此致、

Juhyun

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

    您好、Kim、

     使用 createObjectarray API 从引用的元数据创建对象数组、然后使用 vxGetObjectArrayItem API 从对象数组获取元素的引用、然后根据引用类型使用映射或复制 API 分配现有引用。

    此致、

    Gokul

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

    尊敬的 Gokul:

    感谢您的回答。

    所以如果类型是 vx_image 或 vx_tensor、那么我应该如何通过 vxGetObjectArrayItem 获取的元素映射或分配现有 vx_reference 到 vxObjectArray?

    分配的副本应该是浅的、而不是深的副本。

    此致、

    Juhyun

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

    您好、Kim、

     你能详细说明浅拷贝吗?


    此致、

    Gokul

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

    我的意思是浅拷贝作为通用术语、意思是只复制元数据和缓冲指针、而不涉及缓冲区的实际内存拷贝。

    如您所知、我们通常使用指针分配方法。

    此致、

    Juhyun

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

    Juhunyun、您好!

     感谢您的答复。
     在以下代码片段中将元素用作 dst 并将现有引用用作 src、

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    vx_status copyImageHandles(vx_image src, vx_image dst)
    {
    vx_status status = VX_SUCCESS;
    void *addr[TIVX_IMAGE_MAX_PLANES] = {NULL};
    uint32_t size[TIVX_IMAGE_MAX_PLANES];
    uint32_t num_entries;
    status = tivxReferenceExportHandle((vx_reference)src,
    addr,
    size,
    max_entries,
    &num_entries);
    if(status==VX_SUCCESS)
    {
    status = tivxReferenceImportHandle((vx_reference)dst,
    (const void **)addr,
    (const uint32_t *)size,
    num_entries);
    }
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    如果 dst 已分配(由 vxMapImagePatch 或 vxVerifyGraph 分配)、则此操作有效。

    此致、

    Gokul

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

    尊敬的 Gokul:

    我很欣赏代码片段、我知道这个想法并将很快尝试它。

    此致、

    Juhyun

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

    尊敬的 Gokul:

    我测试了你分享的代码,并检查它的工作,我预期。

    感谢您的支持、这正是我想要的。

    此致、

    Juhyun