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

David Plowman david.plowman at raspberrypi.com
Fri Jul 24 16:56:16 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 | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/libcamera/control_ids.yaml b/src/libcamera/control_ids.yaml
index 988b501..3560d4a 100644
--- a/src/libcamera/control_ids.yaml
+++ b/src/libcamera/control_ids.yaml
@@ -262,4 +262,15 @@ controls:
         In this respect, it is not necessarily aimed at providing a way to
         implement a focus algorithm by the application, rather an indication of
         how in-focus a frame is.
+
+  - 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: [3x3]
 ...
-- 
2.20.1



More information about the libcamera-devel mailing list