Where is the vi output data stored?

Where is the vi output image data stored in buff? Which.c function is it in? Because I want to extract this image data, but I don’t know where to find it.

Hello @allenzhu,

Could you please provide a bit more insight on what you want to achieve ?

regards,
Andrew
Embedded Software Engineer at ProventusNova
Get Engineering Support: support@proventusnova.com
www.proventusnova.com

I have a camera that outputs the original image type of raw10. I want to convert the original image to grayscale image on the Soc side. I need to transfer the original image output of vi to my conversion function, but I don’t know how to get the image data input by vi.

@allenzhu,

You could use GStreamer to capture using v4l2src and then you can convert to other formats or even get it into your application if you require further processing.

Be aware that in order to capture RAW10 with v4l2src you will need to patch the element to support that pixel depth. However, there is this wiki from RidgeRun that will help you achieve that.

Do you think that might help?

regards,
Andrew
Embedded Software Engineer at ProventusNova
Get Support: support@proventusnova.com
www.proventusnova.com

ok, thaks. but why need to patch the element? agx orin don’t support to parse raw10 format?

Another situation is that we do not do the application layer, I need to obtain image data from the output of vi module, and then give it to the customer. Therefore, I still want to know where the vi module continues to transfer the image data to memory

@allenzhu,

That is a great question.

Is not that the Jetson does not support raw10, but rather the v4l2src element itself.

You could change the board, but you would still need to patch the element.

regards,
Andrew
Embedded Software Engineer at ProventusNova

@allenzhu,

Got it.

That is no problem.
But you need to be sure about how is that the user requires the buffers to be delivered so you can provide an optimal solution.

If you patch v4l2src, you can create a pipeline where you capture raw10 and send it to an appsink element. The your customer can grab the frames using appsrc.

Please let me know if I can help you more with this. It would be a pleasure.

regards,
Andrew
Embedded Software Engineer at ProventusNova

Yes, but I don’t know what to do in more detail. Agx Orin is the first nvidia product we debugged. I’m not familiar with it. Can you tell me and your detailed practice?

@allenzhu,

Oh, ok got it.

There are multiple steps to finding this solution.

  1. Donwload the GStreamer sources and patch the v4l2src element. You can do this natively in the Jetson board.
  2. Create the pipeline. You can start with a simple pipeline like gst-launch-1.0 v4l2src ! fakesink
  3. Create a sample app for your customer using appsink/appsrc

Lets start with the step 1, then we can work on the next steps.

regards,
Andrew
Embedded Software Engineer at ProventusNova

regards,
Andrew

Yes, it’s a plan. But when we communicate with customers, they expect us to pass data from the bottom to them through a callback function. That’s why I want to know where the image data output by vi will be, so that I can get it and pass it to the customer through the callback function.

@allenzhu,

Would it be possible for you to ask your customer to provide a code snipped of their application where they will use the image?

Also, would you be opposed to jumping into a free call so we can better understand your position?

regards,
Andrew
Embedded Software Engineer at ProventusNova

Because the business negotiations are still going on, so, you know, the code is not going to be given to us now, and we need to develop this part ourselves first. I’m not against free calls, but my spoken English is not very good, so I’m a little worried that I can’t express myself clearly.

Hey @allenzhu,

No problem, we can coordinate something.

regards,
Andrew
Embedded Software Engineer at ProventusNova