Dear nvidia-Team,
I am having problems accessing a dwImageCUDA’s data in RGBA_UINT8 pitch configuration. The problem does not occur with RAW_UINT16.
I am aware that I cannot access the data from host directly, but copying any data from dptr[0] does not work, neither by cudaMemcpy (as it works for the RAW_UINT16 case) nor by cudaMemcpy2D, neither to device nor host. Both give error 700, which is Illegal Memory Access. It does not matter if I try for a subspace of the data or even only the first byte.
The image gotten from the camera gives all the right infos as far as I can see.
Format: 1012 (RGBA_UINT8)
Dimensions 1920x1208
Memory type 1 (Pitch)
Image type 2 (CUDA)
Element size 1
Number of Planes 1
Channels 4
Plane size 1920x1208
Pitch[0]: 7680
dptr[0] has a value, the others do not, neither does array[0]
Copying the data from RAW_UINT16 works with
the call
cudaMemcpy(dst, frame->dptr[0], 1920x1208x2, cudaMemcpyDeviceToX),
but not for RGBA_UINT8 with e.g.
cudaMemcpy(dst, frame->dptr[0], 1920x1208x4, cudaMemcpyDeviceToX) or
cudaMemcpy2D(dst, dstPitch, frame->dptr[0], frame->pitch[0], 1920x1208x4, cudaMemcpyDeviceToX)
I also tried dwImageStreamer as a converison tool to dwImageCPU (just for test purposes), but it crashes on the producerSend step without an error message.
I am starting the camera with the following parameter string:
output-format=yuv,isp-mode=yuv444-uint8,camera-type=ar0231-rccb-bae-sf3324,camera-group=a,slave=0,camera-mask=1000,camera-count=4,mode=mailbox
RAW_UINT16 has the following changes:
output-format=raw+data,camera-type=ar0231-rccb-bae-sf3324,camera-group=a,slave=0,camera-mask=1000,camera-count=4,mode=mailbox
Alternatively, I would also be happy with a performant transformation of the raw uint16 image to rgba_uint8, though I think having the driveworks function taking that processing step directly when grabbing the frame should be the most optimal path.
Please provide the following info (check/uncheck the boxes after creating this topic):
Software Version
DRIVE OS Linux 5.2.6
DRIVE OS Linux 5.2.6 and DriveWorks 4.0
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.7.0.8846
other
Host Machine Version
native Ubuntu 18.04
other