libcamera  v0.4.0
Supporting cameras in Linux since 2019
Enumerations | Variables
libcamera::controls::draft Namespace Reference

Namespace for draft controls. More...

Enumerations

enum  {
  AE_PRECAPTURE_TRIGGER = 10001, NOISE_REDUCTION_MODE = 10002, COLOR_CORRECTION_ABERRATION_MODE = 10003, AE_STATE = 10004,
  AWB_STATE = 10005, SENSOR_ROLLING_SHUTTER_SKEW = 10006, LENS_SHADING_MAP_MODE = 10007, PIPELINE_DEPTH = 10008,
  MAX_LATENCY = 10009, TEST_PATTERN_MODE = 10010, FACE_DETECT_MODE = 10011, FACE_DETECT_FACE_RECTANGLES = 10012,
  FACE_DETECT_FACE_SCORES = 10013, FACE_DETECT_FACE_LANDMARKS = 10014, FACE_DETECT_FACE_IDS = 10015
}
 
enum  AePrecaptureTriggerEnum { AePrecaptureTriggerIdle = 0, AePrecaptureTriggerStart = 1, AePrecaptureTriggerCancel = 2 }
 Supported AePrecaptureTrigger values. More...
 
enum  NoiseReductionModeEnum {
  NoiseReductionModeOff = 0, NoiseReductionModeFast = 1, NoiseReductionModeHighQuality = 2, NoiseReductionModeMinimal = 3,
  NoiseReductionModeZSL = 4
}
 Supported NoiseReductionMode values. More...
 
enum  ColorCorrectionAberrationModeEnum { ColorCorrectionAberrationOff = 0, ColorCorrectionAberrationFast = 1, ColorCorrectionAberrationHighQuality = 2 }
 Supported ColorCorrectionAberrationMode values. More...
 
enum  AeStateEnum {
  AeStateInactive = 0, AeStateSearching = 1, AeStateConverged = 2, AeStateLocked = 3,
  AeStateFlashRequired = 4, AeStatePrecapture = 5
}
 Supported AeState values. More...
 
enum  AwbStateEnum { AwbStateInactive = 0, AwbStateSearching = 1, AwbConverged = 2, AwbLocked = 3 }
 Supported AwbState values. More...
 
enum  LensShadingMapModeEnum { LensShadingMapModeOff = 0, LensShadingMapModeOn = 1 }
 Supported LensShadingMapMode values. More...
 
enum  TestPatternModeEnum {
  TestPatternModeOff = 0, TestPatternModeSolidColor = 1, TestPatternModeColorBars = 2, TestPatternModeColorBarsFadeToGray = 3,
  TestPatternModePn9 = 4, TestPatternModeCustom1 = 256
}
 Supported TestPatternMode values. More...
 
enum  FaceDetectModeEnum { FaceDetectModeOff = 0, FaceDetectModeSimple = 1, FaceDetectModeFull = 2 }
 Supported FaceDetectMode values. More...
 

Variables

const std::array< const ControlValue, 3 > AePrecaptureTriggerValues
 List of all AePrecaptureTrigger supported values.
 
const std::map< std::string, int32_t > AePrecaptureTriggerNameValueMap
 Map of all AePrecaptureTrigger supported value names (in std::string format) to value.
 
const Control< int32_t > AePrecaptureTrigger
 Control for AE metering trigger. Currently identical to ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER. More...
 
const std::array< const ControlValue, 5 > NoiseReductionModeValues
 List of all NoiseReductionMode supported values.
 
const std::map< std::string, int32_t > NoiseReductionModeNameValueMap
 Map of all NoiseReductionMode supported value names (in std::string format) to value.
 
const Control< int32_t > NoiseReductionMode
 Control to select the noise reduction algorithm mode. Currently identical to ANDROID_NOISE_REDUCTION_MODE. More...
 
const std::array< const ControlValue, 3 > ColorCorrectionAberrationModeValues
 List of all ColorCorrectionAberrationMode supported values.
 
const std::map< std::string, int32_t > ColorCorrectionAberrationModeNameValueMap
 Map of all ColorCorrectionAberrationMode supported value names (in std::string format) to value.
 
const Control< int32_t > ColorCorrectionAberrationMode
 Control to select the color correction aberration mode. Currently identical to ANDROID_COLOR_CORRECTION_ABERRATION_MODE. More...
 
const std::array< const ControlValue, 6 > AeStateValues
 List of all AeState supported values.
 
const std::map< std::string, int32_t > AeStateNameValueMap
 Map of all AeState supported value names (in std::string format) to value.
 
const Control< int32_t > AeState
 Control to report the current AE algorithm state. Currently identical to ANDROID_CONTROL_AE_STATE. More...
 
const std::array< const ControlValue, 4 > AwbStateValues
 List of all AwbState supported values.
 
const std::map< std::string, int32_t > AwbStateNameValueMap
 Map of all AwbState supported value names (in std::string format) to value.
 
const Control< int32_t > AwbState
 Control to report the current AWB algorithm state. Currently identical to ANDROID_CONTROL_AWB_STATE. More...
 
const Control< int64_t > SensorRollingShutterSkew
 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.
 
const std::array< const ControlValue, 2 > LensShadingMapModeValues
 List of all LensShadingMapMode supported values.
 
const std::map< std::string, int32_t > LensShadingMapModeNameValueMap
 Map of all LensShadingMapMode supported value names (in std::string format) to value.
 
const Control< int32_t > LensShadingMapMode
 Control to report if the lens shading map is available. Currently identical to ANDROID_STATISTICS_LENS_SHADING_MAP_MODE.
 
const Control< int32_t > PipelineDepth
 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. More...
 
const Control< int32_t > MaxLatency
 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.
 
const std::array< const ControlValue, 6 > TestPatternModeValues
 List of all TestPatternMode supported values.
 
const std::map< std::string, int32_t > TestPatternModeNameValueMap
 Map of all TestPatternMode supported value names (in std::string format) to value.
 
const Control< int32_t > TestPatternMode
 Control to select the test pattern mode. Currently identical to ANDROID_SENSOR_TEST_PATTERN_MODE.
 
const std::array< const ControlValue, 3 > FaceDetectModeValues
 List of all FaceDetectMode supported values.
 
const std::map< std::string, int32_t > FaceDetectModeNameValueMap
 Map of all FaceDetectMode supported value names (in std::string format) to value.
 
const Control< int32_t > FaceDetectMode
 Control to select the face detection mode used by the pipeline. More...
 
const Control< Span< const Rectangle > > FaceDetectFaceRectangles
 Boundary rectangles of the detected faces. The number of values is the number of detected faces. More...
 
const Control< Span< const uint8_t > > FaceDetectFaceScores
 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. More...
 
const Control< Span< const Point > > FaceDetectFaceLandmarks
 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. More...
 
const Control< Span< const int32_t > > FaceDetectFaceIds
 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. More...
 

Detailed Description

Namespace for draft controls.

Enumeration Type Documentation

◆ AePrecaptureTriggerEnum

Supported AePrecaptureTrigger values.

Enumerator
AePrecaptureTriggerIdle 

The trigger is idle.

AePrecaptureTriggerStart 

The pre-capture AE metering is started by the camera.

AePrecaptureTriggerCancel 

The camera will cancel any active or completed metering sequence. The AE algorithm is reset to its initial state.

◆ AeStateEnum

Supported AeState values.

Enumerator
AeStateInactive 

The AE algorithm is inactive.

AeStateSearching 

The AE algorithm has not converged yet.

AeStateConverged 

The AE algorithm has converged.

AeStateLocked 

The AE algorithm is locked.

AeStateFlashRequired 

The AE algorithm would need a flash for good results.

AeStatePrecapture 

The AE algorithm has started a pre-capture metering session.

See also
AePrecaptureTrigger

◆ AwbStateEnum

Supported AwbState values.

Enumerator
AwbStateInactive 

The AWB algorithm is inactive.

AwbStateSearching 

The AWB algorithm has not converged yet.

AwbConverged 

The AWB algorithm has converged.

AwbLocked 

The AWB algorithm is locked.

◆ ColorCorrectionAberrationModeEnum

Supported ColorCorrectionAberrationMode values.

Enumerator
ColorCorrectionAberrationOff 

No aberration correction is applied.

ColorCorrectionAberrationFast 

Aberration correction will not slow down the frame rate.

ColorCorrectionAberrationHighQuality 

High quality aberration correction which might reduce the frame rate.

◆ FaceDetectModeEnum

Supported FaceDetectMode values.

Enumerator
FaceDetectModeOff 

Pipeline doesn't perform face detection and doesn't report any control related to face detection.

FaceDetectModeSimple 

Pipeline performs face detection and reports the FaceDetectFaceRectangles and FaceDetectFaceScores controls for each detected face. FaceDetectFaceLandmarks and FaceDetectFaceIds are optional.

FaceDetectModeFull 

Pipeline performs face detection and reports all the controls related to face detection including FaceDetectFaceRectangles, FaceDetectFaceScores, FaceDetectFaceLandmarks, and FaceDeteceFaceIds for each detected face.

◆ LensShadingMapModeEnum

Supported LensShadingMapMode values.

Enumerator
LensShadingMapModeOff 

No lens shading map mode is available.

LensShadingMapModeOn 

The lens shading map mode is available.

◆ NoiseReductionModeEnum

Supported NoiseReductionMode values.

Enumerator
NoiseReductionModeOff 

No noise reduction is applied.

NoiseReductionModeFast 

Noise reduction is applied without reducing the frame rate.

NoiseReductionModeHighQuality 

High quality noise reduction at the expense of frame rate.

NoiseReductionModeMinimal 

Minimal noise reduction is applied without reducing the frame rate.

NoiseReductionModeZSL 

Noise reduction is applied at different levels to different streams.

◆ TestPatternModeEnum

Supported TestPatternMode values.

Enumerator
TestPatternModeOff 

No test pattern mode is used. The camera device returns frames from the image sensor.

TestPatternModeSolidColor 

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.
TestPatternModeColorBars 

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.

TestPatternModeColorBarsFadeToGray 

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.

TestPatternModePn9 

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.

TestPatternModeCustom1 

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).

Variable Documentation

◆ AePrecaptureTrigger

libcamera::controls::draft::AePrecaptureTrigger

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.

◆ AeState

libcamera::controls::draft::AeState

Control to report the current AE algorithm state. Currently identical to ANDROID_CONTROL_AE_STATE.

Current state of the AE algorithm.

◆ AwbState

libcamera::controls::draft::AwbState

Control to report the current AWB algorithm state. Currently identical to ANDROID_CONTROL_AWB_STATE.

Current state of the AWB algorithm.

◆ ColorCorrectionAberrationMode

libcamera::controls::draft::ColorCorrectionAberrationMode

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.

◆ FaceDetectFaceIds

libcamera::controls::draft::FaceDetectFaceIds

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.

◆ FaceDetectFaceLandmarks

libcamera::controls::draft::FaceDetectFaceLandmarks

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.

◆ FaceDetectFaceRectangles

libcamera::controls::draft::FaceDetectFaceRectangles

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.

◆ FaceDetectFaceScores

libcamera::controls::draft::FaceDetectFaceScores

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.

◆ FaceDetectMode

libcamera::controls::draft::FaceDetectMode

Control to select the face detection mode used by the pipeline.

Currently identical to ANDROID_STATISTICS_FACE_DETECT_MODE.

See also
FaceDetectFaceRectangles
FaceDetectFaceScores
FaceDetectFaceLandmarks
FaceDetectFaceIds

◆ NoiseReductionMode

libcamera::controls::draft::NoiseReductionMode

Control to select the noise reduction algorithm mode. Currently identical to ANDROID_NOISE_REDUCTION_MODE.

Mode of operation for the noise reduction algorithm.

◆ PipelineDepth

libcamera::controls::draft::PipelineDepth

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.