Redirecting Captured Video Frames to IPU

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Redirecting Captured Video Frames to IPU

Jump to solution
758 Views
denizdayan
Contributor II

I am trying to compose capture frames with another frame, but my goal is not to display the resulting frames on screen. I am trying to send the frames via Ethernet. Since I am working on a 1920x1080 video stream, getting camera frames to user-space has a big penalty for my system. So I thought that somehow if I link capture output to IPU task's input, and link overlay frames (from /dev/fb1) to IPU task's overlay paddr, I can perform a zero-copy composition. I looked over some IPU API examples, and it seems that linking can be done by assigning physical addresses (paddr member of ipu task struct). And then I looked over V4L2 capture examples, but I couldn't find a way to access physical addresses of the capture buffers.

How can I achieve this? There are 3 ways to store capture buffers: MMAP, USERPTR and DMABUF. DMABUF method seemed the right one, but I could not find a comprehensive example to understand the method.

And more importantly, is this the right way to approach this problem? Thanks in advance.

Labels (4)
0 Kudos
1 Solution
627 Views
art
NXP Employee
NXP Employee

Yes, the approach you describe is the right one.

The MMAP method seems to be the right one to allocate physical memory.

Some useful information on that matter can be found here:

https://linux-kernel-labs.github.io/master/labs/memory_mapping.html


Have a great day,
Artur

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
1 Reply
628 Views
art
NXP Employee
NXP Employee

Yes, the approach you describe is the right one.

The MMAP method seems to be the right one to allocate physical memory.

Some useful information on that matter can be found here:

https://linux-kernel-labs.github.io/master/labs/memory_mapping.html


Have a great day,
Artur

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos