blob: c07507108947500c644d7d53ec175ef0af2de630 [file] [edit]
# SPDX-License-Identifier: LGPL-2.1-or-later
#
# Copyright (C) 2019, Google Inc.
#
%YAML 1.1
---
# Unless otherwise stated, all controls are bi-directional, i.e. they can be
# set through Request::controls() and returned out through Request::metadata().
vendor: draft
controls:
- AePrecaptureTrigger:
type: int32_t
description: |
Control for AE metering trigger. Currently identical to
ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER.
Whether the camera device will trigger a precapture metering sequence
when it processes this request.
enum:
- name: AePrecaptureTriggerIdle
value: 0
description: The trigger is idle.
- name: AePrecaptureTriggerStart
value: 1
description: The pre-capture AE metering is started by the camera.
- name: AePrecaptureTriggerCancel
value: 2
description: |
The camera will cancel any active or completed metering sequence.
The AE algorithm is reset to its initial state.
- NoiseReductionMode:
type: int32_t
description: |
Control to select the noise reduction algorithm mode. Currently
identical to ANDROID_NOISE_REDUCTION_MODE.
Mode of operation for the noise reduction algorithm.
enum:
- name: NoiseReductionModeOff
value: 0
description: No noise reduction is applied
- name: NoiseReductionModeFast
value: 1
description: |
Noise reduction is applied without reducing the frame rate.
- name: NoiseReductionModeHighQuality
value: 2
description: |
High quality noise reduction at the expense of frame rate.
- name: NoiseReductionModeMinimal
value: 3
description: |
Minimal noise reduction is applied without reducing the frame rate.
- name: NoiseReductionModeZSL
value: 4
description: |
Noise reduction is applied at different levels to different streams.
- ColorCorrectionAberrationMode:
type: int32_t
description: |
Control to select the color correction aberration mode. Currently
identical to ANDROID_COLOR_CORRECTION_ABERRATION_MODE.
Mode of operation for the chromatic aberration correction algorithm.
enum:
- name: ColorCorrectionAberrationOff
value: 0
description: No aberration correction is applied.
- name: ColorCorrectionAberrationFast
value: 1
description: Aberration correction will not slow down the frame rate.
- name: ColorCorrectionAberrationHighQuality
value: 2
description: |
High quality aberration correction which might reduce the frame
rate.
- AeState:
type: int32_t
description: |
Control to report the current AE algorithm state. Currently identical to
ANDROID_CONTROL_AE_STATE.
Current state of the AE algorithm.
enum:
- name: AeStateInactive
value: 0
description: The AE algorithm is inactive.
- name: AeStateSearching
value: 1
description: The AE algorithm has not converged yet.
- name: AeStateConverged
value: 2
description: The AE algorithm has converged.
- name: AeStateLocked
value: 3
description: The AE algorithm is locked.
- name: AeStateFlashRequired
value: 4
description: The AE algorithm would need a flash for good results
- name: AeStatePrecapture
value: 5
description: |
The AE algorithm has started a pre-capture metering session.
\sa AePrecaptureTrigger
- AwbState:
type: int32_t
description: |
Control to report the current AWB algorithm state. Currently identical
to ANDROID_CONTROL_AWB_STATE.
Current state of the AWB algorithm.
enum:
- name: AwbStateInactive
value: 0
description: The AWB algorithm is inactive.
- name: AwbStateSearching
value: 1
description: The AWB algorithm has not converged yet.
- name: AwbConverged
value: 2
description: The AWB algorithm has converged.
- name: AwbLocked
value: 3
description: The AWB algorithm is locked.
- SensorRollingShutterSkew:
type: int64_t
description: |
Control to report the time between the start of exposure of the first
row and the start of exposure of the last row. Currently identical to
ANDROID_SENSOR_ROLLING_SHUTTER_SKEW
- LensShadingMapMode:
type: int32_t
description: |
Control to report if the lens shading map is available. Currently
identical to ANDROID_STATISTICS_LENS_SHADING_MAP_MODE.
enum:
- name: LensShadingMapModeOff
value: 0
description: No lens shading map mode is available.
- name: LensShadingMapModeOn
value: 1
description: The lens shading map mode is available.
- PipelineDepth:
type: int32_t
description: |
Specifies the number of pipeline stages the frame went through from when
it was exposed to when the final completed result was available to the
framework. Always less than or equal to PipelineMaxDepth. Currently
identical to ANDROID_REQUEST_PIPELINE_DEPTH.
The typical value for this control is 3 as a frame is first exposed,
captured and then processed in a single pass through the ISP. Any
additional processing step performed after the ISP pass (in example face
detection, additional format conversions etc) count as an additional
pipeline stage.
- MaxLatency:
type: int32_t
description: |
The maximum number of frames that can occur after a request (different
than the previous) has been submitted, and before the result's state
becomes synchronized. A value of -1 indicates unknown latency, and 0
indicates per-frame control. Currently identical to
ANDROID_SYNC_MAX_LATENCY.
- TestPatternMode:
type: int32_t
description: |
Control to select the test pattern mode. Currently identical to
ANDROID_SENSOR_TEST_PATTERN_MODE.
enum:
- name: TestPatternModeOff
value: 0
description: |
No test pattern mode is used. The camera device returns frames from
the image sensor.
- name: TestPatternModeSolidColor
value: 1
description: |
Each pixel in [R, G_even, G_odd, B] is replaced by its respective
color channel provided in test pattern data.
\todo Add control for test pattern data.
- name: TestPatternModeColorBars
value: 2
description: |
All pixel data is replaced with an 8-bar color pattern. The vertical
bars (left-to-right) are as follows; white, yellow, cyan, green,
magenta, red, blue and black. Each bar should take up 1/8 of the
sensor pixel array width. When this is not possible, the bar size
should be rounded down to the nearest integer and the pattern can
repeat on the right side. Each bar's height must always take up the
full sensor pixel array height.
- name: TestPatternModeColorBarsFadeToGray
value: 3
description: |
The test pattern is similar to TestPatternModeColorBars,
except that each bar should start at its specified color at the top
and fade to gray at the bottom. Furthermore each bar is further
subdevided into a left and right half. The left half should have a
smooth gradient, and the right half should have a quantized
gradient. In particular, the right half's should consist of blocks
of the same color for 1/16th active sensor pixel array width. The
least significant bits in the quantized gradient should be copied
from the most significant bits of the smooth gradient. The height of
each bar should always be a multiple of 128. When this is not the
case, the pattern should repeat at the bottom of the image.
- name: TestPatternModePn9
value: 4
description: |
All pixel data is replaced by a pseudo-random sequence generated
from a PN9 512-bit sequence (typically implemented in hardware with
a linear feedback shift register). The generator should be reset at
the beginning of each frame, and thus each subsequent raw frame with
this test pattern should be exactly the same as the last.
- name: TestPatternModeCustom1
value: 256
description: |
The first custom test pattern. All custom patterns that are
available only on this camera device are at least this numeric
value. All of the custom test patterns will be static (that is the
raw image must not vary from frame to frame).
- AeMode:
type: int32_t
description: |
ANDROID_CONTROL_AE_MODE.
enum:
- name: AeModeOff
value: 0
description: |
Disables automatic exposure. You'll need to manually control shutter
speed, ISO, and perhaps aperture.
(AE_MODE_OFF)
- name: AeModeOn
value: 1
description: |
Enables standard automatic exposure. The camera will adjust settings
to aim for a well-balanced exposure.
(AE_MODE_ON)
- name: AeModeOnAutoFlash
value: 2
description: |
Automatic exposure with the flash enabled. The camera will decide
when to trigger the flash for the best exposure.
(AE_MODE_ON_AUTO_FLASH)
- name: AeModeOnAlwaysFlash
value: 3
description: |
Automatic exposure, but the flash will fire with every shot.
(AE_MODE_ON_ALWAYS_FLASH)
- name: AeModeOnAutoFlashRedeye
value: 4
description: |
Automatic exposure with flash and red-eye reduction features enabled.
(AE_MODE_ON_AUTO_FLASH_REDEYE)
- AeAntiBandingMode:
type: int32_t
description: |
Android Camera2 API that provides developers and users with fine-grained
control over how the camera handles a specific image artifact called
"banding".
(SEE ANDROID_CONTROL_AE_ANTIBANDING_MODE)
enum:
- name: AeAntiBandingModeOff
value: 0
description: |
Disables any automatic anti-banding adjustments by the camera.
The camera will not attempt to match its exposure time to the
frequency of light flicker.
(SEE ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF)
- name: AeAntiBandingMode50Hz
value: 1
description: |
This mode tells the camera to adjust its exposure settings
specifically to minimize banding caused by light sources
flickering at 50Hz. This frequency is common in regions using
a 50Hz power grid (Europe, Asia, etc.)
(SEE ANDROID_CONTROL_AE_ANTIBANDING_MODE_50HZ)
- name: AeAntiBandingMode60Hz
value: 2
description: |
This mode is similar, but targets light flicker at 60Hz, which
is the common power grid frequency in North America and parts
of South America.
(SEE ANDROID_CONTROL_AE_ANTIBANDING_MODE_60HZ)
- name: AeAntiBandingModeAuto
value: 3
description: |
Allows the camera to automatically detect the flicker frequency
of the ambient light and apply the appropriate anti-banding
adjustments (either 50Hz or 60Hz).
(SEE ANDROID_CONTROL_AE_ANTIBANDING_MODE_AUTO)
- AvailableLensFocalLength:
type: float
description: |
AvailableLensFocalLength provides an array of floating-point numbers
representing the different focal lengths supported by a camera lens
on an Android device.
(See ANDROID_LENS_INFO_AVAILABLE_FOCAL_LENGTHS)
size: [n]
- LensFocalLength:
type: float
description: |
LensFocalLength represents the current focal length of your
device's camera lens. This value is essential for understanding your
camera's field of view and other optical properties.
(See ANDROID_LENS_FOCAL_LENGTH)
- ColorCorrectionMode:
type: int32_t
description: |
The mode control selects how the image data is converted from the
sensor's native color into linear sRGB color.
\sa ANDROID_COLOR_CORRECTION_MODE
enum:
- name: ColorCorrectionModeTransfromMatrix
value: 0
description: |
Indicates that color correction should be performed using
a color transform matrix. This matrix is specified using the
ANDROID_COLOR_CORRECTION_TRANSFORM tag.
\sa ANDROID_COLOR_CORRECTION_MODE_TRANSFORM_MATRIX
- name: ColorCorrectionModeFast
value: 1
description: |
Enables a simplified, potentially less accurate, but
computationally faster color correction method.
\sa ANDROID_COLOR_CORRECTION_MODE_FAST
- name: ColorCorrectionModeHighQuality
value: 2
description: |
Enables a more comprehensive and accurate color correction
algorithm, often at the cost of slightly slower processing.
\sa ANDROID_COLOR_CORRECTION_MODE_HIGH_QUALITY
- ColorCorrectionGains:
type: float
description: |
ColorCorrectionGains fine-tune the color balance of images captured
by the camera. It provides precise control over the amplification of
individual color channels (red, green, blue).
\sa ANDROID_COLOR_CORRECTION_GAINS
size: [4]
- TonemapMode:
type: int32_t
description: |
control the captured image's tonal range to achieve different visual styles or effects.
enum:
- name: ToneMapModeContrastCurve
value: 0
description: |
Applies a contrast curve (a mathematical function) to adjust the image's tones.
This curve can enhance contrast and detail in the shadows and highlights.
\sa ANDROID_TONEMAP_MODE_CONTRAST_CURVE
- name: TonemapModeFast
value: 1
description: |
This is a faster tone-mapping algorithm. It might sacrifice some image quality
for speed, making it suitable for real-time camera previews or application
where processing speed is important.
\sa ANDROID_TONEMAP_MODE_FAST
- name: TonemapModeHighQuality
value: 2
description: |
This mode aims to provide the highest image quality possible, using more
sophisticated algorithms. It might take longer to process but can produce
visually pleasing results for final images.
\sa ANDROID_TONEMAP_MODE_HIGH_QUALITY
- name: TonemapModeGammaValue
value: 3
description: |
Directly specify a gamma value to adjust the image's brightness and contrast.
Gamma is a nonlinear correction that affects how the image's mid-tones are displayed.
\sa ANDROID_TONEMAP_MODE_GAMMA_VALUE
- name: TonemapModePresetCurve
value: 4
description: |
Use a preset tone curve defined by the camera manufacturer or the Android framework.
These preset curves can offer different visual styles.
\sa ANDROID_TONEMAP_MODE_PRESET_CURVE
- TonemapCurveRed:
type: float
description: |
Tonemap control over the tone mapping process for red channel.
size: [n]
- TonemapCurveGreen:
type: float
description: |
Tonemap control over the tone mapping process for green channel.
size: [n]
- TonemapCurveBlue:
type: float
description: |
Tonemap control over the tone mapping process for blue channel.
size: [n]
- EdgeMode:
type: int32_t
description: |
Operation mode for edge enhancement.
enum:
- name: EdgeModeOff
value: 0
description: |
No edge enhancement is applied.
\sa ANDROID_EDGE_MODE_OFF
- name: EdgeModeFast
value: 1
description: |
Apply edge enhancement at a quality level that does not slow down frame rate
relative to sensor output. It may be the same as OFF if edge enhancement will
slow down frame rate relative to sensor.
\sa ANDROID_TONEMAP_MODE_FAST
- name: EdgeModeHighQuality
value: 2
description: |
Apply high-quality edge enhancement, at a cost of possibly reduced output frame rate.
\sa ANDROID_TONEMAP_MODE_HIGH_QUALITY
- name: EdgeModeZeroShutterLag
value: 3
description: |
Apply edge enhancement and minimizes shutter lag, often sacrificing some image quality
\sa ANDROID_EDGE_MODE_ZERO_SHUTTER_LAG
- LensFocusDistance:
type: float
description: |
Current lens focus distance (diopter)
\sa ANDROID_LENS_FOCUS_DISTANCE
- LensFocusRange:
type: float
description: |
The range of scene distances in sharp focus (depth of field)
\sa ANDROID_LENS_FOCUS_RANGE
size: [2]
- LensState:
type: int32_t
description: |
Current lens status.
enum:
- name: LensStateStationary
value: 0
description: |
The lens position is not chaning
\sa ANDROID_LENS_STATE_STATIONARY
- name: LensStateMoving
value: 1
description: |
The lens position is chaning
\sa ANDROID_LENS_STATE_MOVING
- StillCaptureMultiFrameNoiseReduction:
type: bool
description: |
Enable or disable Multi Frame Noise Reduction for Still Capture.
\sa NoiseReductionMode
- EnableZsl:
type: bool
description: |
Enable or disable Zero Shutter Lag for Still Capture.
\sa ANDROID_CONTROL_ENABLE_ZSL
- FaceDetectMode:
type: int32_t
description: |
Control to select the face detection mode used by the pipeline.
Currently identical to ANDROID_STATISTICS_FACE_DETECT_MODE.
\sa FaceDetectFaceRectangles
\sa FaceDetectFaceScores
\sa FaceDetectFaceLandmarks
\sa FaceDetectFaceIds
enum:
- name: FaceDetectModeOff
value: 0
description: |
Pipeline doesn't perform face detection and doesn't report any
control related to face detection.
- name: FaceDetectModeSimple
value: 1
description: |
Pipeline performs face detection and reports the
FaceDetectFaceRectangles and FaceDetectFaceScores controls for each
detected face. FaceDetectFaceLandmarks and FaceDetectFaceIds are
optional.
- name: FaceDetectModeFull
value: 2
description: |
Pipeline performs face detection and reports all the controls
related to face detection including FaceDetectFaceRectangles,
FaceDetectFaceScores, FaceDetectFaceLandmarks, and
FaceDeteceFaceIds for each detected face.
- FaceDetectFaceRectangles:
type: Rectangle
description: |
Boundary rectangles of the detected faces. The number of values is
the number of detected faces.
The FaceDetectFaceRectangles control can only be returned in metadata.
Currently identical to ANDROID_STATISTICS_FACE_RECTANGLES.
size: [n]
- FaceDetectFaceScores:
type: uint8_t
description: |
Confidence score of each of the detected faces. The range of score is
[0, 100]. The number of values should be the number of faces reported
in FaceDetectFaceRectangles.
The FaceDetectFaceScores control can only be returned in metadata.
Currently identical to ANDROID_STATISTICS_FACE_SCORES.
size: [n]
- FaceDetectFaceLandmarks:
type: Point
description: |
Array of human face landmark coordinates in format [..., left_eye_i,
right_eye_i, mouth_i, left_eye_i+1, ...], with i = index of face. The
number of values should be 3 * the number of faces reported in
FaceDetectFaceRectangles.
The FaceDetectFaceLandmarks control can only be returned in metadata.
Currently identical to ANDROID_STATISTICS_FACE_LANDMARKS.
size: [n]
- FaceDetectFaceIds:
type: int32_t
description: |
Each detected face is given a unique ID that is valid for as long as the
face is visible to the camera device. A face that leaves the field of
view and later returns may be assigned a new ID. The number of values
should be the number of faces reported in FaceDetectFaceRectangles.
The FaceDetectFaceIds control can only be returned in metadata.
Currently identical to ANDROID_STATISTICS_FACE_IDS.
size: [n]
...