Current cvt timing calculation supports reduced blanking (RB) version 1.
This patch adds the support for RB version 2, which was missing.
 
Compared to RB version 1, RB version 2 differs on different parameters.
This difference is summarized in the document VESA Coordinated Video
Timings Standard Version 1.2, Page 24, Table 5-4: Delta between Original
Reduced Blank Timing and Reduced Blank Timing V2.

One of the key difference to note is related to vsync parameter. Normally
vsync pulse duration varies based on aspect ratio. v4l2_detect_cvt()
makes use of this fact and infers the apsect ratio from vsync. However,
in case of RB version 2, one cannot infer aspect ratio from vsync because
for RB version 2 standard uses fixed value of vsync = 8 irrespective of
aspect ratio. In fact, vsync = 8 is used to indicate the timings are based
RB version 2. As such RB version 2 allows for non standard aspect ratios and
it needs to be calculated from image height and width. 

Referring to input parameters available to v4l2_detect_cvt(), it does not
have infromation about width. It rather have information about height and
the function calculates width after it infers about aspect ratio from vsync.
For RB version 2, this needs to be changed, possibly, by supplying aspect
ratio to v4l2_detect_cvt(). (on the lines similar to that of detect_gtf())

I have not done any API change in this patch. This patch is rather limited
to changes in timing calculation for RB version 2. As of now, I have just
assumed a default value for aspect ratio at 16:9.

Please review the timing calculation part and share your comments. Also
share your suggestions, comments about if we should extend v4l2_detect_cvt()
api to include aspect ratio.

Regards,
Prashant

Prashant Laddha (1):
  v4l2-dv-timings: add support for reduced blanking v2

 drivers/media/v4l2-core/v4l2-dv-timings.c | 72 +++++++++++++++++++++++--------
 1 file changed, 54 insertions(+), 18 deletions(-)

-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to