[libcamera-devel,v3,3/6] libcamera: Add IspCrop control

Message ID 20200929164000.15429-4-david.plowman@raspberrypi.com
State Superseded
Headers show
Series
  • Digital zoom
Related show

Commit Message

David Plowman Sept. 29, 2020, 4:39 p.m. UTC
The IspCrop control selects how much of the sensor's output image
will be scaled to form the output image. It can be used to implement
digital zoom.

Signed-off-by: David Plowman <david.plowman@raspberrypi.com>
---
 src/libcamera/control_ids.yaml | 12 ++++++++++++
 1 file changed, 12 insertions(+)

Comments

Kieran Bingham Oct. 5, 2020, 8:12 p.m. UTC | #1
Hi David,

On 29/09/2020 17:39, David Plowman wrote:
> The IspCrop control selects how much of the sensor's output image
> will be scaled to form the output image. It can be used to implement
> digital zoom.
> 
> Signed-off-by: David Plowman <david.plowman@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 3560d4a8..46a4bd94 100644
> --- a/src/libcamera/control_ids.yaml
> +++ b/src/libcamera/control_ids.yaml
> @@ -273,4 +273,16 @@ controls:
>          order in an array of 9 floating point values.
>  
>        size: [3x3]
> +
> +  - IspCrop:

The naming is of course the only part of this that could be contentious
;-) For some reason, I feel like embeddeding the 'Isp' context here
doesn't seem right.

But I can't think of any better alternatives right now, and I don't want
to block this further, and until we're ABI stable we can theoretically
change this if we figure out it might be better named. The only instance
I could think of for that is if the reprocessing API affects this. But I
guess even when going through reprocessing, it would still be likely a
crop at the Isp - so perhaps I'm worrying about nothing.



> +      type: Rectangle
> +      description: |
> +        Sets the image portion that will be scaled up to form the
> +        whole of the final output image. The selection rectangle is
> +        expressed in pixel units and defined relatively to the size
> +        of the frame described by the SensorOutputSize property.
> +
> +        This control can be used to implement digital zoom.
> +
> +        \sa properties::SensorOutputSize

And rather than worry further, I'll just add this:

Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

>  ...
>

Patch

diff --git a/src/libcamera/control_ids.yaml b/src/libcamera/control_ids.yaml
index 3560d4a8..46a4bd94 100644
--- a/src/libcamera/control_ids.yaml
+++ b/src/libcamera/control_ids.yaml
@@ -273,4 +273,16 @@  controls:
         order in an array of 9 floating point values.
 
       size: [3x3]
+
+  - IspCrop:
+      type: Rectangle
+      description: |
+        Sets the image portion that will be scaled up to form the
+        whole of the final output image. The selection rectangle is
+        expressed in pixel units and defined relatively to the size
+        of the frame described by the SensorOutputSize property.
+
+        This control can be used to implement digital zoom.
+
+        \sa properties::SensorOutputSize
 ...