11-23-2020 09:33 PM
We are using PetaLinux 2019.2 package for our development and 7EV SoC based custom platform.
In FPGA, we have integrated HDMI TX and HDMI RX subsystems without any sub devices (such as VPSS).
HDMI RX SS -> Frame Write
Frame reader -> HDMI TX SS
We are able to stream the HDMI RX input data to the HDMI TX with below command.
gst-launch-1.0 v4l2src device=/dev/video0 io-mode=4 ! video/x-raw, width=1920, height=1080, format=RGB, framerate=60/1 ! queue ! kmssink driver-name=xlnx
We would like to minimize the software effort in-order to reduce the CPU usage.
For the same, we would like do the Mem2Mem as mentioned below.
Could you please suggest us, is that feasible to do from FB writer to FB reader?
Thanks and Regards,
11-26-2020 04:21 AM
I am not sure what you want to achieve.
From my understanding you want to avoid going through the memory. But the mem2mem driver is to do from memory to memory so it would even more increase the memory usage.
This is the way the v4l2 and DRM linux drivers are working. You need to go from and to the memory.
If you want to avoid going to the memory, then you might want to consider using the baremetal driver (potentially use a microblaze to control the video pipeline with baremetal).
11-30-2020 04:19 AM
Thank you for pointing me to this post in the call. Whatever system load achieved by the simple pass through pipeline is very bare minimum. Also the usage of mem2mem is for processing purpose. Using mem2mem you can pass on the video buffers from one video node to the other seamlessly.
The current pipeline that you are running passes the dma fds from one node to the another without mem copies. So currently you have very minimum system load from this pass through pipeline.
Do you see any abnormalities with TOP command?
as mentioned by @florentw already you may not require to use this feature at all.
11-30-2020 04:43 AM
Thank you for your valuable inputs.
>>The current pipeline that you are running passes the dma fds from one node to the another without mem copies. So currently you have very minimum system load from this pass through pipeline.
Yes. Currently, the HDMI RX stream passed to HDMI TX without mem copies.
But our actual project requirement, we have to pass the HDMI RX stream to 2xHDMI TX & 2xSDI outputs. So, we feel mem copies between the nodes will provide good performance.
This is the reason we are looking for mem2mem implementation & as a first step, we would like to pass the dma fds from one node to another with mem copies from HDMI RX to HDMI TX.
Could you please suggest us on the same.
Thanks and Regards,
11-30-2020 08:03 AM
Does all this pipes involve any processing? If no, then you actually do not require mem2mem. If there is any actual processing between them you can explore the options of mem2mem samples given in the wiki.