I'm running sample code using FastCV on QRB5165, which I think is the same as Snapdragon 865. The main ARM core is Cortex-A77. The is a cDSP Hexagon 698 available on the SOC. I have questions about fcvSetOperationMode. The following is the doc for the enum:FASTCV_OP_LOW_POWER
Target-optimized implementation uses lowest power consuming implementation.FASTCV_OP_PERFORMANCE
Target-optimized implementation uses highest performance implementation.FASTCV_OP_CPU_OFFLOAD
Target-optimized implementation offloads as much of the CPU as possible.FASTCV_OP_CPU_PERFORMANCE
Target-optimized implementation uses CPU highest performance implementation.FASTCV_OP_RESERVED
Values >= 0x80000000 are reserved.
FASTCV_OP_LOW_POWER says it uses lowest power consuming implementation, which means it should use the DSP implementation. FAST_OP_CPU_OFFLOAD says it offloads from CPU much as possible, which also suggest it should use the DSP. But when I run some image processing functions on the SOC, for example, Gaussian 3x3 8bit, FASTCV_OP_LOW_POWER gives 25.7ms while FAST_OP_CPU_OFFLOAD uses 19.8ms. What's the reason for this?
Another question is about FASTCV_OP_PERFORMANCE vs. FASTCV_OP_CPU_PERFORMANCE. Based on their discription, I should expect same performance from these two modes and CPU has the highest performance on this SOC. But I'm see different results: FASTCV_OP_PERFORMANCE: 3.6ms vs. FASTCV_OP_CPU_PERFORMANCE: 1.8ms.
Can someone please shed some light on this?