[PATCH v4 1/3] libcamera: Add gamma control id

Kieran Bingham kieran.bingham at ideasonboard.com
Wed Jun 5 12:45:58 CEST 2024


Quoting Stefan Klug (2024-06-05 10:53:49)
> A camera gamma of roughly 2.2 is necessary to produce correct output
> images on a standard monitor. Add a control for that.
> 
> Further information is available here:
> https://en.wikipedia.org/wiki/SRGB
> https://www.cambridgeincolour.com/tutorials/gamma-correction.htm
> 
> Signed-off-by: Stefan Klug <stefan.klug at ideasonboard.com>
> Reviewed-by: Daniel Scally <dan.scally at ideasonboard.com>
> Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> ---
>  src/libcamera/control_ids_core.yaml | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/src/libcamera/control_ids_core.yaml b/src/libcamera/control_ids_core.yaml
> index bf1f1a839f6a..303b0d32e020 100644
> --- a/src/libcamera/control_ids_core.yaml
> +++ b/src/libcamera/control_ids_core.yaml
> @@ -243,6 +243,13 @@ controls:
>          Specify a fixed contrast parameter. Normal contrast is given by the
>          value 1.0; larger values produce images with more contrast.
>  
> +  - Gamma:
> +      type: float
> +      description:  |
> +        Specify a fixed gamma value. Default must be 2.2 which closely mimics 
> +        sRGB gamma. Note that this is camera gamma, so it is applied as 
> +        1.0/gamma
> +

Aha - one small issue here.

Can you append the control instead of adding it in alphabetically?
(Yeah, normally we'd definitely sort things alphabetically...)

That will prevent an ABI breakage. I think we can run a sort operation
on any occasion where we do an ABI breaking release - but hopefully
there's no need to introduce an ABI break here.

--
Kieran


>    - Lux:
>        type: float
>        description: |
> -- 
> 2.43.0
>


More information about the libcamera-devel mailing list