[libcamera-devel] [PATCH] libcamera: control_ids: Keep draft controls last

Kieran Bingham kieran.bingham at ideasonboard.com
Mon Nov 23 10:21:23 CET 2020


Hi Jacopo,

On 23/11/2020 09:03, Jacopo Mondi wrote:
> Let's try not to mix draft controls and regular controls.
> 
> Keep draft controls at the end of the control_ids.yaml file and
> add a comment to make clear where the draft controls section begins.
> 

I won't directly object to this if you are concerned about the existing
ordering - but it is not required to keep draft controls together.

Changing a control from Draft to non-draft will not change it's
underlying control id value/enum value - but moving them around the file
will.


Of course, we're likely to hit re-ordering anyway, as we find ourselves
refactoring draft controls ...


Perhaps that's a good reason to keep draft controls at the end anyway.
That way we won't affect the ID of any non-draft controls...

Acked-by: Kieran Bingham <kieran.bingham at ideasonboard.com>


> Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
> ---
>  src/libcamera/control_ids.yaml | 28 ++++++++++++++++------------
>  1 file changed, 16 insertions(+), 12 deletions(-)
> 
> diff --git a/src/libcamera/control_ids.yaml b/src/libcamera/control_ids.yaml
> index c8874fa91965..a883e27e22e9 100644
> --- a/src/libcamera/control_ids.yaml
> +++ b/src/libcamera/control_ids.yaml
> @@ -273,6 +273,22 @@ controls:
>  
>        size: [3x3]
>  
> +  - ScalerCrop:
> +      type: Rectangle
> +      description: |
> +        Sets the image portion that will be scaled to form the whole of
> +        the final output image. The (x,y) location of this rectangle is
> +        relative to the PixelArrayActiveAreas that is being used. The units
> +        remain native sensor pixels, even if the sensor is being used in
> +        a binning or skipping mode.
> +
> +        This control is only present when the pipeline supports scaling. Its
> +        maximum valid value is given by the properties::ScalerCropMaximum
> +        property, and the two can be used to implement digital zoom.
> +
> +  # ----------------------------------------------------------------------------
> +  # Draft controls section
> +
>    - AePrecaptureTrigger:
>        type: int32_t
>        draft: true
> @@ -518,16 +534,4 @@ controls:
>          detection, additional format conversions etc) count as an additional
>          pipeline stage.
>  
> -  - ScalerCrop:
> -      type: Rectangle
> -      description: |
> -        Sets the image portion that will be scaled to form the whole of
> -        the final output image. The (x,y) location of this rectangle is
> -        relative to the PixelArrayActiveAreas that is being used. The units
> -        remain native sensor pixels, even if the sensor is being used in
> -        a binning or skipping mode.
> -
> -        This control is only present when the pipeline supports scaling. Its
> -        maximum valid value is given by the properties::ScalerCropMaximum
> -        property, and the two can be used to implement digital zoom.
>  ...
> 

-- 
Regards
--
Kieran


More information about the libcamera-devel mailing list