From patchwork Wed May 6 23:07:21 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: devve X-Patchwork-Id: 26666 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 BA291C3306 for ; Wed, 6 May 2026 23:07:42 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id A8E3063137; Thu, 7 May 2026 01:07:40 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="QL6bvlBN"; dkim-atps=neutral Received: from mail-qk1-x730.google.com (mail-qk1-x730.google.com [IPv6:2607:f8b0:4864:20::730]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 3785563022 for ; Thu, 7 May 2026 01:07:38 +0200 (CEST) Received: by mail-qk1-x730.google.com with SMTP id af79cd13be357-8d67a483d3eso24658785a.1 for ; Wed, 06 May 2026 16:07:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778108857; x=1778713657; darn=lists.libcamera.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=hgD18DJi2B+HypgvtPdzMQmUh5U5RDMAHApeCfDjE1c=; b=QL6bvlBNn3hTuhfl6kk6OsHpws0bJZJh0zmcP4BMLEYuFGhYQFgiQAu1q1dZfSjWn5 ixwZiyFFfJQvKy283vxNvaGUZsj61XoBlg8HFH9XQckyBQP4TKYj1fS71QPQDdcX4ET3 0v6YdWm8TepSv8PoHFhsKBu2AUthCkDIwsONDZfq6VlNvm+CMJJST8iaDPB/+inY2aIs hbaChOsb2LWJrkPSWlrBNPUlxgnKwydmWnd8tX7vlASM+bw9IxqmRtB/92d5wE9qdTWX d0ypdeks3yX6KUkIpXywcUiHcOrh9vntCTQDurhkxnv9qDjgl7SD9a6mfSgIj07Y+Rs1 SPDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778108857; x=1778713657; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=hgD18DJi2B+HypgvtPdzMQmUh5U5RDMAHApeCfDjE1c=; b=VD3sdRjJAxJawW9YSXoB+ig46YymkTQgdRFygehoQLfnXoNkCwYpNEOLJMCiURnbql mr6yWWAzvqgi/V59j3REm/2GnFcPaWbQP3iui7gj4IZjyJb3/qxTkpZetR/SapHmZPxx 5QUO1JgutVgE40ZQgIaw+4wB/x8NTyIbn5b0uT0lP+0HNFxdtFvePgvYwRZeCctjV3L6 QglGoSd7k4OtiEQM4cS1uthzIGSL7kbYgGBvOSlnvQuZO6K5dU9QTD6cWBFrNTCQ0o42 Nbxt2WNJloDGBauXWWwl7jvchd2QlYsNMQQjWqwXm1tRBaeHnYxwNemFL7X+fWrm3d0G 8byA== X-Gm-Message-State: AOJu0YwdJAxLUty1tQ5i2ezoanlD4GmKUIOkdshIdRAq9n7Ixk9Tvxz6 VNlZ7ePm/qBYSem566CZDtQMy86reXaTKAkl0THqrouU2VRPnE/Rbd8DcUJZQg== X-Gm-Gg: AeBDieuCc7fNjpuV5UMFnA/w/3hI+dFpGGatvkGP6q5/sMZIF2ALOt32lejy7Fy3Of2 IM5LqEQXpWUChmF26/hhP63E+zvN9o1HdzG26mZ98BENqGcUdeLOi70DyZ8s86mulIyISXseAy+ 8QADPPhJl0lLZW0TtzhneqLELlStUK3dS43iDgbI50DGHw0Db+QsWjNu0dw/M3GXoYDUsotS5xh rBHRSNn868/ivRV9uqBwy1AueSOM32wDuYsUzZPXFfaiOhABZnPYTRdFvcMJlKOAAkYNK9Effml ld4v6apyN4dooZf0VjagbXyQPxmHFwe4O/SvFztKooy2RB3wUqnHoKa1lajo07r1MOSaf0Zk0K/ ZqtMLawVoaHvCMC1dPiynRYtVrsqle6dMvUc32q898HEReRvesXfCvEw2z9GFGo4dp+fGnyULx+ iTvdnksfkFjPe/HduyCKb1XVlL8Ewtu0bq3amBK7d4r2h0VMUkL5wtQEooYNmeKFOlC1MWcMD46 q+PpYVloquUzcgsNZcZFRVdsqDkwtZi X-Received: by 2002:a05:620a:1a19:b0:8f4:3895:25d3 with SMTP id af79cd13be357-904d3eab6dbmr829234885a.9.1778108857037; Wed, 06 May 2026 16:07:37 -0700 (PDT) Received: from dexps.speedport.ip (p200300eda74453cf3cf3f7929e513b94.dip0.t-ipconnect.de. [2003:ed:a744:53cf:3cf3:f792:9e51:3b94]) by smtp.gmail.com with ESMTPSA id af79cd13be357-8fc2c25324esm2035266385a.23.2026.05.06.16.07.35 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 May 2026 16:07:36 -0700 (PDT) From: d3vv3 To: libcamera-devel@lists.libcamera.org Subject: [PATCH v2 09/10] ipa: simple: data: Document tuning parameters in uncalibrated.yaml Date: Thu, 7 May 2026 01:07:21 +0200 Message-ID: <20260506230722.1041596-10-devve.3@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260506230722.1041596-1-devve.3@gmail.com> References: <20260506230722.1041596-1-devve.3@gmail.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" Add comments documenting all algorithm YAML keys (BlackLevel, Awb, Ccm, Adjust, Agc) to the uncalibrated template so sensor calibration authors can discover parameters without reading source code. Update ov01a10.yaml replacing stepDenominator (removed) with proportionalGain for the new proportional AGC controller. Signed-off-by: d3vv3 --- src/ipa/simple/data/ov01a10.yaml | 2 +- src/ipa/simple/data/uncalibrated.yaml | 40 +++++++++++++++++++++++---- 2 files changed, 35 insertions(+), 7 deletions(-) diff --git a/src/ipa/simple/data/ov01a10.yaml b/src/ipa/simple/data/ov01a10.yaml index d1f613c5..9663c6da 100644 --- a/src/ipa/simple/data/ov01a10.yaml +++ b/src/ipa/simple/data/ov01a10.yaml @@ -51,5 +51,5 @@ algorithms: - Agc: exposureTarget: 2.5 hysteresis: 0.2 - stepDenominator: 20 + proportionalGain: 0.04 ... diff --git a/src/ipa/simple/data/uncalibrated.yaml b/src/ipa/simple/data/uncalibrated.yaml index fc90ca52..7391c36e 100644 --- a/src/ipa/simple/data/uncalibrated.yaml +++ b/src/ipa/simple/data/uncalibrated.yaml @@ -3,17 +3,45 @@ --- version: 1 algorithms: + # --- Black Level --- + # blackLevel: 16-bit black level pedestal (optional). + # If omitted, auto-detected from histogram dark end. - BlackLevel: + + # --- Auto White Balance --- + # maxGainR: Maximum red channel gain (default 4.0). + # maxGainB: Maximum blue channel gain (default 4.0). + # speed: Temporal smoothing factor 0-1 (default 1.0 = instant). + # 0.25 = slow smooth, 0.5 = moderate, 1.0 = no smoothing. - Awb: - # Color correction matrices can be defined here. The CCM algorithm - # has a significant performance impact, and should only be enabled - # if tuned. + + # --- Color Correction Matrix --- + # Has a significant performance impact on the CPU ISP, and should + # only be enabled if tuned. Provide ccms as a list of color temperature + # entries with a 3x3 matrix: # - Ccm: # ccms: # - ct: 6500 - # ccm: [ 1, 0, 0, - # 0, 1, 0, - # 0, 0, 1] + # ccm: [ 1.0, 0.0, 0.0, + # 0.0, 1.0, 0.0, + # 0.0, 0.0, 1.0 ] + # - Ccm: + + # --- Image Adjustments --- + # gamma: Gamma encoding value (default 2.2, range 0.1-10.0). + # contrast: Contrast scaling (default 1.0, range 0.0-2.0). + # saturation: Saturation multiplier (default 1.0, range 0.0-2.0). + # Only active when CCM is enabled. - Adjust: + + # --- Auto Gain/Exposure Control (proportional) --- + # exposureTarget: Target MSV (mean sample value) in histogram bins. + # Default: 2.5 (middle of 5-bin range). + # Lower values target a darker exposure. + # hysteresis: Deadband around target where no adjustment occurs. + # Default 0.2. Larger values reduce sensitivity near target. + # proportionalGain: Step scaling factor (default 0.04). + # At max error (~2.5): factor 1.10 (~10% step). + # Near target: factor ~1.01 (~1% step). - Agc: ...