[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250818155809.469479-1-mirela.rabulea@nxp.com>
Date: Mon, 18 Aug 2025 18:58:04 +0300
From: Mirela Rabulea <mirela.rabulea@....com>
To: mchehab@...nel.org,
sakari.ailus@...ux.intel.com,
hverkuil-cisco@...all.nl,
laurent.pinchart+renesas@...asonboard.com,
ribalda@...omium.org,
jai.luthra@...asonboard.com,
laurentiu.palcu@....com
Cc: linux-media@...r.kernel.org,
linux-kernel@...r.kernel.org,
LnxRevLi@....com,
julien.vuillaumier@....com,
celine.laurencin@....com
Subject: [RFC v2 0/5] Add standard exposure and gain controls for multiple captures
All controls are in the same class.
They can be set atomically via VIDIOC_S_EXT_CTRLS, this could turn out
to be useful in case of sensors with context switching.
Each element of the array will hold an u32 value (exposure or gain)
for one capture. The size of the array is up to the sensor driver which
will implement the controls and initialize them via v4l2_ctrl_new_custom().
With this approach, the user-space will have to set valid values
for all the captures represented in the array. The order of elements inside
the array is from the longest to the shortest exposure.
The v4l2-core only supports one scalar min/max/step value for the
entire array, and each element is validated and adjusted to be within
these bounds in v4l2_ctrl_type_op_validate(). The significance for the
maximum value for the exposure control could be "the max value for the
long exposure" or "the max value for the sum of all exposures". If none
of these is ok, the sensor driver can adjust the values as supported and
the user space can use the TRY operation to query the sensor for the
minimum or maximum values.
Changes in v2:
- Update documentation according to review comments
- Patch #3 adds v4l2 helpers for backward compatibility with single-capture controls
- Patch #4 uses those helpers in the v4l2 core functions,
to aleviate the backward compatibility task from new drivers implementing
only multi-capture controls
- Patch #5 is a less aggresive alternative to patch #4, without v4l2 core
changes, but which requires more actions in the drivers, including a s_ctrl
implementation for single-capture controls, but using the helpers
- We will have to pick either patch #4 or patch #5
Mirela Rabulea (2):
media: Add exposure and gain controls for multiple captures
Documentation: media: Describe exposure and gain controls for multiple
captures
media: v4l2-ctrls: Add v4l2 helper functions for single-capture
controls
media: v4l2-ctrls: Use the single-capture control helpers in v4l2 core
media: v4l2-ctrls: Add __v4l2_s_ctrl_single_to_multi helper function
.../media/v4l/ext-ctrls-image-source.rst | 21 +++
drivers/media/v4l2-core/v4l2-ctrls-api.c | 28 +++-
drivers/media/v4l2-core/v4l2-ctrls-core.c | 120 +++++++++++++++++-
drivers/media/v4l2-core/v4l2-ctrls-defs.c | 8 ++
include/media/v4l2-ctrls.h | 93 ++++++++++++++
include/uapi/linux/v4l2-controls.h | 3 +
6 files changed, 268 insertions(+), 5 deletions(-)
--
2.43.0
Powered by blists - more mailing lists