From: pavel@ucw.cz (Pavel Machek)
To: linux-arm-kernel@lists.infradead.org
Subject: exposure vs. exposure_absolute was Re: [PATCH v7 16/34] [media] add Omnivision OV5640 sensor driver
Date: Thu, 1 Jun 2017 10:43:20 +0200 [thread overview]
Message-ID: <20170601084320.GA16038@amd> (raw)
In-Reply-To: <20170601082659.GJ1019@valkosipuli.retiisi.org.uk>
Hi!
> > > + /* Auto/manual exposure */
> > > + ctrls->auto_exp = v4l2_ctrl_new_std_menu(hdl, ops,
> > > + V4L2_CID_EXPOSURE_AUTO,
> > > + V4L2_EXPOSURE_MANUAL, 0,
> > > + V4L2_EXPOSURE_AUTO);
> > > + ctrls->exposure = v4l2_ctrl_new_std(hdl, ops,
> > > + V4L2_CID_EXPOSURE_ABSOLUTE,
> > > + 0, 65535, 1, 0);
> >
> > Is exposure_absolute supposed to be in microseconds...?
>
> Yes. OTOH V4L2_CID_EXPOSURE has no defined unit, so it's a better fit IMO.
> Way more drivers appear to be using EXPOSURE than EXPOSURE_ABSOLUTE, too.
>
> Ideally we should have only one control for exposure.
No. N-o. No no no. NO! No. N-o. NONONO. No. NooooooooooOOO!!!!!!!!!!!!!
Sorry, no.
Userspace needs to know exposure times. It is not so important for a
webcam, but it is mandatory for digital camera. As it gets darker,
autogain wants to scale exposure to cca 1/100 sec, then it wants to
scale gain up to maximum, and only then it wants to continue scaling
exposure. (Threshold will be shorter in "sports" mode, perhaps
1/300sec?)
Plus, we want user to be able to manually set exposure parameters.
So... _this_ driver probably should use V4L2_CID_EXPOSURE. (If the
units are not known). But in general we'd prefer drivers using
V4L2_CID_EXPOSURE_ABSOLUTE. Your car has speedometer calibrated in
km/h or mph, not in "% of max", right?
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20170601/7414ea5a/attachment-0001.sig>
next prev parent reply other threads:[~2017-06-01 8:43 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-25 0:29 [PATCH v7 00/34] i.MX Media Driver Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 01/34] dt-bindings: Add bindings for video-multiplexer device Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 02/34] [media] dt-bindings: Add bindings for i.MX media driver Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 03/34] [media] dt/bindings: Add bindings for OV5640 Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 04/34] ARM: dts: imx6qdl: add multiplexer controls Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 05/34] ARM: dts: imx6qdl: Add compatible, clocks, irqs to MIPI CSI-2 node Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 06/34] ARM: dts: imx6qdl: Add video multiplexers, mipi_csi, and their connections Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 07/34] ARM: dts: imx6qdl: add capture-subsystem device Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 08/34] ARM: dts: imx6qdl-sabrelite: remove erratum ERR006687 workaround Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 09/34] ARM: dts: imx6-sabrelite: add OV5642 and OV5640 camera sensors Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 10/34] ARM: dts: imx6-sabresd: " Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 11/34] ARM: dts: imx6-sabreauto: create i2cmux for i2c3 Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 12/34] ARM: dts: imx6-sabreauto: add reset-gpios property for max7310_b Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 13/34] ARM: dts: imx6-sabreauto: add pinctrl for gpt input capture Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 14/34] ARM: dts: imx6-sabreauto: add the ADV7180 video decoder Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 15/34] add mux and video interface bridge entity functions Steve Longerbeam
2017-05-29 13:37 ` Hans Verkuil
2017-05-29 13:51 ` Philipp Zabel
2017-05-29 13:52 ` Hans Verkuil
2017-05-25 0:29 ` [PATCH v7 16/34] [media] add Omnivision OV5640 sensor driver Steve Longerbeam
2017-05-29 13:39 ` Hans Verkuil
2017-05-29 15:55 ` Sakari Ailus
2017-05-29 21:50 ` Steve Longerbeam
2017-05-30 6:56 ` Sakari Ailus
2017-06-03 18:02 ` Steve Longerbeam
2017-06-04 18:00 ` Steve Longerbeam
2017-06-07 12:31 ` Sakari Ailus
2017-05-31 19:58 ` Pavel Machek
2017-06-01 8:26 ` Sakari Ailus
2017-06-01 8:43 ` Pavel Machek [this message]
2017-06-03 19:38 ` Steve Longerbeam
2017-06-03 19:51 ` Pavel Machek
2017-06-03 21:57 ` Sakari Ailus
2017-06-03 22:17 ` Pavel Machek
2017-06-04 4:46 ` Steve Longerbeam
2017-06-07 12:31 ` Sakari Ailus
2017-05-25 0:29 ` [PATCH v7 17/34] platform: add video-multiplexer subdevice driver Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 18/34] platform: video-mux: include temporary mmio-mux support Steve Longerbeam
2017-05-25 7:51 ` [PATCH] platform: video-mux: fix ptr_ret.cocci warnings kbuild test robot
2017-05-25 7:51 ` [PATCH v7 18/34] platform: video-mux: include temporary mmio-mux support kbuild test robot
2017-05-25 0:29 ` [PATCH v7 19/34] media: Add userspace header file for i.MX Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 21/34] media: imx: Add Capture Device Interface Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 22/34] media: imx: Add CSI subdev driver Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 23/34] media: imx: Add VDIC " Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 24/34] media: imx: Add IC subdev drivers Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 25/34] media: imx: Add MIPI CSI-2 Receiver subdev driver Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 26/34] ARM: imx_v6_v7_defconfig: Enable staging video4linux drivers Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 27/34] media: imx: csi: add support for bayer formats Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 28/34] media: imx: csi: increase burst size for YUV formats Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 29/34] media: imx: csi: add frame skipping support Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 30/34] media: imx: csi: add sink selection rectangles Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 31/34] media: imx: csi: add frame size/interval enumeration Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 32/34] media: imx: capture: add frame sizes/interval enumeration Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 33/34] media: imx: set and propagate default field, colorimetry Steve Longerbeam
2017-05-25 0:29 ` [PATCH v7 34/34] media: imx: Drop warning upon multiple S_STREAM disable calls Steve Longerbeam
2017-05-29 13:46 ` [PATCH v7 00/34] i.MX Media Driver Hans Verkuil
2017-05-29 14:15 ` Philipp Zabel
2017-05-29 14:21 ` Hans Verkuil
2017-05-29 15:24 ` Hans Verkuil
2017-05-29 15:36 ` Sakari Ailus
2017-05-29 16:29 ` Hans Verkuil
2017-05-29 18:12 ` Steve Longerbeam
2017-05-31 20:11 ` Pavel Machek
2017-05-29 17:23 ` Steve Longerbeam
2017-05-29 17:29 ` Hans Verkuil
2017-06-02 0:25 ` Tim Harvey
2017-06-02 0:43 ` Steve Longerbeam
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=20170601084320.GA16038@amd \
--to=pavel@ucw.cz \
--cc=linux-arm-kernel@lists.infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).