From: Sakari Ailus <sakari.ailus@iki.fi>
To: Hans Verkuil <hans.verkuil@cisco.com>
Cc: linux-media@vger.kernel.org,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Subject: Re: [RFCv3 API PATCH 15/31] v4l2-core: Add new V4L2_CAP_MONOTONIC_TS capability.
Date: Fri, 14 Sep 2012 23:25:01 +0300 [thread overview]
Message-ID: <5053929D.4050902@iki.fi> (raw)
In-Reply-To: <573d42b4b775afd8beeadc7a903cc2190a6f430a.1347619766.git.hans.verkuil@cisco.com>
Hi Hans,
Thanks for the patch.
Hans Verkuil wrote:
...
> --- a/include/linux/videodev2.h
> +++ b/include/linux/videodev2.h
> @@ -290,6 +290,7 @@ struct v4l2_capability {
> #define V4L2_CAP_ASYNCIO 0x02000000 /* async I/O */
> #define V4L2_CAP_STREAMING 0x04000000 /* streaming I/O ioctls */
>
> +#define V4L2_CAP_MONOTONIC_TS 0x40000000 /* uses monotonic timestamps */
> #define V4L2_CAP_DEVICE_CAPS 0x80000000 /* sets device capabilities field */
I have to say I'm still not a big fan of this new capability flag.
I had a quick discussion with Laurent, and what he suggested was to use
the kernel version to figure out the type of the timestamp. The drivers
that use the monotonic time right now wouldn't be affected by the new
flag on older kernels. If we've decided we're going to switch to
monotonic time anyway, why not just change all the drivers now and
forget the capability flag.
Instead of a capability flag, the applications would know the type of
the timestamp based on the kernel version. In the end we wouldn't be
left with a useless flag that every single driver would have to set.
It's true that there are some 70 such drivers that need to be converted
but it's still a trivial, mechanical task. It would be even easier to
implement a helper function called e.g. v4l2_buffer_timestamp() so that
every user wouldn't have to convert timespec to timeval.
As a result we'd also have a very short transition period to the
timestamps we prefer.
Kind regards,
--
Sakari Ailus
sakari.ailus@iki.fi
next prev parent reply other threads:[~2012-09-14 20:23 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-14 10:57 [RFCv3 API PATCH 00/31] Full series of API fixes from the 2012 Media Workshop Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 01/31] v4l: Remove experimental tag from certain API elements Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 02/31] videodev2.h: split off controls into v4l2-controls.h Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 03/31] DocBook: improve STREAMON/OFF documentation Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 04/31] DocBook: make the G/S/TRY_FMT specification more strict Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 05/31] DocBook: bus_info can no longer be empty Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 06/31] vivi/mem2mem_testdev: update to latest bus_info specification Hans Verkuil
2012-09-14 17:34 ` Sylwester Nawrocki
2012-09-14 10:57 ` [RFCv3 API PATCH 07/31] v4l2-core: deprecate V4L2_BUF_TYPE_PRIVATE Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 08/31] DocBook: " Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 09/31] v4l2: remove experimental tag from a number of old drivers Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 10/31] DocBook: document when to return ENODATA Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 11/31] v4l2-core: tvnorms may be 0 for a given input, handle that case Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 12/31] Rename V4L2_(IN|OUT)_CAP_CUSTOM_TIMINGS Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 13/31] Feature removal: Remove CUSTOM_TIMINGS defines in 3.9 Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 14/31] DocBook: fix awkward language and fix the documented return value Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 15/31] v4l2-core: Add new V4L2_CAP_MONOTONIC_TS capability Hans Verkuil
2012-09-14 20:25 ` Sakari Ailus [this message]
2012-09-14 20:27 ` Rémi Denis-Courmont
2012-09-14 21:05 ` Sakari Ailus
2012-09-15 7:41 ` Hans Verkuil
2012-09-15 9:31 ` Laurent Pinchart
2012-09-15 10:05 ` Hans Verkuil
2012-09-15 10:37 ` Sakari Ailus
2012-09-15 12:35 ` Hans Verkuil
2012-09-15 20:16 ` Sylwester Nawrocki
2012-09-16 13:57 ` Hans Verkuil
2012-09-16 15:33 ` Laurent Pinchart
2012-09-16 21:59 ` Sylwester Nawrocki
2012-09-17 7:13 ` Daniel Glöckner
2012-09-17 9:18 ` Laurent Pinchart
2012-09-17 9:28 ` Hans Verkuil
2012-09-17 9:30 ` Daniel Glöckner
2012-09-17 17:19 ` Sakari Ailus
2012-09-17 20:27 ` Sylwester Nawrocki
2012-09-18 7:42 ` Sakari Ailus
2012-09-15 10:26 ` Sylwester Nawrocki
2012-09-14 10:57 ` [RFCv3 API PATCH 16/31] Add V4L2_CAP_MONOTONIC_TS where applicable Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 17/31] DocBook: clarify that sequence is also set for output devices Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 18/31] DocBook: Mark CROPCAP as optional instead of as compulsory Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 19/31] v4l2: make vidioc_s_fbuf const Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 20/31] v4l2: make vidioc_s_jpegcomp const Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 21/31] v4l2: make vidioc_s_freq_hw_seek const Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 22/31] v4l2: make vidioc_(un)subscribe_event const Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 23/31] v4l2: make vidioc_s_audio const Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 24/31] v4l2: make vidioc_s_audout const Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 25/31] v4l2: make vidioc_s_modulator const Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 26/31] v4l2: make vidioc_s_crop const Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 27/31] v4l2-dev: add new VFL_DIR_ defines Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 28/31] Set vfl_dir for all display or m2m drivers Hans Verkuil
2012-09-14 17:34 ` Sylwester Nawrocki
2012-09-14 10:57 ` [RFCv3 API PATCH 29/31] v4l2-dev: improve ioctl validity checks Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 30/31] v4l2-dev: reorder checks into blocks of ioctls with similar properties Hans Verkuil
2012-09-14 10:57 ` [RFCv3 API PATCH 31/31] Add vfl_dir field documentation Hans Verkuil
2012-09-14 17:34 ` Sylwester Nawrocki
2012-09-14 17:59 ` Hans Verkuil
2012-09-14 21:26 ` [RFCv3 API PATCH 00/31] Full series of API fixes from the 2012 Media Workshop Sakari Ailus
2012-09-15 7:33 ` Hans Verkuil
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=5053929D.4050902@iki.fi \
--to=sakari.ailus@iki.fi \
--cc=hans.verkuil@cisco.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
/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.