live camera integration

Hi,

I was trying to integrate live cameras for object tracker as mentioned in “Getting-started-with-NVIDIA-Drive-Platform-to-develop-Autonomous-Driving-application.pdf”. But I got some problems:

Firstly I didn’t find ‘setupTextureYuvObject()’ function as mentioned in the doc.

Then, after I did other changes, scp the sample_object_tracker to PX2, and ran that on PX2, I got following errors:

nvidia@tegra-ubuntu:/usr/local/driveworks-0.2.1/sample-mod$ ./sample_object_tracker
Program Arguments:
–offscreen=0
–tensorRT_model=…/data/samples/detector/tensorRT_model.bin
–tracker=…/data/samples/tracker/config.txt
–video=…/data/samples/sfm/triangulation/video_0.h264
–yuv2rgb=cuda

Initialize DriveWorks SDK v0.2.1
Release build with GNU 4.9.2 from v0.2.1-rc6-0-g684729c against PDK v4.1.4.0
SDK: no resource mounted
SDK: Create NvMediaDevice
SDK: use EGL display as provided
SAL: identified board as DrivePX2-TegraA
SensorFactory::createSensor() -> camera.gmsl, camera-type=ar0231-rccb,offscreen=0,csi-port=ab
CameraGMSL: required FPS = 30, resolution = 1920x1208
***** aurix state *****
CAM_PWR_ON: 0x0
TEGRA_GMSL: TEGRA B
TEGRA_FPDL: TEGRA B
TEGRA_A_HDMI: MXM
TEGRA_B_HDMI: MXM
TEGRA_PCI: TEGRA B
FAN_STATE: UNKNOWN


***** aurix state *****
CAM_PWR_ON: 0x1
TEGRA_GMSL: UNKNOWN
TEGRA_FPDL: UNKNOWN
TEGRA_A_HDMI: UNKNOWN
TEGRA_B_HDMI: UNKNOWN
TEGRA_PCI: UNKNOWN
FAN_STATE: UNKNOWN


Camera image with 1280x800 at 30 FPS
Initializing TensorRT Network: …/data/samples/detector/tensorRT_model.bin
CameraGMSL: Frame: 10 CaptureTimestamp: 1676857600 - ICP DROP
CameraGMSL: Frame: 11 CaptureTimestamp: 1676890942 - ICP DROP


CameraGMSL: Frame: 71 CaptureTimestamp: 1678890863 - ICP DROP
DataConditioner: Scale transformation has been configured with 1.0.
DataConditioner: Split transformation has been enabled.
DataConditioner: Value subtract transformation has been configured with {0.0, 0.0, 0.0}.
CameraGMSL: Frame: 72 CaptureTimestamp: 1678924207 - ICP DROP
invalid entry trackInterval 10 in the tracker config file
Feature Tracker settings: , width=1280, imageHeight=800, maxFeatureCount=500, iterationsLK=10, windowSizeLK=8, detectorScoreThreshold=0.1
CameraGMSL: Frame: 73 CaptureTimestamp: 1678957526 - ICP DROP
ImageStreamer(Nvmedia->CUDA): Properties img vs streamer:
format: 4, 4
type: 64, 64
width: 1920, 1280
height: 1208, 800
Driveworks exception thrown: DW_INVALID_ARGUMENT: ImageStreamer(NvMedia->CUDA): image properties don’t match streamer’s
cannot post NvMedia YUV frame DW_INVALID_ARGUMENT
CameraGMSL: Frame: 74 CaptureTimestamp: 1678990870 - ICP DROP
CameraGMSL: Frame: 75 CaptureTimestamp: 1679024214 - ICP DROP
ImageStreamer: cannot receive, EGLstream busy
did not received CUDA YUV frame within 60ms
Driveworks exception thrown: DW_INVALID_ARGUMENT: FormatConverter (cuda): invalid input arguments
Cannot convert frame CUDA YUV->RGBA: DW_INVALID_ARGUMENT
CameraGMSL: Frame: 76 CaptureTimestamp: 1679057533 - ICP DROP
Driveworks exception thrown: DW_INVALID_ARGUMENT: createTextureSingleChannelNormalized: Too many channels on texture.
fail to build pyramid: DW_INVALID_ARGUMENT
CameraGMSL: Frame: 77 CaptureTimestamp: 1679090877 - ICP DROP
ImageStreamer: timeout waitPosted, producer waited for 33000 ms.
Warning: waitPosted (nvmedia cuda) timed out
ImageStreamer(Nvmedia->CUDA): Properties img vs streamer:
format: 4, 4
type: 64, 64
width: 1920, 1280
height: 1208, 800
Driveworks exception thrown: DW_INVALID_ARGUMENT: ImageStreamer(NvMedia->CUDA): image properties don’t match streamer’s

I’m not good at C/C++, can someone please help? Thanks!!