From: Sylwester Nawrocki <snjw23@gmail.com>
To: Sakari Ailus <sakari.ailus@maxwell.research.nokia.com>
Cc: "linux-media@vger.kernel.org" <linux-media@vger.kernel.org>
Subject: Re: [RFC 0/3] Frame synchronisation events and support for them in the OMAP 3 ISP driver
Date: Thu, 21 Jul 2011 17:57:37 +0200 [thread overview]
Message-ID: <4E284C71.7050806@gmail.com> (raw)
In-Reply-To: <4E2588AD.4070106@maxwell.research.nokia.com>
Hi Sakari,
On 07/19/2011 03:37 PM, Sakari Ailus wrote:
> Hi all,
>
> The OMAP 3 ISP driver implements an HS_VS event which is triggered when
> the reception of a frame begins. This functionality is very, very likely
> not specific to OMAP 3 ISP so it should be standardised.
>
> I have a few patches to do that. Additionally the next expected buffer
> sequence number is provided with the event, unlike earlier.
>
> There are a few open questions, however, and this is why I'm sending the
> set as RFC.
>
>
> 1) Other frame synchronisation events. The CCDC block in the OMAP 3 ISP
> is able to trigger interrupts at two chosen lines of the image. These
> naturally can be translated to events. The driver uses both of them
> internally at specific points of the frame. Nevertheless, there might be
> some use for these in user space. Other hardware might implement a
> number of these which wouldn't be used by the driver itself, but I don't
> know of that at the moment. On the other hand high resolution timers are
> also available in user space, so doing timing based on ISP provided
> events is not quite as important as before --- as long as there's one
> frame based event produced at a known time, such as V4L2_EVENT_FRAME_START.
I'm curious, have you perhaps tried to measure latency of such up calls
to a user space process? I mean this is going to be a real time stuff,
with HSYNC periods of 50 us order. Could a user space thread be receiving
such periodic events reliably ? From my experience I doubt this can work
reliably outside of an interrupt handler even with high priority real time
threads.
V4L2_EVENT_FRAME_START event seems OK, but HSYNC events in user space
sound rather tricky to me :-)
Also HS_VS looks a bit more descriptive than FRAME_START for me.
But unfortunately I can't come up with a better name, e.g. something like
V4L2_EVENT_FRAME_AV_START - frame active video start. Just in case in
future there are more specific events added.
>
> Frame end events may be produced as well. This is not exactly the same
> as just dequeueing the buffer at video node since the hardware may be
> able to produce events even in cases there are no buffers and if the
> very hardware block that processes the frame is not outputting it to
> memory, handling by further blocks takes more time, and thus delays the
> finishing of the buffer from the driver's queue. This is the reason why
> the name of the struct related to the event is v4l2_event_frame_sync
> rather than v4l2_event_frame_start.
>
> 2) Buffer sequence number location in the struct v4l2_event. the patches
> create a new structure called v4l2_event_frame_sync which contains just
> one field, buffer_sequence. Should buffer_sequence be part of this
> struct, or should it be part of v4l2_event directly, as the id field?
> Both buffer_sequence and id refer to another rather widely used concept
> in V4L2.
>
>
> Besides this, the first patch in the series moves the documentation of
> structs inside v4l2_event to VIDIOC_DQEVENT documentation. I think it
> belongs there rather than to VIDIOC_SUBSCRIBE_EVENT, since that's not
> where they are being used.
>
--
Regards,
Sylwester
next prev parent reply other threads:[~2011-07-21 15:57 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-19 13:37 [RFC 0/3] Frame synchronisation events and support for them in the OMAP 3 ISP driver Sakari Ailus
2011-07-19 13:38 ` [RFC 1/3] v4l: Move event documentation from SUBSCRIBE_EVENT to DQEVENT Sakari Ailus
2011-07-26 10:11 ` Hans Verkuil
2011-07-19 13:38 ` [RFC 2/3] v4l: events: Define frame start event Sakari Ailus
2011-07-26 11:52 ` Hans Verkuil
2011-07-26 13:51 ` Sakari Ailus
2011-07-26 13:59 ` Hans Verkuil
2011-07-26 14:15 ` Sakari Ailus
2011-07-19 13:38 ` [RFC 3/3] omap3isp: ccdc: Make frame start event generic Sakari Ailus
2011-07-21 15:57 ` Sylwester Nawrocki [this message]
2011-07-22 10:39 ` [RFC 0/3] Frame synchronisation events and support for them in the OMAP 3 ISP driver Sakari Ailus
2011-07-22 14:23 ` Sylwester Nawrocki
2011-07-25 9:04 ` Sakari Ailus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E284C71.7050806@gmail.com \
--to=snjw23@gmail.com \
--cc=linux-media@vger.kernel.org \
--cc=sakari.ailus@maxwell.research.nokia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.