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

Message ID 20200724145618.26304-2-david.plowman@raspberrypi.com
State Accepted
Headers show
Series
  • ColourCorrectionMatrix control
Related show

Commit Message

David Plowman July 24, 2020, 2:56 p.m. UTC
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@raspberrypi.com>
---
 src/libcamera/control_ids.yaml | 11 +++++++++++
 1 file changed, 11 insertions(+)

Patch

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