IRC meeting on camera controls
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_AUTOISO_100ISO_200ISO_400ISO_SPORTSISO_NIGHTISO_INDOOR
I would assume it's best to create 3 controls for such ones, e.g.
V4L2_CID_ISO_AUTOV4L2_CID_ISOV4L2_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