[libcamera-devel] [PATCH 1/3] libcamera: Add ColourCorrectionMatrix control

David Plowman david.plowman at raspberrypi.com
Sat Jul 4 11:59:12 CEST 2020


This control is principally for returning, in the image metadata, the
CCM (Colour Correction Matrix) used by the imaging pipeline. By which
we mean the 3x3 matrix that is applied to the camera RGB pixels after
subtraction of black levels and white-balancing, but before any gamma
transformation.

Some implementations may also choose to let an application set
explicit colour matrices, using this as a control.

Signed-off-by: David Plowman <david.plowman at raspberrypi.com>
---
 src/libcamera/control_ids.yaml | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/libcamera/control_ids.yaml b/src/libcamera/control_ids.yaml
index 8c3e4c7..23c3f06 100644
--- a/src/libcamera/control_ids.yaml
+++ b/src/libcamera/control_ids.yaml
@@ -251,4 +251,16 @@ controls:
         higher than anyone could reasonably want. Negative values are
         not allowed. Note also that sharpening is not applied to raw
         streams.
+
+  - ColourCorrectionMatrix:
+      type: float
+      description: |
+        The 3x3 matrix that converts camera RGB to sRGB within the
+        imaging pipeline. This should describe the matrix that is used
+        after pixels have been white-balanced, but before any gamma
+        transformation. The 3x3 matrix is stored in conventional reading
+        order in an array of 9 floating point values.
+
+      size: [9]
+
 ...
-- 
2.20.1



More information about the libcamera-devel mailing list