首先感谢阅读,如果您也对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博客
【声明】
【欢迎转载转发,请注明出处。原创比较辛苦,请尊重原创,祝大家学习愉快!】
【博主专注嵌入式开发,具有多年嵌入式软、硬件开发经验,欢迎大家学习交流!】
【如有嵌入式相关项目需求,欢迎私信】