08-28-2019 11:11 AM
I'm using video frame buffer read IP with remapper and DPTX 1.4 IP for display. I initiallly set the IP memory format to be RGB8. The IP works fine. Then I tried RGBX8 format, the value loaded into DDR4 has been verified, but the output is not right. When I use all red pixel and set the pattern in RGBX8 format as 0xFF0000FF, memory brouser shows good value. The display has image mixed with red, green and blue colors. ILA check of frame buffer read output also shows pixel value has been shifting, either FF0000, or 00FF00 or 0000FF. I also tried load into a picture, I found the picture shape has been skewed and the color is not right either.
From the above observation, it seems video buffer read IP is still taking 3bytes from memory instead of 4bytes. That could cause both pixel change and image shape skew. I have modified code to make sure Video frame buffer read configures the memory type to be RGBX8 (XVIDC_CSF_MEM_RGBX8 -- 10). Is there anything else I can check?
I'm using vivado 2019.1 and ZCU106 EVM.
Thanks and Regards,
08-29-2019 02:35 AM
Can you provide a screenshot of the options you selected in the Video Frame Buffer Read and Write IP Configuration GUIs?
09-11-2019 03:41 PM
It looks like you are using the Bare Metal drivers to read data from the memory.
You said that when you set the format to RGB you read the expected datat, but when you set the format to RGBX that you see the data moving. You might want to check to see if the data is written into memory in the RGBX format. If the data was writting into memory in RGB format and you try to read it out in RGBX format, you would see similar results to what you are describing, where the data changes position as you read it out of memory.
One way to test that the data is being written into memory in the RGBX format you could use the Video Frame Buffer Write and make sure that it is configured to write in RGBX format.
You might want to look at the Video Frame Buffer Write Example Design. You can find more details about it in PG278 on page 37. To generate it you just right click on an instance of the Video Frame Buffer Write IP and select "Open IP Example Design...". This would give you both the Video Frame Buffer Write and Video Frame Buffer Read to do some testing.
09-23-2019 05:52 AM
If your question is answered or your issue is solved, please kindly mark the response which helped as solution (click on "Accept as solution" button below the reply).
If this is not solved/answered, please reply in the topic giving more information on your current status.
Thanks and Regards,
10-01-2019 04:06 AM - edited 10-01-2019 04:10 AM
I guess this issue had the same root cause as the one you described in this topic?
You might see this type of behaviour if you are not resetting the VIideo Frame Buffer while there is a change in the resolution.
PS. I have modified the example design application for the video frame buffer write as attached. The application is reading a pattern into memory using the video frame buffer read and writting it back using the Video Frame buffer write. Looking at the memory written, the data looks correct so I do not think the Video frame buffer read has any issue outputting the data.
10-07-2019 01:52 AM