I have some execution time issues when I call fastCV function on the implementation on the DSP side after a FastRPC call. I am using a SDM845 and Hexagon SDK 3.5.2
I use fcvTrackLKOpticalFlowu8_v3() and fcvGeomHomographyRobustFitf32_v2() with the DSP at 940MHz. The KLT traking is perfomed roughly in 8ms and the homography can take up to 50ms in the worst cases. I used ION buffer with rpcmem to allocate the memory and linked libfastcvadsp to my skel shared object. Everything else seem to works just fine.
I tried the same function on he CPU side (same parameters, same images) and I got much better timing (1.6ms for the KLT traking and the homography never took longer than 1.5ms). For this I linked the static library libfastcv.a. In this case I did not set an operation mode or even used fcvMemInit() and fcvMemAllloc(), I kept my ION buffers.
Does somebody know what is happening? It hard to understood what FastCV does once I call its function.
Thanks for your help! Feel free to ask if you want more information on my problem.