[lkml]   [2017]   [Mar]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH 0/3] Handling of reduced FPS in V4L2
Hi all,

This is a follow up patch from this discussion [1]. It should be
seen more as a starting point to introduce better handling of
time per frame in v4l2. Quoting Hans Verkuil from [1]:

1) "Add a flag V4L2_DV_FL_CAN_DETECT_REDUCED_FPS. If set,
then the hw can detect the difference between regular fps
and 1000/1001 fps. Note: this is only valid for timings of
VIC codes with the V4L2_DV_FL_CAN_REDUCE_FPS flag set."

2) "Allow V4L2_DV_FL_REDUCED_FPS to be used for receivers

3) "For standard VIC codes the pixelclock returned by
query_dv_timings is that of the corresponding VIC timing,
not what is measured. This will ensure fixed fps values"

4) "g_parm should calculate the fps based on the v4l2_bt_timings
struct, looking at the REDUCES_FPS flags. For those receivers that
cannot detect the difference, the fps will be 24/30/60 Hz, for
those that can detect the difference g_parm can check if both
set and reduce the fps by 1000/1001."

In terms of implementation:
- Point 1) is done in patch 1/3
- Point 2) and 3) should be done by a HDMI Receiver driver
(I think?).
- Point 4) is done in patch 2/3.
- The patch 3/3 is a simple implementation (which was not
tested) in the cobalt driver


Best regards,
Jose Miguel Abreu

Cc: Carlos Palminha <>
Cc: Mauro Carvalho Chehab <>
Cc: Hans Verkuil <>

Jose Abreu (3):
[media] videodev2.h: Add new DV flag CAN_DETECT_REDUCED_FPS
[media] v4l2-dv-timings: Introduce v4l2_calc_timeperframe helper
[media] cobalt: Use v4l2_calc_timeperframe helper

drivers/media/pci/cobalt/cobalt-v4l2.c | 9 +++++--
drivers/media/v4l2-core/v4l2-dv-timings.c | 39 +++++++++++++++++++++++++++++++
include/media/v4l2-dv-timings.h | 11 +++++++++
include/uapi/linux/videodev2.h | 7 ++++++
4 files changed, 64 insertions(+), 2 deletions(-)


 \ /
  Last update: 2017-03-21 12:50    [W:0.576 / U:0.572 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site