Part Number: TDA4VM
I was using opencv to create a remap table, and do the following exp:
1) use opencv remap
cv remapping: 8.36 ms
2) use openvx remap
159.625 ms
GRAPH: graph_70 (#nodes = 7, #executions = 1)
NODE: DSP_C7-2: node_85: avg = 45236 usecs, min/max = 45236 / 45236 usecs, #executions = 1
NODE: DSP_C7-2: node_91: avg = 7893 usecs, min/max = 7893 / 7893 usecs, #executions = 1
NODE: DSP_C7-2: node_83: avg = 45147 usecs, min/max = 45147 / 45147 usecs, #executions = 1
NODE: DSP_C7-2: node_89: avg = 7794 usecs, min/max = 7794 / 7794 usecs, #executions = 1
NODE: DSP_C7-2: node_81: avg = 45081 usecs, min/max = 45081 / 45081 usecs, #executions = 1
NODE: DSP_C7-2: node_87: avg = 7772 usecs, min/max = 7772 / 7772 usecs, #executions = 1
NODE: DSP_C7-2: node_92: avg = 330 usecs, min/max = 330 / 330 usecs, #executions = 1
The way I implemented on openvx:
vxChannelExtractNode(graph, vxImageIn, VX_CHANNEL_R, virtChanR);
vxChannelExtractNode(graph, vxImageIn, VX_CHANNEL_G, virtChanG);
vxChannelExtractNode(graph, vxImageIn, VX_CHANNEL_B, virtChanB);
vxRemapNode(graph, virtChanR, remapTable, VX_INTERPOLATION_BILINEAR, virtChanRemappedR);
vxRemapNode(graph, virtChanG, remapTable, VX_INTERPOLATION_BILINEAR, virtChanRemappedG);
vxRemapNode(graph, virtChanB, remapTable, VX_INTERPOLATION_BILINEAR, virtChanRemappedB);
vxChannelCombineNode(graph, virtChanRemappedR, virtChanRemappedG, virtChanRemappedB, nullptr, vxImageOut);
for opencv, i also use `cv::INTER_LINEAR`.
In my understanding, the openvx is running on c7x, while opencv is running on mpu?
so I was expecting openVX will be faster, but it turns out its is not.
any explanation or suggestion to speed up the remapping process using openVX?