[libcamera-devel] [RFC PATCH v2 08/12] controls: Add controls necessary for FULL compliance
Paul Elder
paul.elder at ideasonboard.com
Thu Apr 22 11:40:58 CEST 2021
Add controls necessary for FULL compliance:
- BlackLevelLocked
- EdgeMode
- FrameDuration
- SensorSensitivity
- TonemapMode
While at it, change the names of some AwbState values to be consistent
and to avoid potential conflicts with AwbLocked.
Signed-off-by: Paul Elder <paul.elder at ideasonboard.com>
---
src/libcamera/control_ids.yaml | 78 +++++++++++++++++++++++++++++++++-
1 file changed, 76 insertions(+), 2 deletions(-)
diff --git a/src/libcamera/control_ids.yaml b/src/libcamera/control_ids.yaml
index f025819a..61c5c96f 100644
--- a/src/libcamera/control_ids.yaml
+++ b/src/libcamera/control_ids.yaml
@@ -420,6 +420,13 @@ controls:
The camera will cancel any active trigger and the AF routine is
reset to its initial state.
+ - BlackLevelLocked:
+ type: bool
+ draft: true
+ description: |
+ Whether black-level compensation is locked to its current values, or is
+ free to vary. Currently identical to ANDROID_BLACK_LEVEL_LOCK.
+
- NoiseReductionMode:
type: int32_t
draft: true
@@ -554,13 +561,46 @@ controls:
- name: AwbStateSearching
value: 1
description: The AWB algorithm has not converged yet.
- - name: AwbConverged
+ - name: AwbStateConverged
value: 2
description: The AWB algorithm has converged.
- - name: AwbLocked
+ - name: AwbStateLocked
value: 3
description: The AWB algorithm is locked.
+ - EdgeMode:
+ type: int32_t
+ draft: true
+ description: |
+ Control to report the operation mode of edge enhancement. Currently
+ identical to ANDROID_EDGE_MODE.
+ enum:
+ - name: EdgeModeOff
+ value: 0
+ description: No edge enhancement is applied.
+ - name: EdgeModeFast
+ value: 1
+ description: |
+ Apply edge enhancement at a quality level tha does not
+ slow down frame rate relative to sensor output.
+ - name: EdgeModeHighQuality
+ value: 2
+ description: |
+ Apply high-quality edge enhancement, at a cost of possible reduced
+ output frame rate.
+ - name: EdgeModeZSL
+ value: 3
+ description: |
+ Edge enhancement is applied at different levels for different output
+ streams, based on resolution.
+
+ - FrameDuration:
+ type: int64_t
+ draft: true
+ description: |
+ Duration from start of frame exposure to start of next frame exposure, in
+ nanoseconds. Currently identical to ANDROID_SENSOR_FRAME_DURATION.
+
- SensorRollingShutterSkew:
type: int64_t
draft: true
@@ -569,6 +609,13 @@ controls:
row and the start of exposure of the last row. Currently identical to
ANDROID_SENSOR_ROLLING_SHUTTER_SKEW
+ - SensorSensitivity:
+ type: int32_t
+ draft: true
+ description: |
+ The amount of gain applied to sensor data before processing. Currently
+ identical to ANDROID_SENSOR_SENSITIVITY.
+
- LensShadingMapMode:
type: int32_t
draft: true
@@ -600,6 +647,33 @@ controls:
value: 2
description: 60Hz flickering detected.
+ - TonemapMode:
+ type: int32_t
+ draft: true
+ description: |
+ High-level global contrast/gamma/tonemapping control. Currently identical
+ to ANDROID_TONEMAP_MODE.
+ enum:
+ - name: TonemapModeContrastCurve
+ value: 0
+ description: Use the specified tonemapping curve.
+ - name: TonemapModeFast
+ value: 1
+ description: |
+ Advanced gamma mapping and color enhancement may be applied, without
+ reducing frame rate compared to raw sensor output.
+ - name: TonemapModeHighQuality
+ value: 2
+ description: |
+ High-quality gamma mapping and color enhancement will be applied, at
+ the cost of possibly reduced frame rate compared to raw sensor output.
+ - name: TonemapModeGammaValue
+ value: 3
+ description: Use the specified gamma value for tonemapping.
+ - name: TonemapModePresetCurve
+ value: 4
+ description: Use the specified preset tonemapping curve.
+
- PipelineDepth:
type: int32_t
draft: true
--
2.27.0
More information about the libcamera-devel
mailing list