FPGA Intellectual Property
PCI Express*, Networking and Connectivity, Memory Interfaces, DSP IP, and Video IP
6376 Discussions

Problem W/ Altera VIP Frame Buffer II

EvanHamiltonJAVS
Beginner
148 Views

I have configured an FPGA design for my linux device that is displaying SDI and HMDI inputs. It was originally configured to receive YCbCr 4:2:2 video format. Since I am experiencing green spill on images when trying to chroma key, I am attempting to change the input data to RGBA. 

 

For a test, I have implemented a conversion into the FPGA that handles the RGB input from the frame buffer. I believe this conversion is correct because the color values come out as expected.

 

FPGA Design Here:

FPGA_Forum_Help.png

fpgahelppt2.png

FB -> CSC -> CRS -> Output

This is the same for all four mixers.

 

I am using gstreamer to input the color bars pattern into the pipeline.

(gst-launch-1.0 videotestsrc ! videoconvert ! video/x-raw,format=BGR,width=1920,height=1080 ! videoconvert ! filesink location="/dev/fb3")

There are 4 frame buffers located at "/dev/fb0", "/dev/fb1", and so on.

 

Basically the issue is these frame buffer's graphics are overlapping and changing the memory regions in the DTS file does not fix the issue:

"gst-launch-1.0 videotestsrc ! videoconvert ! video/x-raw,format=BGR,width=1920,height=1080 ! videoconvert ! filesink location="/dev/fb0"

EvanHamiltonJAVS_0-1715010416346.jpeg

 

"gst-launch-1.0 videotestsrc ! videoconvert ! video/x-raw,format=BGR,width=1920,height=1080 ! videoconvert ! filesink location="/dev/fb1"

EvanHamiltonJAVS_1-1715010451602.jpeg

 

"gst-launch-1.0 videotestsrc ! videoconvert ! video/x-raw,format=BGR,width=1920,height=1080 ! videoconvert ! filesink location="/dev/fb3"

EvanHamiltonJAVS_2-1715010488853.jpeg

 

I can even see the bottom portion of the color bars pattern when changing the height to 720.

"gst-launch-1.0 videotestsrc ! videoconvert ! video/x-raw,format=BGR,width=1920,height=720 ! videoconvert ! filesink location="/dev/fb3"

EvanHamiltonJAVS_3-1715010571472.jpeg

 

The drivers being used for the frame buffer is altvipfb.c and altvipfb2-plat.c

Here is the DTS snippet of these frame buffer components and the boot logs where the frame buffers are initialized:

DTS snippetDTS snippetBoot LogsBoot Logs

The virtual address and length seen in these boot logs do not change at all when DTS changes are made.

 

I also get this error when inputting a pipeline:

nospaceerror.png

 

If anyone could help me approach this issue it would be greatly appreciated.

 

Thanks,

Evan

0 Kudos
1 Reply
ZH_Intel
Employee
60 Views

Hi Evan,

 

Thank you for reaching out.

Apologize for the delayed response as we encounter some technical difficulty.

Just to let you know that Intel has received your support request and currently we are confirming the details with our internal team.

I shall come back to you with findings.

 

Thank you for your patience.

 

Best Regards,

ZH_Intel



Reply