[libcamera-devel] [PATCH v5 0/5] Digital zoom
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Sat Oct 24 01:37:58 CEST 2020
Hi David,
On Fri, Oct 23, 2020 at 11:21:54AM +0100, David Plowman wrote:
> Hi everyone
>
> Thanks for the reviews and comments, latest version of digital zoom
> patches attached. I reordered the first couple because the ScalerCrop
> control seems more fundamental now, so it seemed slightly better
> before the ScalerCropMaximum one. Don't think it matters much.
>
> The main differences are:
>
> 1 and 2. These are now the control then the property, as described.
>
> 3. Initialisation of the ScalerCropMaximum property is now in the RPi
> pipeline handler, and to zero values (isNull is our friend).
>
> 4. Geometry helpers - a bit more renaming, as usual. I found I had to
> keep some of the casts because widths and heights tend to be unsigned
> ints (not just ints). There's a Rectangle::topLeft() function and you
> now translate by a Point (I'll live with my discomfort on that one).
>
> That Rectangle scaling function is now described as a "non-uniform
> scaling", I think that's something familiar to most people. I agree it
> was confusing before (I'd described it by the way I used it, rather
> than what it was), but I think a non-unifrom scaling is clearer than a
> homothety (actually I had some difficulties with that too).
>
> 5. RPi implementation. I fill in the ScalerCrop in the metadata
> directly now, when the metadata returns from the IPA (which just
> ignores it).
All this looks really good to me ! I've reviewed all patches, there are
a fair number of comments, but they're getting really minor. I think the
next iteration could be the final one.
> I thought I'd get this lot out there first. In the meantime I'll work
> on some geometry tests and include them either in the next round or as
> a separate patch.
Thank you for that. The tests should be split to a separate patch, but
if it can be included in the series, that would be best.
> David Plowman (5):
> libcamera: Add ScalerCrop control
> libcamera: Add SensorCropMaximum property
> libcamera: raspberrypi: Initialise the SensorCropMaximum property
> libcamera: Add geometry helper functions
> libcamera: pipeline: raspberrypi: Implementation of digital zoom
>
> include/libcamera/geometry.h | 52 +++
> include/libcamera/ipa/raspberrypi.h | 1 +
> src/ipa/raspberrypi/raspberrypi.cpp | 5 +
> src/libcamera/control_ids.yaml | 13 +
> src/libcamera/geometry.cpp | 307 ++++++++++++++++++
> .../pipeline/raspberrypi/raspberrypi.cpp | 89 ++++-
> src/libcamera/property_ids.yaml | 14 +
> 7 files changed, 465 insertions(+), 16 deletions(-)
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list