09-21-2020 02:30 AM - edited 09-24-2020 02:11 AM
Hi,
In our custom design, we are trying to scale the YUV 422 image from 1080p to 3840x2160 using VPSS in scaler only mode. Input to scaler is coming from PLDDR through VDMA and the output is going to an HDMI video interface and the input and output axistream clock is 150 MHZ.
After VPSS is configured we are starting the VDMA to send data to VPSS. VPSS is receiving the data on its streaming slave interface and we are not seeing any output from the master streaming interface of VPSS.
We also tested Passthrough mode with VPSS in Full-fledged mode and we received the expected output. But when we try to scale incoming data in Full-fledged mode we were not getting any output at the output of VPSS.
We have attached the pictures of the VPSS configuration.
NOTE: While we are following the register write sequence of the Linux driver, observed that the H-scaler registers are getting altered ( checked the address offsets are not overlapping).
With this driver, data is passing through VSCALAR reaching till HSCALAR but not coming out of HSCALAR
NOTE: But with the sequence as per the bare-metal driver, the Hphase setting is done before hscaler register unlike in Linux driver sequence where it is done after h-scaler configuration.
With this test, the Hscaler registers are not getting altered, but seeing the data not getting into h-scaler.
The IP version we are currently using is 2.1.
Use case : upscaling 1920x1080@60 to 3840x2160@60, format: YUV4:2:2
Thanks in advance.
Edit: Added more details
10-05-2020 05:44 AM
Hi @shahan.a
It depends which driver you are using and which version.
If you are using baremetal driver, then yes 4 ppc is supported for any vivado version for which it can be enabled in the IP GUI. If you have issues with the baremetal driver you might want to use the journal fonction which I mentioned at the end of the following article:
If you are using the V4L2 driver, then 4 ppc is supported only if you use vivado/petalinux from 2019.2 as per following wiki page:
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842427/Xilinx+V4L2+VPSS+Scaler+driver
Patching the driver to support in earlier version is not supported
10-02-2020 04:19 AM
Hi @shahan.a
When debugging a video design it might be useful to get ILA data to see what is going on in detail. You might want to look for the tready and tvalid signals on both the AXI4-Stream interface of the VPSS.
This is something I go through in the following blog article:
Video Series 35 – Oh no! My video design does not work! What should I do?
The scaling you are trying to achieve from 1080p to 3840x2160 is a scaling by 4. Thus this needs that the output will need to go 4 times faster than the input but as well that the input needs to provide the data fast enough so the output can be generated.
I would recommend you to start with a smaller scaling ratio. See if that works. Then if it starts failing when you increase to much, this means that the rate is to low.
As the data is coming from a VDMA I assume you can run the input as fast a you want. So you might want to increase the frequency clocking the VPSS as the start if that the case that smaller ratio work.
Regards
10-05-2020 05:37 AM
Hi @florentw.
Thanks for your reply.
Is 4PPC supported in VPSS v2.1. Or only 2PPC is supported?
We checked the ILA data. At the input TREADY and TVALID are proper. And within VPSS we are recieving output from Vscalar block. But when this data is fed to Hscalar block it is not providing any output. TREADY at output was high but TVALID was not going high.
We configured VPSS at 4PPC and the clock frequency at input and output was 150MHz.
Thanks in advance
10-05-2020 05:44 AM
Hi @shahan.a
It depends which driver you are using and which version.
If you are using baremetal driver, then yes 4 ppc is supported for any vivado version for which it can be enabled in the IP GUI. If you have issues with the baremetal driver you might want to use the journal fonction which I mentioned at the end of the following article:
If you are using the V4L2 driver, then 4 ppc is supported only if you use vivado/petalinux from 2019.2 as per following wiki page:
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842427/Xilinx+V4L2+VPSS+Scaler+driver
Patching the driver to support in earlier version is not supported
10-09-2020 02:39 AM
Hi @florentw,