[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <96361b5d-39e1-225b-7d40-c2b66585b019@synopsys.com>
Date: Wed, 19 Apr 2017 11:32:57 +0100
From: Jose Abreu <Jose.Abreu@...opsys.com>
To: Hans Verkuil <hverkuil@...all.nl>,
Jose Abreu <Jose.Abreu@...opsys.com>,
<linux-media@...r.kernel.org>
CC: Carlos Palminha <CARLOS.PALMINHA@...opsys.com>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Hans Verkuil <hans.verkuil@...co.com>,
<linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 3/3] [media] cobalt: Use v4l2_calc_timeperframe helper
Hi Hans,
On 31-03-2017 09:59, Jose Abreu wrote:
> 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@...co.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 :)
Any news regarding this?
Best regards,
Jose Miguel Abreu
>
> Best regards,
> Jose Miguel Abreu
>
>> Regards,
>>
>> Hans
>>
>>> Signed-off-by: Jose Abreu <joabreu@...opsys.com>
>>> Cc: Carlos Palminha <palminha@...opsys.com>
>>> Cc: Mauro Carvalho Chehab <mchehab@...nel.org>
>>> Cc: Hans Verkuil <hans.verkuil@...co.com>
>>> Cc: linux-media@...r.kernel.org
>>> Cc: linux-kernel@...r.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;
>>> }
>>>
Powered by blists - more mailing lists