07-13-2018 11:07 AM - edited 07-13-2018 11:08 AM
Hello,
trying to detect the video mode of an image sensor configured to output VGA, I realised that Vivado and SDK could present incosistent data between the IP core and its driver.
The 640x480p (VGA) mode for VTC generator defines the following timing parameters:
Note that the active sizes are 640 H and 480 V.
But when I tried (and failed) to detect the video mode for this input timing, I realised that the implementation of XVtc_ConvTiming2VideoMode function states:
... } else if((TimingPtr->HActiveVideo == 656) && (TimingPtr->VActiveVideo == 496)) { return XVTC_VMODE_VGA; } ...
So the driver expects 656 of H Active size instead of 640 and 496 V instead of 480, so it returns 0 when VGA is applied, althought the Detector Active Size Register returns 640x480.
I want to add that another test I've done is to connect a 640x480p VTC Generator to a VTC Detector, resulting in XVtc_ConvTiming2VideoMode() = 0, so the driver can not detect the IP core's VGA default timing, which can cause confusion for an entry user as I am.
I am working with Vivado 2016.3.
Am I missing something? Is this actually a bug?
Thank you,
Miguel.
07-16-2018 12:24 AM
Hi @jmigue,
In my opinion, this is an issue in the driver. For some reason, VGA was defined as 656x496 while it should be 640x480 as per the CVT standard.
I have already reported this to development and I expect an update of the driver in a future version (the issue is still in the driver in 2018.2).
You might want to update the driver manually (create a local repo) to change the VGA resolution to 640x480
Regards,
07-16-2018 12:24 AM
Hi @jmigue,
In my opinion, this is an issue in the driver. For some reason, VGA was defined as 656x496 while it should be 640x480 as per the CVT standard.
I have already reported this to development and I expect an update of the driver in a future version (the issue is still in the driver in 2018.2).
You might want to update the driver manually (create a local repo) to change the VGA resolution to 640x480
Regards,
07-16-2018 12:43 AM - edited 07-16-2018 12:44 AM
Thank you for your reply, @florentw.
Led me add that the reciprocal function XVtc_ConvVideoMode2Timing of the same driver defines the same HActive and VActive timings that expected for the ConvTiming2VideoMode function.
I am sure you considered it, anyway.
Miguel.
07-16-2018 12:47 AM
Hi @jmigue,
Thank you for reporting this as well. But yes, I already reported both to development ;)