27 AE_CONSTRAINT_MODE = 4,
33 AE_FLICKER_PERIOD = 10,
34 AE_FLICKER_DETECTED = 11,
42 COLOUR_TEMPERATURE = 19,
44 SENSOR_BLACK_LEVELS = 21,
47 COLOUR_CORRECTION_MATRIX = 24,
51 FRAME_DURATION_LIMITS = 28,
52 SENSOR_TEMPERATURE = 29,
53 SENSOR_TIMESTAMP = 30,
147extern const std::array<const ControlValue, 3>
AfModeValues;
232#define LIBCAMERA_HAS_DRAFT_VENDOR_CONTROLS
235 AE_PRECAPTURE_TRIGGER = 10001,
236 NOISE_REDUCTION_MODE = 10002,
237 COLOR_CORRECTION_ABERRATION_MODE = 10003,
240 SENSOR_ROLLING_SHUTTER_SKEW = 10006,
241 LENS_SHADING_MAP_MODE = 10007,
242 PIPELINE_DEPTH = 10008,
244 TEST_PATTERN_MODE = 10010,
Describe a control and its intrinsic properties.
Definition controls.h:255
Framework to manage controls related to an object.
const Control< int32_t > NoiseReductionMode
Control to select the noise reduction algorithm mode. Currently identical to ANDROID_NOISE_REDUCTION_...
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, 4 > AwbStateValues
List of all AwbState supported values.
const std::map< std::string, int32_t > LensShadingMapModeNameValueMap
Map of all LensShadingMapMode supported value names (in std::string format) to value.
AeStateEnum
Supported AeState values.
Definition control_ids.h:273
@ AeStateLocked
The AE algorithm is locked.
Definition control_ids.h:277
@ AeStateInactive
The AE algorithm is inactive.
Definition control_ids.h:274
@ AeStateFlashRequired
The AE algorithm would need a flash for good results.
Definition control_ids.h:278
@ AeStateSearching
The AE algorithm has not converged yet.
Definition control_ids.h:275
@ AeStatePrecapture
The AE algorithm has started a pre-capture metering session.
Definition control_ids.h:279
@ AeStateConverged
The AE algorithm has converged.
Definition control_ids.h:276
NoiseReductionModeEnum
Supported NoiseReductionMode values.
Definition control_ids.h:255
@ NoiseReductionModeHighQuality
High quality noise reduction at the expense of frame rate.
Definition control_ids.h:258
@ NoiseReductionModeMinimal
Minimal noise reduction is applied without reducing the frame rate.
Definition control_ids.h:259
@ NoiseReductionModeOff
No noise reduction is applied.
Definition control_ids.h:256
@ NoiseReductionModeZSL
Noise reduction is applied at different levels to different streams.
Definition control_ids.h:260
@ NoiseReductionModeFast
Noise reduction is applied without reducing the frame rate.
Definition control_ids.h:257
AwbStateEnum
Supported AwbState values.
Definition control_ids.h:284
@ AwbConverged
The AWB algorithm has converged.
Definition control_ids.h:287
@ AwbStateSearching
The AWB algorithm has not converged yet.
Definition control_ids.h:286
@ AwbStateInactive
The AWB algorithm is inactive.
Definition control_ids.h:285
@ AwbLocked
The AWB algorithm is locked.
Definition control_ids.h:288
const Control< int32_t > AwbState
Control to report the current AWB algorithm state. Currently identical to ANDROID_CONTROL_AWB_STATE.
const std::array< const ControlValue, 3 > AePrecaptureTriggerValues
List of all AePrecaptureTrigger supported values.
const Control< int32_t > LensShadingMapMode
Control to report if the lens shading map is available. Currently identical to ANDROID_STATISTICS_LEN...
const Control< int32_t > ColorCorrectionAberrationMode
Control to select the color correction aberration mode. Currently identical to ANDROID_COLOR_CORRECTI...
const std::map< std::string, int32_t > AeStateNameValueMap
Map of all AeState supported value names (in std::string format) to value.
const std::array< const ControlValue, 6 > TestPatternModeValues
List of all TestPatternMode supported values.
const Control< int32_t > MaxLatency
The maximum number of frames that can occur after a request (different than the previous) has been su...
const std::array< const ControlValue, 3 > ColorCorrectionAberrationModeValues
List of all ColorCorrectionAberrationMode supported values.
const Control< int32_t > PipelineDepth
Specifies the number of pipeline stages the frame went through from when it was exposed to when the f...
LensShadingMapModeEnum
Supported LensShadingMapMode values.
Definition control_ids.h:294
@ LensShadingMapModeOn
The lens shading map mode is available.
Definition control_ids.h:296
@ LensShadingMapModeOff
No lens shading map mode is available.
Definition control_ids.h:295
const std::array< const ControlValue, 5 > NoiseReductionModeValues
List of all NoiseReductionMode supported values.
const std::array< const ControlValue, 6 > AeStateValues
List of all AeState supported values.
const std::map< std::string, int32_t > ColorCorrectionAberrationModeNameValueMap
Map of all ColorCorrectionAberrationMode supported value names (in std::string format) to value.
TestPatternModeEnum
Supported TestPatternMode values.
Definition control_ids.h:303
@ TestPatternModeSolidColor
Each pixel in [R, G_even, G_odd, B] is replaced by its respective color channel provided in test patt...
Definition control_ids.h:305
@ TestPatternModeCustom1
The first custom test pattern. All custom patterns that are available only on this camera device are ...
Definition control_ids.h:309
@ TestPatternModeOff
No test pattern mode is used. The camera device returns frames from the image sensor.
Definition control_ids.h:304
@ TestPatternModeColorBarsFadeToGray
The test pattern is similar to TestPatternModeColorBars, except that each bar should start at its spe...
Definition control_ids.h:307
@ TestPatternModePn9
All pixel data is replaced by a pseudo-random sequence generated from a PN9 512-bit sequence (typical...
Definition control_ids.h:308
@ TestPatternModeColorBars
All pixel data is replaced with an 8-bar color pattern. The vertical bars (left-to-right) are as foll...
Definition control_ids.h:306
const std::map< std::string, int32_t > NoiseReductionModeNameValueMap
Map of all NoiseReductionMode supported value names (in std::string format) to value.
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 > AePrecaptureTrigger
Control for AE metering trigger. Currently identical to ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER.
const std::map< std::string, int32_t > TestPatternModeNameValueMap
Map of all TestPatternMode supported value names (in std::string format) to value.
const Control< int64_t > SensorRollingShutterSkew
Control to report the time between the start of exposure of the first row and the start of exposure o...
ColorCorrectionAberrationModeEnum
Supported ColorCorrectionAberrationMode values.
Definition control_ids.h:265
@ ColorCorrectionAberrationOff
No aberration correction is applied.
Definition control_ids.h:266
@ ColorCorrectionAberrationFast
Aberration correction will not slow down the frame rate.
Definition control_ids.h:267
@ ColorCorrectionAberrationHighQuality
High quality aberration correction which might reduce the frame rate.
Definition control_ids.h:268
const Control< int32_t > AeState
Control to report the current AE algorithm state. Currently identical to ANDROID_CONTROL_AE_STATE.
const std::map< std::string, int32_t > AePrecaptureTriggerNameValueMap
Map of all AePrecaptureTrigger supported value names (in std::string format) to value.
const std::array< const ControlValue, 2 > LensShadingMapModeValues
List of all LensShadingMapMode supported values.
AePrecaptureTriggerEnum
Supported AePrecaptureTrigger values.
Definition control_ids.h:247
@ AePrecaptureTriggerIdle
The trigger is idle.
Definition control_ids.h:248
@ AePrecaptureTriggerStart
The pre-capture AE metering is started by the camera.
Definition control_ids.h:249
@ AePrecaptureTriggerCancel
The camera will cancel any active or completed metering sequence. The AE algorithm is reset to its in...
Definition control_ids.h:250
const Control< int32_t > AfRange
Control to set the range of focus distances that is scanned. An implementation may choose not to impl...
const Control< int32_t > AfState
Reports the current state of the AF algorithm in conjunction with the reported AfMode value and (in c...
const Control< float > AnalogueGain
Analogue gain value applied in the sensor device. The value of the control specifies the gain multipl...
const std::array< const ControlValue, 3 > AfRangeValues
List of all AfRange supported values.
const Control< float > Saturation
Specify a fixed saturation parameter. Normal saturation is given by the value 1.0; larger values prod...
const std::array< const ControlValue, 2 > AfSpeedValues
List of all AfSpeed supported values.
const Control< int32_t > ExposureTime
Exposure time (shutter speed) for the frame applied in the sensor device. This value is specified in ...
const Control< Rectangle > ScalerCrop
Sets the image portion that will be scaled to form the whole of the final output image....
const Control< int32_t > HdrChannel
This value is reported back to the application so that it can discover whether this capture correspon...
AfModeEnum
Supported AfMode values.
Definition control_ids.h:142
@ AfModeAuto
The AF algorithm is in auto mode. This means that the algorithm will never move the lens or change st...
Definition control_ids.h:144
@ AfModeContinuous
The AF algorithm is in continuous mode. This means that the lens can re-start a scan spontaneously at...
Definition control_ids.h:145
@ AfModeManual
The AF algorithm is in manual mode. In this mode it will never perform any action nor move the lens o...
Definition control_ids.h:143
AfPauseEnum
Supported AfPause values.
Definition control_ids.h:180
@ AfPauseImmediate
Pause the continuous autofocus algorithm immediately, whether or not any kind of scan is underway....
Definition control_ids.h:181
@ AfPauseResume
Resume continuous autofocus operation. The algorithm starts again from exactly where it left off,...
Definition control_ids.h:183
@ AfPauseDeferred
This is similar to AfPauseImmediate, and if the AfState is currently reporting AfStateFocused or AfSt...
Definition control_ids.h:182
const Control< Span< const Rectangle > > AfWindows
Sets the focus windows used by the AF algorithm when AfMetering is set to AfMeteringWindows....
const std::array< const ControlValue, 3 > AeFlickerModeValues
List of all AeFlickerMode supported values.
const std::array< const ControlValue, 2 > AfTriggerValues
List of all AfTrigger supported values.
const std::array< const ControlValue, 3 > AfModeValues
List of all AfMode supported values.
const std::array< const ControlValue, 4 > AeMeteringModeValues
List of all AeMeteringMode supported values.
const std::array< const ControlValue, 3 > AfPauseValues
List of all AfPause supported values.
const Control< bool > AwbEnable
Enable or disable the AWB.
AfTriggerEnum
Supported AfTrigger values.
Definition control_ids.h:173
@ AfTriggerCancel
Cancel an AF scan. This does not cause the lens to move anywhere else. Ignored if no scan is in progr...
Definition control_ids.h:175
@ AfTriggerStart
Start an AF scan. Ignored if a scan is in progress.
Definition control_ids.h:174
const std::map< std::string, int32_t > AfMeteringNameValueMap
Map of all AfMetering supported value names (in std::string format) to value.
const Control< int32_t > AwbMode
Specify the range of illuminants to use for the AWB algorithm. The modes supported are platform speci...
const Control< float > ExposureValue
Specify an Exposure Value (EV) parameter. The EV parameter will only be applied if the AE algorithm i...
const Control< int32_t > AfPause
This control has no effect except when in continuous autofocus mode (AfModeContinuous)....
const Control< float > LensPosition
Acts as a control to instruct the lens to move to a particular position and also reports back the pos...
AfStateEnum
Supported AfState values.
Definition control_ids.h:189
@ AfStateScanning
The AF algorithm is in auto mode (AfModeAuto), and a scan has been started using the AfTrigger contro...
Definition control_ids.h:191
@ AfStateIdle
The AF algorithm is in manual mode (AfModeManual) or in auto mode (AfModeAuto) and a scan has not yet...
Definition control_ids.h:190
@ AfStateFailed
The AF algorithm is in auto (AfModeAuto) or continuous (AfModeContinuous) mode and a scan has complet...
Definition control_ids.h:193
@ AfStateFocused
The AF algorithm is in auto (AfModeAuto) or continuous (AfModeContinuous) mode and a scan has complet...
Definition control_ids.h:192
const std::array< const ControlValue, 4 > AfStateValues
List of all AfState supported values.
const std::array< const ControlValue, 4 > AeExposureModeValues
List of all AeExposureMode supported values.
const std::array< const ControlValue, 2 > AfMeteringValues
List of all AfMetering supported values.
const std::map< std::string, int32_t > AeMeteringModeNameValueMap
Map of all AeMeteringMode supported value names (in std::string format) to value.
const Control< int32_t > AeExposureMode
Specify an exposure mode for the AE algorithm to use. These specify how the desired total exposure is...
const Control< int32_t > AeFlickerPeriod
Manual flicker period in microseconds. This value sets the current flicker period to avoid....
const Control< int32_t > AfSpeed
Control that determines whether the AF algorithm is to move the lens as quickly as possible or more s...
const Control< float > SensorTemperature
Temperature measure from the camera sensor in Celsius. This is typically obtained by a thermal sensor...
HdrModeEnum
Supported HdrMode values.
Definition control_ids.h:206
@ HdrModeNight
Multiple frames will be combined to produce "night mode" images. It is up to the implementation exact...
Definition control_ids.h:211
@ HdrModeSingleExposure
Multiple frames all at a single exposure will be used to create HDR images. These images should be re...
Definition control_ids.h:210
@ HdrModeMultiExposureUnmerged
Multiple exposures will be generated in an alternating fashion. However, they will not be merged toge...
Definition control_ids.h:208
@ HdrModeMultiExposure
Multiple exposures will be generated and merged to create HDR images. Each image will be tagged with ...
Definition control_ids.h:209
@ HdrModeOff
HDR is disabled. Metadata for this frame will not include the HdrChannel control.
Definition control_ids.h:207
const std::map< std::string, int32_t > AeFlickerModeNameValueMap
Map of all AeFlickerMode supported value names (in std::string format) to value.
const Control< Span< const float, 2 > > ColourGains
Pair of gain values for the Red and Blue colour channels, in that order. ColourGains can only be appl...
const Control< int32_t > AfMode
Control to set the mode of the AF (autofocus) algorithm.
const Control< int32_t > AeConstraintMode
Specify a constraint mode for the AE algorithm to use. These determine how the measured scene brightn...
const Control< int32_t > FocusFoM
Reports a Figure of Merit (FoM) to indicate how in-focus the frame is. A larger FocusFoM value indica...
AwbModeEnum
Supported AwbMode values.
Definition control_ids.h:115
@ AwbIncandescent
Incandescent AWB lamp mode.
Definition control_ids.h:117
@ AwbDaylight
Daylight AWB lighting mode.
Definition control_ids.h:121
@ AwbAuto
Search over the whole colour temperature range.
Definition control_ids.h:116
@ AwbTungsten
Tungsten AWB lamp mode.
Definition control_ids.h:118
@ AwbIndoor
Indoor AWB lighting mode.
Definition control_ids.h:120
@ AwbFluorescent
Fluorescent AWB lamp mode.
Definition control_ids.h:119
@ AwbCloudy
Cloudy AWB lighting mode.
Definition control_ids.h:122
@ AwbCustom
Custom AWB mode.
Definition control_ids.h:123
const std::map< std::string, int32_t > AfPauseNameValueMap
Map of all AfPause supported value names (in std::string format) to value.
const ControlIdMap controls
List of all supported libcamera controls.
Definition controls_ids.cpp:1645
const std::map< std::string, int32_t > HdrModeNameValueMap
Map of all HdrMode supported value names (in std::string format) to value.
const std::map< std::string, int32_t > HdrChannelNameValueMap
Map of all HdrChannel supported value names (in std::string format) to value.
const std::map< std::string, int32_t > AfSpeedNameValueMap
Map of all AfSpeed supported value names (in std::string format) to value.
AfRangeEnum
Supported AfRange values.
Definition control_ids.h:150
@ AfRangeNormal
A wide range of focus distances is scanned, all the way from infinity down to close distances,...
Definition control_ids.h:151
@ AfRangeMacro
Only close distances are scanned.
Definition control_ids.h:152
@ AfRangeFull
The full range of focus distances is scanned just as with AfRangeNormal but this time including the v...
Definition control_ids.h:153
const std::map< std::string, int32_t > AeExposureModeNameValueMap
Map of all AeExposureMode supported value names (in std::string format) to value.
const Control< int32_t > AeFlickerDetected
Flicker period detected in microseconds. The value reported here indicates the currently detected fli...
const Control< float > Sharpness
A value of 0.0 means no sharpening. The minimum value means minimal sharpening, and shall be 0....
const std::array< const ControlValue, 3 > AfPauseStateValues
List of all AfPauseState supported values.
const Control< int32_t > AfMetering
Instruct the AF algorithm how it should decide which parts of the image should be used to measure foc...
AeMeteringModeEnum
Supported AeMeteringMode values.
Definition control_ids.h:71
@ MeteringSpot
Spot metering mode.
Definition control_ids.h:73
@ MeteringMatrix
Matrix metering mode.
Definition control_ids.h:74
@ MeteringCustom
Custom metering mode.
Definition control_ids.h:75
@ MeteringCentreWeighted
Centre-weighted metering mode.
Definition control_ids.h:72
const Control< int32_t > ColourTemperature
Report the current estimate of the colour temperature, in kelvin, for this frame. The ColourTemperatu...
AeExposureModeEnum
Supported AeExposureMode values.
Definition control_ids.h:89
@ ExposureShort
Exposure mode allowing only short exposure times.
Definition control_ids.h:91
@ ExposureNormal
Default exposure mode.
Definition control_ids.h:90
@ ExposureCustom
Custom exposure mode.
Definition control_ids.h:93
@ ExposureLong
Exposure mode allowing long exposure times.
Definition control_ids.h:92
const Control< bool > AwbLocked
Report the lock status of a running AWB algorithm.
const Control< int32_t > AeFlickerMode
Set the flicker mode, which determines whether, and how, the AGC/AEC algorithm attempts to hide flick...
const Control< float > Brightness
Specify a fixed brightness parameter. Positive values (up to 1.0) produce brighter images; negative v...
const std::map< std::string, int32_t > AfPauseStateNameValueMap
Map of all AfPauseState supported value names (in std::string format) to value.
const Control< float > Lux
Report an estimate of the current illuminance level in lux. The Lux control can only be returned in m...
const std::array< const ControlValue, 4 > AeConstraintModeValues
List of all AeConstraintMode supported values.
const std::map< std::string, int32_t > AfStateNameValueMap
Map of all AfState supported value names (in std::string format) to value.
const Control< float > DigitalGain
Digital gain value applied during the processing steps applied to the image as captured from the sens...
const std::map< std::string, int32_t > AfModeNameValueMap
Map of all AfMode supported value names (in std::string format) to value.
AfMeteringEnum
Supported AfMetering values.
Definition control_ids.h:165
@ AfMeteringWindows
The AF algorithm should use the rectangles defined by the AfWindows control to measure focus....
Definition control_ids.h:167
@ AfMeteringAuto
The AF algorithm should decide for itself where it will measure focus.
Definition control_ids.h:166
AfSpeedEnum
Supported AfSpeed values.
Definition control_ids.h:158
@ AfSpeedFast
Move the lens more quickly.
Definition control_ids.h:160
@ AfSpeedNormal
Move the lens at its usual speed.
Definition control_ids.h:159
const std::map< std::string, int32_t > AwbModeNameValueMap
Map of all AwbMode supported value names (in std::string format) to value.
const Control< int32_t > AfTrigger
This control starts an autofocus scan when AfMode is set to AfModeAuto, and can also be used to termi...
AeConstraintModeEnum
Supported AeConstraintMode values.
Definition control_ids.h:80
@ ConstraintHighlight
Highlight constraint mode. This mode adjusts the exposure levels in order to try and avoid over-expos...
Definition control_ids.h:82
@ ConstraintCustom
Custom constraint mode.
Definition control_ids.h:84
@ ConstraintNormal
Default constraint mode. This mode aims to balance the exposure of different parts of the image so as...
Definition control_ids.h:81
@ ConstraintShadows
Shadows constraint mode. This mode adjusts the exposure levels in order to try and avoid under-exposi...
Definition control_ids.h:83
const Control< bool > AeLocked
Report the lock status of a running AE algorithm.
const Control< Span< const int32_t, 4 > > SensorBlackLevels
Reports the sensor black levels used for processing a frame, in the order R, Gr, Gb,...
const Control< int32_t > AfPauseState
Only applicable in continuous (AfModeContinuous) mode, this reports whether the algorithm is currentl...
const std::array< const ControlValue, 5 > HdrModeValues
List of all HdrMode supported values.
const Control< int32_t > HdrMode
Control to set the mode to be used for High Dynamic Range (HDR) imaging. HDR techniques typically inc...
const Control< float > Gamma
Specify a fixed gamma value. Default must be 2.2 which closely mimics sRGB gamma. Note that this is c...
const std::map< std::string, int32_t > AeConstraintModeNameValueMap
Map of all AeConstraintMode supported value names (in std::string format) to value.
const Control< int32_t > AeMeteringMode
Specify a metering mode for the AE algorithm to use. The metering modes determine which parts of the ...
HdrChannelEnum
Supported HdrChannel values.
Definition control_ids.h:216
@ HdrChannelShort
This is a short exposure image.
Definition control_ids.h:218
@ HdrChannelLong
This is a long exposure image.
Definition control_ids.h:220
@ HdrChannelMedium
This is a medium exposure image.
Definition control_ids.h:219
@ HdrChannelNone
This image does not correspond to any of the captures used to create an HDR image.
Definition control_ids.h:217
const Control< int64_t > FrameDuration
The instantaneous frame duration from start of frame exposure to start of next exposure,...
const std::map< std::string, int32_t > AfRangeNameValueMap
Map of all AfRange supported value names (in std::string format) to value.
const Control< Span< const int64_t, 2 > > FrameDurationLimits
The minimum and maximum (in that order) frame duration, expressed in microseconds.
const Control< bool > AeEnable
Enable or disable the AE.
const std::map< std::string, int32_t > AfTriggerNameValueMap
Map of all AfTrigger supported value names (in std::string format) to value.
AfPauseStateEnum
Supported AfPauseState values.
Definition control_ids.h:198
@ AfPauseStatePausing
Continuous AF has been sent an AfPauseDeferred control, and will pause as soon as any in-progress sca...
Definition control_ids.h:200
@ AfPauseStatePaused
Continuous AF is paused. No further state changes or lens movements will occur until the AfPauseResum...
Definition control_ids.h:201
@ AfPauseStateRunning
Continuous AF is running and the algorithm may restart a scan spontaneously.
Definition control_ids.h:199
const Control< float > Contrast
Specify a fixed contrast parameter. Normal contrast is given by the value 1.0; larger values produce ...
const std::array< const ControlValue, 4 > HdrChannelValues
List of all HdrChannel supported values.
AeFlickerModeEnum
Supported AeFlickerMode values.
Definition control_ids.h:101
@ FlickerAuto
Automatic flicker period detection and avoidance. The system will automatically determine the most li...
Definition control_ids.h:104
@ FlickerOff
No flicker avoidance is performed.
Definition control_ids.h:102
@ FlickerManual
Manual flicker avoidance. Suppress flicker effects caused by lighting running with a period specified...
Definition control_ids.h:103
const std::array< const ControlValue, 8 > AwbModeValues
List of all AwbMode supported values.
const Control< Span< const float, 9 > > ColourCorrectionMatrix
The 3x3 matrix that converts camera RGB to sRGB within the imaging pipeline. This should describe the...
const Control< int64_t > SensorTimestamp
The time when the first row of the image sensor active array is exposed.
Top-level libcamera namespace.
Definition backtrace.h:17
std::unordered_map< unsigned int, const ControlId * > ControlIdMap
A map of numerical control ID to ControlId.
Definition controls.h:303