CSI data capture on GPU

Hi Team,

I am using an imx219 camera sensor on the Xavier NX board. I want to access the CSI data on GPU. I want to pass the CSI data to GPU and access the data from GPU.
Is it possible?
If yes could you please point out the procedure


Argus would auto tune the sensor and auto-improvements with ISP and provide NV12 frames into NVMM (DMA-able) memory, which is ready for processing with GPU.

You may check the samples from jetson multimedia API, or the easier for prototyping may be using gstreamer, with nvarguscamerasrc plugin for reading camera and nvivafilter plugin for GPU processing (you would download sources for this plugin and you would be able to build a custom lib for processing) .

Hi @Honey_Patouceul

Thanks for your reply.

I don’t want to use ISP processing on the data, I want to capture raw data and access it using GPU.
So Is there any other procedure available other than GStreamer with nvarguscamerasrc plugin?


I don’t know why you don’t want to use ISP but it would by far be the easiest way for debayering.
gstreamer only supports 8 bits or 16 bits bayer formats, so it is not an option without some work.

I would advise to keep argus for debayering, you may set gain, exposure, and disable auto exposure/wb/ee if you don’t want auto-adjustment.
This way you would have NV12 video frames in NVMM memory ready for being processed by GPU.

Please check the sample:


It demonstrates capturing YUV422 data to CUDA buffers. You can customize it to capture RAW data.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.