Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1613083 > unrolled thread
| Started by | Hans Verkuil <hverkuil@xs4all.nl> |
|---|---|
| First post | 2017-03-30 15:50 +0200 |
| Last post | 2017-03-31 11:10 +0200 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [PATCH 3/3] [media] cobalt: Use v4l2_calc_timeperframe helper Hans Verkuil <hverkuil@xs4all.nl> - 2017-03-30 15:50 +0200
Re: [PATCH 3/3] [media] cobalt: Use v4l2_calc_timeperframe helper Jose Abreu <Jose.Abreu@synopsys.com> - 2017-03-31 11:10 +0200
| From | Hans Verkuil <hverkuil@xs4all.nl> |
|---|---|
| Date | 2017-03-30 15:50 +0200 |
| Subject | Re: [PATCH 3/3] [media] cobalt: Use v4l2_calc_timeperframe helper |
| Message-ID | <tqICC-74s-25@gated-at.bofh.it> |
Hi Jose,
On 21/03/17 12:49, Jose Abreu wrote:
> Currently, cobalt driver always returns 60fps in g_parm.
> This patch uses the new v4l2_calc_timeperframe helper to
> calculate the time per frame value.
I can verify that g_parm works, so:
Tested-by: Hans Verkuil <hans.verkuil@cisco.com>
However, the adv7604 pixelclock detection resolution is only 0.25 MHz, so it
can't tell the difference between 24 and 23.97 Hz. I can't set the new
V4L2_DV_FL_CAN_DETECT_REDUCED_FPS flag there.
It might be possible to implement this for the adv7842 receiver, I think that
that hardware is much more precise.
I would have to try this, but that will have to wait until Friday next week.
Regards,
Hans
>
> Signed-off-by: Jose Abreu <joabreu@synopsys.com>
> Cc: Carlos Palminha <palminha@synopsys.com>
> Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
> Cc: Hans Verkuil <hans.verkuil@cisco.com>
> Cc: linux-media@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> ---
> drivers/media/pci/cobalt/cobalt-v4l2.c | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/pci/cobalt/cobalt-v4l2.c b/drivers/media/pci/cobalt/cobalt-v4l2.c
> index def4a3b..25532ae 100644
> --- a/drivers/media/pci/cobalt/cobalt-v4l2.c
> +++ b/drivers/media/pci/cobalt/cobalt-v4l2.c
> @@ -1076,10 +1076,15 @@ static int cobalt_subscribe_event(struct v4l2_fh *fh,
>
> static int cobalt_g_parm(struct file *file, void *fh, struct v4l2_streamparm *a)
> {
> + struct cobalt_stream *s = video_drvdata(file);
> + struct v4l2_fract fps;
> +
> if (a->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
> return -EINVAL;
> - a->parm.capture.timeperframe.numerator = 1;
> - a->parm.capture.timeperframe.denominator = 60;
> +
> + fps = v4l2_calc_timeperframe(&s->timings);
> + a->parm.capture.timeperframe.numerator = fps.numerator;
> + a->parm.capture.timeperframe.denominator = fps.denominator;
> a->parm.capture.readbuffers = 3;
> return 0;
> }
>
[toc] | [next] | [standalone]
| From | Jose Abreu <Jose.Abreu@synopsys.com> |
|---|---|
| Date | 2017-03-31 11:10 +0200 |
| Message-ID | <tr0Jb-2AS-11@gated-at.bofh.it> |
| In reply to | #1613083 |
Hi Hans,
On 30-03-2017 14:42, Hans Verkuil wrote:
> Hi Jose,
>
> On 21/03/17 12:49, Jose Abreu wrote:
>> Currently, cobalt driver always returns 60fps in g_parm.
>> This patch uses the new v4l2_calc_timeperframe helper to
>> calculate the time per frame value.
> I can verify that g_parm works, so:
>
> Tested-by: Hans Verkuil <hans.verkuil@cisco.com>
>
> However, the adv7604 pixelclock detection resolution is only 0.25 MHz, so it
> can't tell the difference between 24 and 23.97 Hz. I can't set the new
> V4L2_DV_FL_CAN_DETECT_REDUCED_FPS flag there.
>
> It might be possible to implement this for the adv7842 receiver, I think that
> that hardware is much more precise.
>
> I would have to try this, but that will have to wait until Friday next week.
Thanks! Yes, maybe its better to test with a different receiver,
if it has more precision then its great. Let me know if you need
any help :)
Best regards,
Jose Miguel Abreu
>
> Regards,
>
> Hans
>
>> Signed-off-by: Jose Abreu <joabreu@synopsys.com>
>> Cc: Carlos Palminha <palminha@synopsys.com>
>> Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
>> Cc: Hans Verkuil <hans.verkuil@cisco.com>
>> Cc: linux-media@vger.kernel.org
>> Cc: linux-kernel@vger.kernel.org
>> ---
>> drivers/media/pci/cobalt/cobalt-v4l2.c | 9 +++++++--
>> 1 file changed, 7 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/media/pci/cobalt/cobalt-v4l2.c b/drivers/media/pci/cobalt/cobalt-v4l2.c
>> index def4a3b..25532ae 100644
>> --- a/drivers/media/pci/cobalt/cobalt-v4l2.c
>> +++ b/drivers/media/pci/cobalt/cobalt-v4l2.c
>> @@ -1076,10 +1076,15 @@ static int cobalt_subscribe_event(struct v4l2_fh *fh,
>>
>> static int cobalt_g_parm(struct file *file, void *fh, struct v4l2_streamparm *a)
>> {
>> + struct cobalt_stream *s = video_drvdata(file);
>> + struct v4l2_fract fps;
>> +
>> if (a->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
>> return -EINVAL;
>> - a->parm.capture.timeperframe.numerator = 1;
>> - a->parm.capture.timeperframe.denominator = 60;
>> +
>> + fps = v4l2_calc_timeperframe(&s->timings);
>> + a->parm.capture.timeperframe.numerator = fps.numerator;
>> + a->parm.capture.timeperframe.denominator = fps.denominator;
>> a->parm.capture.readbuffers = 3;
>> return 0;
>> }
>>
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web