Skip to contentSkip to conversation

IRC meeting on camera controls

ANN Sylwester Nawrocki 1 participant 1 message Feb 1, 2012 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

Hi all,

I would like to invite everyone interested to a short IRC meeting on #v4l-meeting channel we are going to have at 14:00 CET, this Friday 2012-02-03. The main topics are camera exposure and auto focus control API. There were previous discussions on the mailing list regarding this and patches from HeungJun Kim and me [1], [2]. Most of the patches are now available at gitweb interface [4]. They incorporate comments from the discussions and the documentation is improved slightly. Some controls will depend on the new integer menu control type patches from Sakari [3].

There were suggestions to create a new class for the proposed controls as they are relatively high level. However as we're going to also have a low level "image source" control class there are doubts whether it's a good thing to do.

The proposed controls can be divided into following groups:

Exposure controls:

* V4L2_CID_METERING_MODE - light metering mode for auto exposure
* V4L2_CID_EXPOSURE_BIAS - auto exposure bias
* V4L2_CID_ISO - manual ISO sensitivity
* V4L2_CID_ISO_AUTO - enable disable automatic ISO adjustments
* V4L2_CID_ISO_PRESET - sensitivity preset

White balance:

* V4L2_CID_WHITE_BALANCE_PRESET - white balance preset

Auto focus controls:

* V4L2_CID_AUTO_FOCUS_START - one-shot auto focus start
* V4L2_CID_AUTO_FOCUS_STOP - one-shot auto focus stop
* V4L2_CID_AUTO_FOCUS_STATUS - auto focus status
* V4L2_CID_AUTO_FOCUS_DISTANCE - auto focus scan range selection
* V4L2_CID_AUTO_FOCUS_AREA - auto focus area selection
* V4L2_CID_AUTO_FOCUS_X_POSITION - horizontal AF spot position
* V4L2_CID_AUTO_FOCUS_Y_POSITION - vertical AF spot position
* V4L2_CID_AUTO_FOCUS_FACE_PRIORITY - enable/disable face priority

Other:

* V4L2_CID_WIDE_DYNAMIC_RANGE - enable/disable wide dynamic range
* V4L2_CID_IMAGE_STABILIZATION - enable/disable image stabilization
* V4L2_CID_SCENEMODE - scene preset, it's a bit questionable
due to influencing many other controls

A debatable topic is setting up the coordinates (spot and rectangles) for auto focus sensors, exposure and white balance. In some modes only spot needs to be specified (x, y) while some only need a rectangle, or multiple rectangles - however in practice I didn't have a need for them yet.

Some attributes have mixed series of values and presets, like for instance ISO:

ISO_AUTO
ISO_100
ISO_200
ISO_400
ISO_SPORTS
ISO_NIGHT
ISO_INDOOR

I would assume it's best to create 3 controls for such ones, e.g.

V4L2_CID_ISO_AUTO
V4L2_CID_ISO
V4L2_CID_ISO_PRESET

Then devices that do not support ISO presets would only implement the first two or just the second one for instance.

All comments are welcome.

[1] http://www.spinics.net/lists/linux-media/msg40970.html
[2] http://www.spinics.net/lists/linux-media/msg42152.html
[3] http://www.spinics.net/lists/linux-media/msg40796.html
[4] http://git.infradead.org/users/kmpark/linux-2.6-samsung/shortlog/refs/heads/camera-controls

Best regards,

Signature · 2 lines
Sylwester Nawrocki
Samsung Poland R&D Center