From patchwork Wed May 7 07:52:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Naushir Patuck X-Patchwork-Id: 23347 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 701EBC327D for ; Wed, 7 May 2025 08:28:18 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id DD80568B3B; Wed, 7 May 2025 10:28:15 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="K4ryHFui"; dkim-atps=neutral Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com [IPv6:2a00:1450:4864:20::336]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 6337668B34 for ; Wed, 7 May 2025 10:28:02 +0200 (CEST) Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-440668acbf3so8483225e9.0 for ; Wed, 07 May 2025 01:28:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; t=1746606482; x=1747211282; darn=lists.libcamera.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=iDJm16zb7hwM/O4mxusEMEmz8cHY3wVG5puaLJGJwFQ=; b=K4ryHFuisiiMZy6EuiUVlNmeSuDhJ1WLekK+Jbs+PQGXOwJhR+2xXYS8H/BL9OYgXa KsUt5TS4BLwGY9PJcV8nYvLrCYN1TVurRD1aUH4DL/rm8OmtkOtxalYBXQq7wpG6gn+A LR95fWeVsy4xB/XlsY/rqEJLYGiLaJrcNBFFM1V7uoHw0T3XwrhC2/BJfHSJUq4CgtOj 3RHanH7cheF7+OBxuVd1ww90fouwv99/V+utsaN2009DpEUq98ayCRsfQcxNnqGnmxgU eorhXf7h/DmOW1Qre421EQSt6QB58E5LfPOGMIv6n8JJ+mr9+Skvn06qNi2BXOjj+qqT xsgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1746606482; x=1747211282; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=iDJm16zb7hwM/O4mxusEMEmz8cHY3wVG5puaLJGJwFQ=; b=f8JK78kK3X8RKMfc9veTgsHjaf89JEZWEYNy82WM+OorjdlhoeApJ0eBeV1iMPtwgF kxnYiooGbpWkN/UvqlzvPKvWolRoAJxfQFwHe+XL+L7FikvFQMBrFxJwKtajXtMJN0h3 QqwZvBoT4wxlb4KO37woS+4LABAvZZgmGPIqTsAPHG836ZzGasF9zRqleAaUrEzJHxBs fruyK1+SxnURHXXLwcFbyhPjB6nhSainih5JtKh+JXQltuATm8HzPNPqJK1VAP0YIdBk OnI4E03TU9CWWVnGy5bJZmJ1JgvPHFLRqVFZ/abWOMQcORyWqSgpAc+Wq4L/kGl9/cZX bNMw== X-Gm-Message-State: AOJu0YzGzy7YMi0Tfay7k/94/oWg8BE8wOjivSf64xLqp6lcmJs7rUPS OqpMEuWtHpoFcsCrxgsQG6ArBa862s7horcQ+iHjaSkkvHDu9ZzjiVMUDjaCZ7A0Lq2v4rCft6t f X-Gm-Gg: ASbGncuCMKAzjWisjKApaF6O234RJXTFm9kAfyJVhpiErP2RFZ6yVAya4th05vTi9AO iRkxnaP43s+HbmTS0F3UwWT2WqkgSl/O7ApGxKPR86YhWgkkrWpZjQPmymnggFb60wA04+frlBY xMZM2UCWksdOQ22yFrsGJwPXnv3+yPzUXW+SWUsrcQONYpRbDAgCXZI8EdJgN3AnPCMm7Yi5r/q 6J/j7jFaqirq5zsycLNXgXk8ikpk2RnqAsu8CxrqbwxvKmYmzMuZe0SYqPLZzl6E/TI8kqJf7Bz IvZfWHJ0A/NEIijkytRcOFzSpweR2O3OgL9/n6QoACjMRlxZeF4xEr1CBQxRhw6TDdL2SfQ= X-Google-Smtp-Source: AGHT+IGNP/Tfnn44LQ7KO3cu0qjf7TlS2Nhom2UURYYxtDwAQcfLi+9twHZa/ASzeGrz1Ajpbedhpg== X-Received: by 2002:a05:600c:3b9d:b0:43b:c228:1ee0 with SMTP id 5b1f17b1804b1-441d44e0813mr5925655e9.7.1746606481679; Wed, 07 May 2025 01:28:01 -0700 (PDT) Received: from NAUSH-P-DELL.pitowers.org ([93.93.133.154]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-441d440fff6sm22182575e9.25.2025.05.07.01.28.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 07 May 2025 01:28:01 -0700 (PDT) From: Naushir Patuck To: libcamera-devel@lists.libcamera.org Cc: Naushir Patuck Subject: [RFC PATCH 6/6] ipa: rpi: Rename dropFrameCount_ to startupCount_ Date: Wed, 7 May 2025 08:52:13 +0100 Message-ID: <20250507082753.2306743-7-naush@raspberrypi.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250507082753.2306743-1-naush@raspberrypi.com> References: <20250507082753.2306743-1-naush@raspberrypi.com> 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" Rename dropFrameCount_ to startupCount_ to better reflect its use as frames are no longer dropped by the pipeline handler. Signed-off-by: Naushir Patuck --- src/ipa/rpi/common/ipa_base.cpp | 10 +++++----- src/ipa/rpi/common/ipa_base.h | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/ipa/rpi/common/ipa_base.cpp b/src/ipa/rpi/common/ipa_base.cpp index c15f8a7bf71e..8d591faeceaa 100644 --- a/src/ipa/rpi/common/ipa_base.cpp +++ b/src/ipa/rpi/common/ipa_base.cpp @@ -327,7 +327,7 @@ void IpaBase::start(const ControlList &controls, StartResult *result) unsigned int agcConvergenceFrames = 0, awbConvergenceFrames = 0; frameCount_ = 0; if (firstStart_) { - dropFrameCount_ = helper_->hideFramesStartup(); + startupCount_ = helper_->hideFramesStartup(); mistrustCount_ = helper_->mistrustFramesStartup(); /* @@ -353,14 +353,14 @@ void IpaBase::start(const ControlList &controls, StartResult *result) awbConvergenceFrames += mistrustCount_; } } else { - dropFrameCount_ = helper_->hideFramesModeSwitch(); + startupCount_ = helper_->hideFramesModeSwitch(); mistrustCount_ = helper_->mistrustFramesModeSwitch(); } result->startupFrameCount = std::max({ agcConvergenceFrames, awbConvergenceFrames }); - result->invalidFrameCount = dropFrameCount_; + result->invalidFrameCount = startupCount_; - dropFrameCount_ = std::max({ dropFrameCount_, agcConvergenceFrames, awbConvergenceFrames }); + startupCount_ = std::max({ startupCount_, agcConvergenceFrames, awbConvergenceFrames }); LOG(IPARPI, Debug) << "Startup frames: " << result->startupFrameCount << " Invalid frames: " << result->invalidFrameCount; @@ -443,7 +443,7 @@ void IpaBase::prepareIsp(const PrepareParams ¶ms) /* Allow a 10% margin on the comparison below. */ Duration delta = (frameTimestamp - lastRunTimestamp_) * 1.0ns; - if (lastRunTimestamp_ && frameCount_ > dropFrameCount_ && + if (lastRunTimestamp_ && frameCount_ > startupCount_ && delta < controllerMinFrameDuration * 0.9 && !hdrChange) { /* * Ensure we merge the previous frame's metadata with the current diff --git a/src/ipa/rpi/common/ipa_base.h b/src/ipa/rpi/common/ipa_base.h index 1a811beb31f2..a51afc156a8f 100644 --- a/src/ipa/rpi/common/ipa_base.h +++ b/src/ipa/rpi/common/ipa_base.h @@ -115,8 +115,8 @@ private: /* How many frames we should avoid running control algos on. */ unsigned int mistrustCount_; - /* Number of frames that need to be dropped on startup. */ - unsigned int dropFrameCount_; + /* Number of frames that need to be marked as dropped on startup. */ + unsigned int startupCount_; /* Frame timestamp for the last run of the controller. */ uint64_t lastRunTimestamp_;