Please provide the following info (tick the boxes after creating this topic):
DRIVE OS 6.0.6
[.] DRIVE OS 6.0.5
DRIVE OS 6.0.4 (rev. 1)
DRIVE OS 6.0.4 SDK
Target Operating System
DRIVE AGX Orin Developer Kit (940-63710-0010-300)
DRIVE AGX Orin Developer Kit (940-63710-0010-200)
DRIVE AGX Orin Developer Kit (940-63710-0010-100)
DRIVE AGX Orin Developer Kit (940-63710-0010-D00)
DRIVE AGX Orin Developer Kit (940-63710-0010-C00)
DRIVE AGX Orin Developer Kit (not sure its number)
SDK Manager Version
Host Machine Version
native Ubuntu Linux 20.04 Host installed with SDK Manager
native Ubuntu Linux 20.04 Host installed with DRIVE OS Docker Containers
native Ubuntu Linux 18.04 Host installed with DRIVE OS Docker Containers
I am using the NvMedia APIs for image processing. For example, I first use the Nvmedia2D APIs to convert the YUV422 image to YUV420, then use the NvmediaLDC APIs to do some distortion correction, and finally use the NvmediaJPEGEncode APIs to compress the image into JPEG format.
Due to the sample code , I need to do NvSciSyncWait between the operations above(Nvmedia2D/NvmediaLDC/NvmediaIJPE).However, using NvSciSync will significantly increase the processing time (reaching 60-70ms in the case of multiple cameras running in parallel), which is unacceptable.
perf stats: 10ms for one single pipeline,If 7 cameras are used in parallel, then each camera will take about 50ms to process.
When using NPPI library, I usually can use the same CUDA context for multiple image processing operations and only call
cudaStreamSynchronize once at the end. However, when using NvMedia, I found that it seems necessary to call NvSciSyncWait between each step, which makes the overall image processing time longer. Is there a way to avoid this and reduce the time consumed by synchronization?