Can't replay IMX390 recording data

Hardware Platform: [DRIVE AGX Xavier™ Developer Kit]
Software Version: [DRIVE Software 10]
Host Machine Version: [Ubuntu 18.04]
SDK Manager Version: [Example: 1.0.1.5538]

I want to replay the .raw file recorded by sample_camera_gmsl_raw. I used Sony’s IMX390 camera module.

I tried to play the recorded image.raw file with sample_camera_replay, but App shows CameraType error.

How to replay the data recorded by Sony’s IMX390 camera?

It seems to replay the .raw file, newer DriveWorks is needed.

-------------------error message-------------------

[14-04-2020 20:51:21] SensorFactory::createSensor() → camera.virtual, video=image.raw

[14-04-2020 20:51:21] [14-04-2020 20:51:21] CameraRAW: no seek table found at image.raw.seek, seeking is not available.

CameraVirtual: File was recorded with newer DriveWorks version.

[14-04-2020 20:51:21] Driveworks exception thrown: DW_FAILURE: CameraType: fromProperties no suitable camera type found for properties:

CameraType: 13

fov: 120

exposure: 3

isSimulated: 0

terminate called after throwing an instance of ‘std::runtime_error’

what(): [2020-04-14 20:51:21] DW Error DW_FAILURE executing DW function:

dwSAL_createSensor(&m_camera, sensorParams, m_sal)

Dear @N.Miya,
Could you share the complete command used to record? Are you able to see the image rendering when using sample_camera_gmsl_raw

Dear @SivaRamaKrishnaNV,
Thank you for your reply.

Are you able to see the image rendering when using sample_camera_gmsl_raw

yes. I could see the image from Sony’s IMX390.

Attache the command.

/usr/local/driveworks/bin/sample_camera_gmsl_raw --camera-type=imx390-rccb-bae-none --write-file=imx390.raw --serializer-type=raw --camera-group=a

Dear @N.Miya,
I do not see camera-type = imx390-rccb-bae-none in sample_sensor_info. Could you check recording data using our recorder tool.

Dear @SivaRamaKrishnaNV

I try replayer tool , but same error.
Attach the command and logs.

Could you check it out?

   nvidia@tegra-ubuntu:/usr/local/driveworks/tools/replayer$ ./replayer --camera=/imx390/rggb/imx390.raw
Arguments:
--camera=/imx390/rggb/imx390.raw
--can=
--can0dbc=
--can1dbc=
--can2dbc=
--can3dbc=
--candbc=
--gps=
--imu=
--lidar=
--offscreen=0
--profiling=1
--radar=
--rig=
--timestamp=
[17-04-2020 13:40:03] Platform: Detected DDPX - Tegra A
[17-04-2020 13:40:03] TimeSource: monotonic epoch time offset is 1586413304544990
[17-04-2020 13:40:03] PTP Time is available from NVPPS Driver
[17-04-2020 13:40:03] Platform: number of GPU devices detected 1
[17-04-2020 13:40:03] Platform: currently selected GPU device integrated ID 0
[17-04-2020 13:40:03] SDK: Resources mounted from ../../data/
[17-04-2020 13:40:03] SDK: Create NvMediaDevice
[17-04-2020 13:40:03] SDK: use EGL display as provided
[17-04-2020 13:40:03] TimeSource: monotonic epoch time offset is 1586413304544990
[17-04-2020 13:40:03] PTP Time is available from NVPPS Driver
[17-04-2020 13:40:03] Initialize DriveWorks SDK v2.2.3136
[17-04-2020 13:40:03] Release build with GNU 7.3.1 from heads/buildbrain-branch-0-gca7b4b26e65 against Drive PDK v5.1.6.1
[17-04-2020 13:40:03] Initialize DriveWorks VisualizationSDK v2.2.3136
[17-04-2020 13:40:03] Initialize DriveWorksGL SDK v2.2.3136
Replayer: [WARN]: Rig configuration is not specified. Running with limited functionality.
[17-04-2020 13:40:04] SensorFactory::createSensor() -> camera.virtual, video=/imx390/rggb/imx390.raw
[17-04-2020 13:40:04] [17-04-2020 13:40:04] CameraRAW: no seek table found at /imx390/rggb/imx390.raw.seek, seeking is not available.
CameraVirtual: File was recorded with newer DriveWorks version.
[17-04-2020 13:40:05] SensorManager: DW_FAILURE: CameraType: fromProperties no suitable camera type found for properties:
CameraType: 13
fov: 120
exposure: 3
isSimulated: 0

 

Replayer: [ERROR]: Failed to add camera sensor to sensor manager: DW_FAILURE.
[17-04-2020 13:40:05] Driveworks VisualizationSDK released
[17-04-2020 13:40:05] Releasing Driveworks SDK Context
[17-04-2020 13:40:05] SDK: Release NvMediaDevice
[17-04-2020 13:40:05] DriveworksGL SDK released
[17-04-2020 13:40:05] SDK: Release NvMedia2D
nvidia@tegra-ubuntu:/usr/local/driveworks/tools/replayer$

Dear @N.Miya,
Could you share the the output log for sample_camera_gmsl _raw. Let us confirm there is no issue in recording.

Dear @SivaRamaKrishnaNV

I ran samle_camera_gmsl_raw.
Attach the command and logs.

/usr/local/driveworks/bin/sample_camera_gmsl_raw --camera-type=imx390-rccb-bae-none --write-file=/work/imx390_record/image.raw --serializer-type=raw --camera-group=a
[20-04-2020 10:23:49] Platform: Detected DDPX - Tegra A
[20-04-2020 10:23:49] TimeSource: monotonic epoch time offset is 1586413304544990
[20-04-2020 10:23:49] PTP Time is available from NVPPS Driver
[20-04-2020 10:23:49] Platform: number of GPU devices detected 1
[20-04-2020 10:23:49] Platform: currently selected GPU device integrated ID 0
[20-04-2020 10:23:49] SDK: Resources mounted from /usr/local/driveworks-2.2/data/
[20-04-2020 10:23:49] SDK: Create NvMediaDevice
[20-04-2020 10:23:49] SDK: use EGL display as provided
[20-04-2020 10:23:49] Initialize DriveWorks SDK v2.2.3137
[20-04-2020 10:23:49] Release build with GNU 7.3.1 from /XXX/ against Drive PDK v5.1.6.1
[20-04-2020 10:23:49] Initialize DriveWorks VisualizationSDK v2.2.3136
[20-04-2020 10:23:49] Initialize DriveWorksGL SDK v2.2.3136
[20-04-2020 10:23:49] SensorFactory::createSensor() -> camera.gmsl, output-format=raw+data,camera-type=imx390-rccb-bae-none,camera-group=a,format=raw,fifo-size=3,slave=0
[20-04-2020 10:23:49] CameraGMSL: Couldn't set CameraGMSL setup thread sched params!
[20-04-2020 10:23:49] CameraGMSL: Create NvMediaIPPManager
[20-04-2020 10:23:49] CameraGMSL: required FPS = 30, resolution = 1936x1216
nvmedia isc: GetCameraPowerControlLevel: 936: Camera power control library: NVCCP
Max96712 Rev 2 detected!
MAX96712 Rev 2 manual adaptation on the link 0(31)
MAX9295: Revision 8 detected!
Sensor IMX390 Rev 0 RGGB detected!
Reading camera_overrides.isp override file
[20-04-2020 10:23:51] CameraGMSL: default IPP event callback function set
Successfully initialized camera with resolution of 1936x1220 at framerate of 30.000000 FPS
[20-04-2020 10:23:51] Setting up SoftISP
[20-04-2020 10:23:51] StreamConsumerGL: successfully initialized
[20-04-2020 10:23:51] StreamProducerCUDA: successfully initialized
[20-04-2020 10:23:51] camera params: format=raw,type=disk,file=/work/imx390_record/image.raw,encoder-instance=
^CTiming results:
Thread main:
-onProcess                CPU: 29471us, std=1158       | GPU: 29336us, std=1162       | samples=1280
--serializeAsync          CPU:  2300us, std=1108 ( 7%) | GPU:  2211us, std=1121 ( 7%) | samples=1280
-onRender                 CPU:  2111us, std= 625       | GPU:  2398us, std= 620       | samples=1280

 

[20-04-2020 10:24:34] Sensor statistics for: camera.gmsl, output-format=raw+data,camera-type=imx390-rccb-bae-none,camera-group=a,format=raw,fifo-size=3,slave=0
[20-04-2020 10:24:34] Events: 1282
Errors: 0
Drops: 0
minDelta: 33234.0000000
maxDelta: 33419.0000000
meanDelta: 33333.382813
Standard deviation: 10.007135
[20-04-2020 10:24:34] Driveworks VisualizationSDK released
[20-04-2020 10:24:34] Releasing Driveworks SDK Context
[20-04-2020 10:24:34] SDK: Release NvMediaDevice
[20-04-2020 10:24:34] DriveworksGL SDK released
[20-04-2020 10:24:34] SDK: Release NvMedia2D

Regardsing line 11, since it might depend our build environment, I modified build path to /XXX/

Dear @N.Miya,
Could you please check using the sample with camera-type as imx390-rccb-bae and let us know the output

Dear @SivaRamaKrishnaNV

I ran changing camera-type parameter to imx390-rccb-bae.
But Camera not found.

Is this IMX390 driver problems?

 /usr/local/driveworks/bin/sample_camera_gmsl_raw --camera-type=imx390-rccb-bae --write-file=/work/imx390_record/image.raw --serializer-type=raw --camera-group=a
[20-04-2020 19:47:55] Platform: Detected DDPX - Tegra A
[20-04-2020 19:47:55] TimeSource: monotonic epoch time offset is 1586413304544990
[20-04-2020 19:47:55] PTP Time is available from NVPPS Driver
[20-04-2020 19:47:55] Platform: number of GPU devices detected 1
[20-04-2020 19:47:55] Platform: currently selected GPU device integrated ID 0
[20-04-2020 19:47:55] SDK: Resources mounted from /usr/local/driveworks-2.2/data/
[20-04-2020 19:47:55] SDK: Create NvMediaDevice
[20-04-2020 19:47:55] SDK: use EGL display as provided
[20-04-2020 19:47:55] Initialize DriveWorks SDK v2.2.3137
[20-04-2020 19:47:55] Release build with GNU 7.3.1 from /XXX/ against Drive PDK v5.1.6.1
[20-04-2020 19:47:55] Initialize DriveWorks VisualizationSDK v2.2.3136
[20-04-2020 19:47:55] Initialize DriveWorksGL SDK v2.2.3136
[20-04-2020 19:47:55] SensorFactory::createSensor() -> camera.gmsl, output-format=raw+data,camera-type=imx390-rccb-bae,camera-group=a,format=raw,fifo-size=3,slave=0
[20-04-2020 19:47:55] Driveworks exception thrown: DW_FAILURE: CameraType: fromName no suitable camera type found

terminate called after throwing an instance of 'std::runtime_error'
  what():  [2020-04-20 19:47:55] DW Error DW_FAILURE executing DW function:
 dwSAL_createSensor(&m_camera, params, m_sal)
 at /dvs/git/dirty/gitlab-master_av/dw/sdk/samples/sensors/camera/camera_gmsl_raw/main.cpp:178
Aborted (core dumped)

Dear @SivaRamaKrishnaNV

Do you have any update?

Dear @N.Miya,
I am checking internally with team as these camera flags are not part of DRIVE SW release. I will update you soon

Dear @SivaRamaKrishnaNV

Thank you for checking.
I am looking forward to your update.

Dear @N.Miya,
Can you please attach the video via any shared drive here?

I’m sorry for confusing you.
I was able to solve this problem by updating IMX390 driver.
I want to finish this topic.

Thank you for your cooperation.