From patchwork Tue Jul 5 13:59:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Naushir Patuck X-Patchwork-Id: 16546 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 73A96BE173 for ; Tue, 5 Jul 2022 14:00:01 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id BE01563310; Tue, 5 Jul 2022 16:00:00 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1657029600; bh=xTrqaBfoeMP/MqsW++lItxr6WK6dE1ufHkUEi/kBttA=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=qZ5w4NobvZve95k+nHd50FGnT2SKBBh5EmJKZbXNH9ATMYu4KjYp6247YyE891jee HXvo5Bm7i9yXG8GeIBp6XuErPY88dgJYCUzfUy+z9jiDqFkje/uKl0fCDwUmxhevbS Ld6WK8YHM9rd9T+hPnc7kCyG7Its11TEVuKxcCNNREMlr9rGG0Er8aQy8onNYazlJC sHE0y7sBN6Bf9L5MnYe/gyBeePbPkMnxSoNw2+HRY+xSmXFIQWtoI5c4fVimrZBe1B typkfRccvIIDOJ9FilSHYNf4VuFbwBUYTLCE3ZpuhpT7dbeNa9QpLdUqLTPQSjinFh B1BcT9Z/S5Ebg== Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com [IPv6:2a00:1450:4864:20::42f]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id B246861FB0 for ; Tue, 5 Jul 2022 15:59:59 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="CJL1/XcB"; dkim-atps=neutral Received: by mail-wr1-x42f.google.com with SMTP id z12so8101029wrq.7 for ; Tue, 05 Jul 2022 06:59:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=8Y7vGbRbzOMvWzHfn/SPxk8uOcnWTlPC+qFLWiwHB9k=; b=CJL1/XcBfSGjOixM3lH/B8Jz1jhvCmFnB+pex6Z2q4WYanZLMtLScEJttWKQKVx0Rc 5y3mPDX4QUxwJkZU0QQZddkzsoznWbsXVU9w5r09rnez0gD4JOzdz5SXHT/g+wLILhUq Ks9Y2OKuCbU9rPaYdo0GCzpwRUNSZ4DIyU8RgmR8Q5W3gwz9x5lq74fVVgeLHVUIXxED i+QOhiu7YJ96IVFz5Xc6nLhOTLUhxTFpZ2gm/wvKhGzEC1todcyhtrJC7uTbAdgSqwM+ IkTr5mzudt0x4bQpPgMOEFE/yjijIHO6y2OGtVWRFBxFYkydkicK6u1sCJR975wVUQW8 KjBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=8Y7vGbRbzOMvWzHfn/SPxk8uOcnWTlPC+qFLWiwHB9k=; b=Xlb0qVpQHdVjAkeve2fqpO8rjIQmB1L7mqsKSdi5sYA3+6Jz8uEcsURPkEaaHGWU71 TqTgWem3tPqA0jbotJdhsF3JeXRVVnuBP80+UTZDupd6UIzJhhet2ZI+LLKSXRYpu20D 1v9cjP8IpWztNZ7IskmSXa4Yfy9HLOj6rYNjOwgeiGXADOLMtlhrX/mU+Y/8D2Y13JjA iIgW6xyuMq8A43YWwVfXzpFwWG0S0AsXthPP6nRCnfIzE7nABF6KcRVtvnq4Jk0z1B/c 0fzxl1NgxOzU8Xe0eeZvLiqWhEaoECBNLvZJEtc+tfR/JtqLW0IJFrEJoPGO64lWqolI QvgA== X-Gm-Message-State: AJIora8jTbuzoh/sVoUI1hi4j40smNY7WC8PvZFCabGNpdAIzw7tuQkM 4nskPX0pD0BArJ6YO7J0MFjVfyU0WY8TxZvE X-Google-Smtp-Source: AGRyM1vmbI5vJUZo/Irv9qLx7SDf03xW7bTwJL+251YRASTWkDEYEIPf4V0FwRVr+MQWFV+Qk1JAQw== X-Received: by 2002:adf:e691:0:b0:21d:416f:8d16 with SMTP id r17-20020adfe691000000b0021d416f8d16mr25368686wrm.338.1657029598946; Tue, 05 Jul 2022 06:59:58 -0700 (PDT) Received: from naush-laptop.localdomain ([93.93.133.154]) by smtp.gmail.com with ESMTPSA id o4-20020a05600c378400b003a2b708c26dsm2384726wmr.40.2022.07.05.06.59.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Jul 2022 06:59:58 -0700 (PDT) To: libcamera-devel@lists.libcamera.org Date: Tue, 5 Jul 2022 14:59:56 +0100 Message-Id: <20220705135956.30444-1-naush@raspberrypi.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v2] pipeline: raspberrypi: Fix incorrect advertising of ScalerCrop X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Naushir Patuck via libcamera-devel From: Naushir Patuck Reply-To: Naushir Patuck Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" The controls::ScalerCrop in the ControlInfoMap was advertised based on the ISP output Rectangle. This is incorrect, it needs to be set based on the sensor output Rectangle. Fix this. Additionally, do not use emplace to be consistent with the other controls set in the ControlInfoMap. Fixes: 9dacde0d651d (pipeline: raspberrypi: Advertise ScalerCrop from the pipeline handler) Reported-by: David Plowman Signed-off-by: Naushir Patuck Reviewed-by: David Plowman Tested-by: David Plowman Reviewed-by: Jacopo Mondi --- src/libcamera/pipeline/raspberrypi/raspberrypi.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp index 66a84b1dfb97..fdc24cd530c2 100644 --- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp +++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp @@ -946,8 +946,9 @@ int PipelineHandlerRPi::configure(Camera *camera, CameraConfiguration *config) ctrlMap.emplace(c.first, c.second); /* Add the ScalerCrop control limits based on the current mode. */ - ctrlMap.emplace(&controls::ScalerCrop, - ControlInfo(Rectangle(data->ispMinCropSize_), Rectangle(data->sensorInfo_.outputSize))); + Rectangle ispMinCrop(data->ispMinCropSize_); + ispMinCrop.scaleBy(data->sensorInfo_.analogCrop.size(), data->sensorInfo_.outputSize); + ctrlMap[&controls::ScalerCrop] = ControlInfo(ispMinCrop, Rectangle(data->sensorInfo_.analogCrop.size())); data->controlInfo_ = ControlInfoMap(std::move(ctrlMap), result.controlInfo.idmap());