Please provide the following info:
Hardware Platform: [DRIVE AGX Xavier™ Developer Kit]
Software Version: [DRIVE Software 10]
Host Machine Version: [native Ubuntu 18.04]
SDK Manager Version: [1.2.0.6733]
While trying to record camera frames using NvSIPL APIs, I noticed that reading ISP0 output takes too long.
Relevant code segment:
auto StartTime = chrono::steady_clock::now(); nvmStatus = NvMediaImageLock(ISP0imagePtr, NVMEDIA_IMAGE_ACCESS_READ, &surfaceMap); nvmStatus = NvMediaImageGetBits(ISP0imagePtr, nullptr, (void **)m_pSurfaceBuff, m_pSurfacePitches); NvMediaImageUnlock(ISP0imagePtr); auto getBitsTime = chrono::duration<double, std::milli> (chrono::steady_clock::now() - StartTime).count();
This code block, which is reading bits from 1 ISP0 output frames takes ~100ms to execute.
In contrast, call to the same NvMediaImageGetBits
function with a raw ICP output frame takes ~5ms to execute.
I am trying to understand why ISP0 output frame performs so much worse? Is it related to the image format (yuv:420) for ISP0?