UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Contributor
Contributor
386 Views
Registered: ‎11-26-2018

Fps problem using multiple vdma with live stream

Jump to solution

Hi,

I have a 4K 60fps live source (for the moment is the tpg) and I have to write the frames into the ddr of the ps and then create a h265 video (using the vcu). I started using one vdma and the tpg setted in rgb mode; on the the ps side I've created a v4l2 driver for gstreamer, with this configuration I reached 60fps at 4096x2160. The next step is the use of the vcu, but it need a semi-planar frame, so I've to convert from YUYV of the tpg (4:2:2) to NV16 (4:2:2). For this convertion I've realized an HLS module that from one input stream it creates two streams, one for the Y and one for the C (CbCr). The Y stream goes into the first vdma, the C stream goes to the second vdma and they are connected to two different Hp ports. With these configurations I can reach only 20fps 4096x2160.

Some tests I've made:
- Increased the clock of the two vdma, (up to 250MHz)
- Use of two HP port, one for each vdma
- Use of one HP port, I've used the smartconnect to connect the two vdmas to the same Hp
- Change some settings of the vdmas
- Use of continuous addresses for the y vdma, and for the C vdma

The results are always the same 20fps at 4096x2160.

If I only use the Y stream, without connecting the CbCr I can reach 60fps (4K), when I put the second stream, the fps drop to 20.

I can't figure out where is the problem.

conf.JPG20fps 4096x2160

 

Tags (3)
0 Kudos
1 Solution

Accepted Solutions
Moderator
Moderator
379 Views
Registered: ‎11-09-2015

Re: Fps problem using multiple vdma with live stream

Jump to solution

Hi andrea@ross ,

You might want yo have a look to the VCU TRD (link). It is using the video frame buffer instead of the VDMA. One reason for that is that it will take care of converting YUYV to NV12 or NV16 (sorry you had to make an IP for this).

Then you might want to look at the QoS setting in the section Preparing PetaLinux to Run VCU Applications from PG252 page 119.

Doing both should help.


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
2 Replies
Moderator
Moderator
380 Views
Registered: ‎11-09-2015

Re: Fps problem using multiple vdma with live stream

Jump to solution

Hi andrea@ross ,

You might want yo have a look to the VCU TRD (link). It is using the video frame buffer instead of the VDMA. One reason for that is that it will take care of converting YUYV to NV12 or NV16 (sorry you had to make an IP for this).

Then you might want to look at the QoS setting in the section Preparing PetaLinux to Run VCU Applications from PG252 page 119.

Doing both should help.


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
Contributor
Contributor
322 Views
Registered: ‎11-26-2018

Re: Fps problem using multiple vdma with live stream

Jump to solution

Thank you for the reply. I'm trying to make working the video frame buffer write, the only problem I have is the interrupt. I setted the bit 0 of the "Global Interrupt Enable" register to 1 and "IP Interrupt Enable" to ap_done, but the output of the interrupt port is still always high.

0 Kudos