lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ