Having a problem as described in topic.
Steps to reproduce:
-
/usr/local/driveworks/tools/capture/recorder-tui 4cam.json
(the4cam.jsonfile is for 4x sf3325 cameras) -
Use
dwSensorManager_acquireNextEventanddwSensorCamera_getImagein a loop with the recording in step 1. I used a simplified version ofsample_sfm. -
Add
dwImage_getTimestampto get timestamp and display it for debugging, e.g.
void processCamera(const dwSensorEvent& event)
...
for (size_t k = 0; k < event.numCamFrames; k++)
...
dwTime_t currentTimestamp;
CHECK_DW_ERROR(dwImage_getTimestamp(¤tTimestamp, camera.frameCudaYuv));
std::cout << k << " " << currentTimestamp << std::endl;
...
...
}
Expected:
The timestamps should be in consecutive order because dwSensorManager_acquireNextEvent should return “oldest available event among all sensors”
Actual:
Timestamps not consecutive, e.g.:
0 1619516073418415
1 1619516073551740
2 1619516073651728
3 1619516073751751
dwSensorManager_acquireNextEvent DW_SUCCESS
0 1619516073451730
1 1619516073585055
2 1619516073685076
3 1619516073785099
Extra notes
When the same 4cam.json is used directly by the same application based on sample_sfm, timestamps are in order, e.g.
0 1619517985418409
1 1619517985418409
2 1619517985418409
3 1619517985418409
dwSensorManager_acquireNextEvent DW_SUCCESS
0 1619517985451753
1 1619517985451753
2 1619517985451753
3 1619517985451753
However, there are hundreds (474) of lines worth of ICP DROP messages before processCamera is even reached, e.g.
[27-04-2021 20:06:12] CameraGMSL: Frame: 12 CaptureTimestamp: 1619517972618426 - ICP DROP in camera 2
[27-04-2021 20:06:12] CameraGMSL: Frame: 12 CaptureTimestamp: 1619517972618426 - ICP DROP in camera 0
[27-04-2021 20:06:12] CameraGMSL: Frame: 12 CaptureTimestamp: 1619517972618426 - ICP DROP in camera 1
[27-04-2021 20:06:12] CameraGMSL: Frame: 12 CaptureTimestamp: 1619517972618426 - ICP DROP in camera 3
[27-04-2021 20:06:12] CameraGMSL: Frame: 13 CaptureTimestamp: 1619517972651757 - ICP DROP in camera 2
[27-04-2021 20:06:12] CameraGMSL: Frame: 13 CaptureTimestamp: 1619517972651757 - ICP DROP in camera 1
[27-04-2021 20:06:12] CameraGMSL: Frame: 13 CaptureTimestamp: 1619517972651757 - ICP DROP in camera 3
[27-04-2021 20:06:12] CameraGMSL: Frame: 13 CaptureTimestamp: 1619517972651757 - ICP DROP in camera 0
But it settles down after a few seconds:
[27-04-2021 20:06:16] CameraGMSL: Frame: 128 CaptureTimestamp: 1619517976485100 - ICP DROP in camera 3
[27-04-2021 20:06:16] CameraGMSL: Frame: 129 CaptureTimestamp: 1619517976518435 - ICP DROP in camera 3
[27-04-2021 20:06:16] CameraGMSL: Frame: 129 CaptureTimestamp: 1619517976518435 - ICP DROP in camera 2
[27-04-2021 20:06:16] CameraGMSL: Frame: 129 CaptureTimestamp: 1619517976518435 - ICP DROP in camera 1
[27-04-2021 20:06:16] CameraGMSL: Frame: 129 CaptureTimestamp: 1619517976518435 - ICP DROP in camera 0
dwSensorManager_acquireNextEvent DW_SUCCESS
0 1619517972518428
1 1619517972518428
2 1619517972518428
3 1619517972518428
dwSensorManager_acquireNextEvent DW_SUCCESS
0 1619517972551750
1 1619517972551750
2 1619517972551750
3 1619517972551750
dwSensorManager_acquireNextEvent DW_SUCCESS
0 1619517972585103
1 1619517972585103
2 1619517972585103
3 1619517972585103
[27-04-2021 20:06:16] CameraGMSL: Frame: 130 CaptureTimestamp: 1619517976551743 - ICP DROP in camera 0
[27-04-2021 20:06:16] CameraGMSL: Frame: 130 CaptureTimestamp: 1619517976551743 - ICP DROP in camera 3
[27-04-2021 20:06:16] CameraGMSL: Frame: 130 CaptureTimestamp: 1619517976551743 - ICP DROP in camera 2
[27-04-2021 20:06:16] CameraGMSL: Frame: 130 CaptureTimestamp: 1619517976551743 - ICP DROP in camera 1
dwSensorManager_acquireNextEvent DW_SUCCESS
0 1619517976585086
1 1619517976585086
2 1619517976585086
3 1619517976585086
Please provide the following info (check/uncheck the boxes after clicking “+ Create Topic”):
Software Version
DRIVE OS Linux 5.2.0
DRIVE OS Linux 5.2.0 and DriveWorks 3.5
NVIDIA DRIVE™ Software 10.0 (Linux)
NVIDIA DRIVE™ Software 9.0 (Linux)
other DRIVE OS version
other
Target Operating System
Linux
QNX
other
Hardware Platform
NVIDIA DRIVE™ AGX Xavier DevKit (E3550)
NVIDIA DRIVE™ AGX Pegasus DevKit (E3550)
other
SDK Manager Version
1.5.0.7774
other
Host Machine Version
native Ubuntu 18.04
other