From patchwork Thu Oct 3 07:47:13 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Naushir Patuck X-Patchwork-Id: 21486 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 196D2BD80A for ; Thu, 3 Oct 2024 07:53:49 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id BE9CA63529; Thu, 3 Oct 2024 09:53:47 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="Zmpz1MtH"; dkim-atps=neutral Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id A9E5F62C93 for ; Thu, 3 Oct 2024 09:53:44 +0200 (CEST) Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-42cb0d0311fso797515e9.1 for ; Thu, 03 Oct 2024 00:53:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; t=1727942024; x=1728546824; darn=lists.libcamera.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=xA7huv5rpGgW/QH3pBGLdwJmUR3luxF4NoDtz7+Vxxc=; b=Zmpz1MtHQl102Bui0Nhn1r0zOUj4StTmkyrUZ36hj78qBBx13Ypm7Ta3ZlMuDya3jP 0xI+4iA5efMpFFYNl+2ItX7n6XWJ1tt0N+qu2DqpUSK+DWisIye7ZSEw6dpaPKA78WDV pTiF0CkDW3H7gfxTiUvL/cgiapXpa1UE051Fw7Swbiw258Cj7mW96Zbzj0vZotoTRNam 4dFwdQOVCMdZsQCdmZHJVasL+jpHhcZmslBcAsVR7VEKcZRAzuAqPs6hKObWSVa7L1Q0 TAnEhXgAvYzD/dckNJKnuMYwqRIwbT+hTJPr6tkpUqbrrnMJcBoyb3HgfXEjlPTX/EJK QaMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727942024; x=1728546824; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=xA7huv5rpGgW/QH3pBGLdwJmUR3luxF4NoDtz7+Vxxc=; b=o3KNrNMo9+eY3xw3XncbdCURKIwP8YhRQuaceNrNvKPzJR9tG81BlI046rnCP40MBD tpA35OEiVcCGV8Pa6nktrkL4nxOns2tqbSiwiz5sQRo336XhrqBHDnymE7gwJ4r/GfhF B2zWI44GO1qL9HFGeyAlrTn9SWCxNxhS1j9GQKSNtiGSS1pTP6CNhpv0gO2hzdV/nsCT sXM5h6RQljQ73oJQY8p5GZajYa9VrlFw0yKfMPe10JPd7tnViJAvdGidtryZAKBrK6NP 7CeDKlXQRhngOxP62vMJ9tRZAigiVWOiEswbs00CE3AAUTnV6ph1zuoGBQl4Zex7m9ew 5h9Q== X-Gm-Message-State: AOJu0Yz48mxvWSVU8WZpu8sNKlW2tu5EvskLYCaDjZOlAVzHtnmuANiI O/CO5abxtixtHCvI8f9ifwCsmoz/v/Lg5C1dnn6McrZvyjfM3JrayM9lW35ewcxJ0CFaLtf4UlW a X-Google-Smtp-Source: AGHT+IGTfkqDxZeOLvA5ZKX6UteYt7er7LsWDyKujsWwJNofS625o+5f2KiQsY1wCWrNQr4zDJbhIw== X-Received: by 2002:a05:600c:3b2a:b0:42c:aeee:80c with SMTP id 5b1f17b1804b1-42f778ffc41mr20879655e9.9.1727942023592; Thu, 03 Oct 2024 00:53:43 -0700 (PDT) Received: from naush-laptop.pitowers.org ([93.93.133.154]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-42f8025b583sm8740825e9.12.2024.10.03.00.53.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Oct 2024 00:53:43 -0700 (PDT) From: Naushir Patuck To: libcamera-devel@lists.libcamera.org Cc: Naushir Patuck Subject: [PATCH v3 0/7] Raspberry Pi: Add controls::rpi::ScalerCrops Date: Thu, 3 Oct 2024 08:47:13 +0100 Message-Id: <20241003074720.18882-1-naush@raspberrypi.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 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: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Hi, Version 3 of this work is functionally identical to v2, but with the following minor changes: - Update the control documentation to reflect the priority of rpi::ScalerCrops over the ScalerCrop control. - Remove the default constructor of CropParams, requiring replacing cropParams_[n] accessor with cropsParams_.at(n) in the pipeline handler code. Thanks, Naush Naushir Patuck (7): controls: rpi: Add a vendor rpi::ScalerCrops control pipeline: rpi: Remove CameraData::scalerCrop_ pipeline: rpi: Pass crop rectangle as a parameter to platformSetIspCrop() pipeline: rpi: Introduce CameraData::CropParams pipeline: rpi: Track which ISP output is configured for a stream pipeline: rpi: Pass ISP output index into platformSetIspCrop() pipeline: rpi: Handler controls::rpi::ScalerCrops src/ipa/rpi/common/ipa_base.cpp | 14 +++ src/libcamera/control_ids_rpi.yaml | 25 +++++ .../pipeline/rpi/common/pipeline_base.cpp | 94 +++++++++++++------ .../pipeline/rpi/common/pipeline_base.h | 22 ++++- src/libcamera/pipeline/rpi/vc4/vc4.cpp | 17 +++- 5 files changed, 136 insertions(+), 36 deletions(-)