[TI TDA4 J721E] TIOVX 常用函数详解 之——vxReplicateNode

         首先感谢阅读,如果您也对TDA4相关的开发感兴趣,我们这边有个学习交流微信群,可以入群和大家一起交流学习。

资历较浅,水平有限,如遇错误,请大家多指正!

保持开源精神,共同分享、进步!

博主WX : AIR_12  我会拉你入群。

链接:TDA4 相关专栏        链接:TDA4  Demo  Gitee开源库

欢迎大家加入,一起维护这个开源库,给更多的朋友提供帮助。


​一、主要作用:

官方解释如上图。

个人理解:为了简化代码,简化处理相同类型数据的代码量。


二、实例解析


vx_status app_create_graph_scaler(vx_context context, vx_graph graph, ScalerObj *scalerObj)
{
    vx_status status = VX_SUCCESS;

    vx_image input    = (vx_image)vxGetObjectArrayItem((vx_object_array)scalerObj->input.arr[0], 0);
    vx_image output_1 = (vx_image)vxGetObjectArrayItem((vx_object_array)scalerObj->output_1.arr[0], 0);
    vx_image output_2 = (vx_image)vxGetObjectArrayItem((vx_object_array)scalerObj->output_2.arr[0], 0);
    vx_image output_3 = (vx_image)vxGetObjectArrayItem((vx_object_array)scalerObj->output_3.arr[0], 0);

    scalerObj->node = tivxVpacMscScaleNode(graph, input, output_1, output_2, output_3, NULL, NULL);
    vxSetNodeTarget(scalerObj->node, VX_TARGET_STRING, TIVX_TARGET_VPAC_MSC1);
    vxSetReferenceName((vx_reference)scalerObj->node, "ScalerNode");

    vx_bool replicate[] = { vx_true_e, vx_true_e, vx_true_e, vx_true_e, vx_false_e, vx_false_e};
    vxReplicateNode(graph, scalerObj->node, replicate, 6);

    vxReleaseImage(&input);
    vxReleaseImage(&output_1);
    vxReleaseImage(&output_2);
    vxReleaseImage(&output_3);

    return status;
}

1、vx_bool replicate[] 的作用

        这个数组中的值,代表在调用vxReplicateNode创建和scalerObj->node相同属性节点的时候,对应位置上的参数是否变化的标志。

        如果是true:则表示在创建时,这个值是根据参数实时变化的。

        如果是false:则标示在创建时,这个值是和创建scalerObj->node时的参数保持一致的。

如下:前面四个参数 input、output1、output2、output3是变化的,后面两个Null是不变的。

tivxVpacMscScaleNode(graph, input, output_1, output_2, output_3, NULL, NULL);
replicate[] = { vx_true_e, vx_true_e, vx_true_e, vx_true_e, vx_false_e,vx_false_e};

注意:graph不属于创建node的参数!

2、vxReplicateNode创建的node数量

调用vxReplicateNode创建node数量是根据输入的array内具有多少个成员决定的。

    vx_image input    = (vx_image)vxGetObjectArrayItem((vx_object_array)scalerObj->input.arr[0], 0);

这里的输入array ,就是scalerObj->input.arr[0]。

如果scalerObj->input.arr[0]里面有8个成员,则调用vxReplicateNode以后,创建的node 是 8-1 个node,因为已经使用tivxVpacMscScaleNode创建了一个node 了。

PS:如果对objectArray不了解和不熟练的同学,可以参考这个博客。

[TI TDA4 J721E] TIOVX 常用函数详解 之——“ObjectArray”_AIRKernel的博客-CSDN博客


【声明】
【欢迎转载转发,请注明出处。原创比较辛苦,请尊重原创,祝大家学习愉快!】
【博主专注嵌入式开发,具有多年嵌入式软、硬件开发经验,欢迎大家学习交流!】
【如有嵌入式相关项目需求,欢迎私信】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值