[libcamera-devel] [PATCH 1/3] libcamera: Add ColourCorrectionMatrix control
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Fri Jul 24 02:19:26 CEST 2020
Hi David,
Thank you for the patch, and sorry for the late review.
On Sat, Jul 04, 2020 at 10:59:12AM +0100, David Plowman wrote:
> 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]
I'd write this
size: [3x3]
We don't parse the size value yet, libcamera only uses it to determine
if a control contains a single value or is an array. With this changed,
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
If this is the only change needed, I'll update the code when applying
the patch.
> +
> ...
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list