From ca5fb994091e7b3ba6db484ae0a58e2ecd00abbf Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Wed, 13 Oct 2021 04:23:11 +0300 Subject: libcamera: pipeline: ipu3: Use new Size grownBy() and shrunkBy() helpers The Size class has new helpers that can simplify the code in the IPU3 pipeline handler. Use them. Signed-off-by: Laurent Pinchart Reviewed-by: Jacopo Mondi --- src/libcamera/pipeline/ipu3/ipu3.cpp | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) (limited to 'src/libcamera/pipeline') diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp index 92e86925..13791a8b 100644 --- a/src/libcamera/pipeline/ipu3/ipu3.cpp +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp @@ -438,11 +438,10 @@ CameraConfiguration *PipelineHandlerIPU3::generateConfiguration(Camera *camera, * \todo Clarify the alignment constraints as explained * in validate() */ - size = sensorResolution.boundedTo(IMGU_OUTPUT_MAX_SIZE); - size.width = utils::alignDown(size.width - 1, - IMGU_OUTPUT_WIDTH_MARGIN); - size.height = utils::alignDown(size.height - 1, - IMGU_OUTPUT_HEIGHT_MARGIN); + size = sensorResolution.boundedTo(IMGU_OUTPUT_MAX_SIZE) + .shrunkBy({ 1, 1 }) + .alignedDownTo(IMGU_OUTPUT_WIDTH_MARGIN, + IMGU_OUTPUT_HEIGHT_MARGIN); pixelFormat = formats::NV12; bufferCount = IPU3_BUFFER_COUNT; streamFormats[pixelFormat] = { { IMGU_OUTPUT_MIN_SIZE, size } }; @@ -996,20 +995,18 @@ int PipelineHandlerIPU3::initControls(IPU3CameraData *data) */ /* The strictly smaller size than the sensor resolution, aligned to margins. */ - Size minSize = Size(sensor->resolution().width - 1, - sensor->resolution().height - 1) - .alignedDownTo(IMGU_OUTPUT_WIDTH_MARGIN, - IMGU_OUTPUT_HEIGHT_MARGIN); + Size minSize = sensor->resolution().shrunkBy({ 1, 1 }) + .alignedDownTo(IMGU_OUTPUT_WIDTH_MARGIN, + IMGU_OUTPUT_HEIGHT_MARGIN); /* * Either the smallest margin-aligned size larger than the viewfinder * size or the adjusted sensor resolution. */ - minSize = Size(IPU3ViewfinderSize.width + 1, - IPU3ViewfinderSize.height + 1) - .alignedUpTo(IMGU_OUTPUT_WIDTH_MARGIN, - IMGU_OUTPUT_HEIGHT_MARGIN) - .boundedTo(minSize); + minSize = IPU3ViewfinderSize.grownBy({ 1, 1 }) + .alignedUpTo(IMGU_OUTPUT_WIDTH_MARGIN, + IMGU_OUTPUT_HEIGHT_MARGIN) + .boundedTo(minSize); /* * Re-scale in the sensor's native coordinates. Report (0,0) as -- cgit v1.2.1