| # 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] | |
| ... |