Questions about Argus and the camera pipeline

Hello, I am trying to gain a better understanding of the camera pipeline and I need some things clarified.

I am using nvarguscamerasrc to stream cameras images, I also have my own custom camera L4T driver.

According to the Sensor Software Driver Programming Guide, the camera infrastructure looks like this:

And according to the e-con Systems website, the camera pipeline when using nvarguscamerasrc looks like this:

Questions:

  • How is the L4T driver coming into play here? It seems that it’s not used from those diagram, but it is obviously used.
  • When I use nvarguscamerasrc, how and why are l4t devices (/dev/videoX) used?
  • How is the VI coming into play here?
  • How is the ISP used if it’s using the L4T devices anyway?

I also have specific questions about Argus:

  • What is the purpose of the argus daemon ?
  • If Argus is simply a high level API for Camera Core, why is a daemon needed?
  • Could I write my own GStreamer source element that uses Camera Core directly without using Argus?
  • Where is nvargus-daemon interface documented? (e.g. enableCamInfiniteTimeout, enableCamPclLogs, enableCamScfLogs)

Thanks for reading this, after days of research I couldn’t find answers to those questions.

No matter nvarguscamerasrc or v4l2src/v4l2 API both need involve sensor driver(/dev/videox), otherwise how the source coming from. Below is the pipeline.

sensor → csi/vi → ISP → camera core → argus
sensor → csi/vi → memory (v4l2)

The daemon help for the multiple sensor use case.
We don’t public camera core API to use also don’t have document for it suppose the argus API do the thing well.

@ShaneCCC Thanks for your answer,
How are frames stored in memory when using the L4T pipeline ? What format is used ?

Here are the list of questions that still need answering:

  • When I use nvarguscamerasrc, how and why are l4t devices (/dev/videoX) used?
  • Where is nvargus-daemon interface documented? (e.g. enableCamInfiniteTimeout, enableCamPclLogs, enableCamScfLogs)

Thanks !

Check below for the memory layout of pixel data.

Why not? I think this tell every why.

  • When I use nvarguscamerasrc, how and why are l4t devices (/dev/videoX) used?

Don’t have document for it.

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