{"id":26666,"url":"https://patchwork.libcamera.org/api/patches/26666/?format=json","web_url":"https://patchwork.libcamera.org/patch/26666/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260506230722.1041596-10-devve.3@gmail.com>","date":"2026-05-06T23:07:21","name":"[v2,09/10] ipa: simple: data: Document tuning parameters in uncalibrated.yaml","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"3bd4bfbe0df2cbd90222d3c4e8bb724c21bb6c8e","submitter":{"id":271,"url":"https://patchwork.libcamera.org/api/people/271/?format=json","name":"devve","email":"devve.3@gmail.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/26666/mbox/","series":[{"id":5915,"url":"https://patchwork.libcamera.org/api/series/5915/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=5915","date":"2026-05-06T23:07:12","name":"OV01A10 sensor support and simple IPA improvements","version":2,"mbox":"https://patchwork.libcamera.org/series/5915/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/26666/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/26666/checks/","tags":{},"headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id BA291C3306\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  6 May 2026 23:07:42 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A8E3063137;\n\tThu,  7 May 2026 01:07:40 +0200 (CEST)","from mail-qk1-x730.google.com (mail-qk1-x730.google.com\n\t[IPv6:2607:f8b0:4864:20::730])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 3785563022\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu,  7 May 2026 01:07:38 +0200 (CEST)","by mail-qk1-x730.google.com with SMTP id\n\taf79cd13be357-8d67a483d3eso24658785a.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 06 May 2026 16:07:38 -0700 (PDT)","from dexps.speedport.ip\n\t(p200300eda74453cf3cf3f7929e513b94.dip0.t-ipconnect.de.\n\t[2003:ed:a744:53cf:3cf3:f792:9e51:3b94])\n\tby smtp.gmail.com with ESMTPSA id\n\taf79cd13be357-8fc2c25324esm2035266385a.23.2026.05.06.16.07.35\n\tfor <libcamera-devel@lists.libcamera.org>\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tWed, 06 May 2026 16:07:36 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"QL6bvlBN\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20251104; t=1778108857; x=1778713657;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:mime-version:references:in-reply-to\n\t:message-id:date:subject:to:from:from:to:cc:subject:date:message-id\n\t:reply-to; bh=hgD18DJi2B+HypgvtPdzMQmUh5U5RDMAHApeCfDjE1c=;\n\tb=QL6bvlBNn3hTuhfl6kk6OsHpws0bJZJh0zmcP4BMLEYuFGhYQFgiQAu1q1dZfSjWn5\n\tixwZiyFFfJQvKy283vxNvaGUZsj61XoBlg8HFH9XQckyBQP4TKYj1fS71QPQDdcX4ET3\n\t0v6YdWm8TepSv8PoHFhsKBu2AUthCkDIwsONDZfq6VlNvm+CMJJST8iaDPB/+inY2aIs\n\thbaChOsb2LWJrkPSWlrBNPUlxgnKwydmWnd8tX7vlASM+bw9IxqmRtB/92d5wE9qdTWX\n\td0ypdeks3yX6KUkIpXywcUiHcOrh9vntCTQDurhkxnv9qDjgl7SD9a6mfSgIj07Y+Rs1\n\tSPDA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20251104; t=1778108857; x=1778713657;\n\th=content-transfer-encoding:mime-version:references:in-reply-to\n\t:message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to\n\t:cc:subject:date:message-id:reply-to;\n\tbh=hgD18DJi2B+HypgvtPdzMQmUh5U5RDMAHApeCfDjE1c=;\n\tb=VD3sdRjJAxJawW9YSXoB+ig46YymkTQgdRFygehoQLfnXoNkCwYpNEOLJMCiURnbql\n\tmr6yWWAzvqgi/V59j3REm/2GnFcPaWbQP3iui7gj4IZjyJb3/qxTkpZetR/SapHmZPxx\n\t5QUO1JgutVgE40ZQgIaw+4wB/x8NTyIbn5b0uT0lP+0HNFxdtFvePgvYwRZeCctjV3L6\n\tQglGoSd7k4OtiEQM4cS1uthzIGSL7kbYgGBvOSlnvQuZO6K5dU9QTD6cWBFrNTCQ0o42\n\tNbxt2WNJloDGBauXWWwl7jvchd2QlYsNMQQjWqwXm1tRBaeHnYxwNemFL7X+fWrm3d0G\n\t8byA==","X-Gm-Message-State":"AOJu0YwdJAxLUty1tQ5i2ezoanlD4GmKUIOkdshIdRAq9n7Ixk9Tvxz6\n\tVNlZ7ePm/qBYSem566CZDtQMy86reXaTKAkl0THqrouU2VRPnE/Rbd8DcUJZQg==","X-Gm-Gg":"AeBDieuCc7fNjpuV5UMFnA/w/3hI+dFpGGatvkGP6q5/sMZIF2ALOt32lejy7Fy3Of2\n\tIM5LqEQXpWUChmF26/hhP63E+zvN9o1HdzG26mZ98BENqGcUdeLOi70DyZ8s86mulIyISXseAy+\n\t8QADPPhJl0lLZW0TtzhneqLELlStUK3dS43iDgbI50DGHw0Db+QsWjNu0dw/M3GXoYDUsotS5xh\n\trBHRSNn868/ivRV9uqBwy1AueSOM32wDuYsUzZPXFfaiOhABZnPYTRdFvcMJlKOAAkYNK9Effml\n\tld4v6apyN4dooZf0VjagbXyQPxmHFwe4O/SvFztKooy2RB3wUqnHoKa1lajo07r1MOSaf0Zk0K/\n\tZqtMLawVoaHvCMC1dPiynRYtVrsqle6dMvUc32q898HEReRvesXfCvEw2z9GFGo4dp+fGnyULx+\n\tiTvdnksfkFjPe/HduyCKb1XVlL8Ewtu0bq3amBK7d4r2h0VMUkL5wtQEooYNmeKFOlC1MWcMD46\n\tq+PpYVloquUzcgsNZcZFRVdsqDkwtZi","X-Received":"by 2002:a05:620a:1a19:b0:8f4:3895:25d3 with SMTP id\n\taf79cd13be357-904d3eab6dbmr829234885a.9.1778108857037; \n\tWed, 06 May 2026 16:07:37 -0700 (PDT)","From":"d3vv3 <devve.3@gmail.com>","To":"libcamera-devel@lists.libcamera.org","Subject":"[PATCH v2 09/10] ipa: simple: data: Document tuning parameters in\n\tuncalibrated.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","Content-Transfer-Encoding":"8bit","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Add comments documenting all algorithm YAML keys (BlackLevel, Awb,\nCcm, Adjust, Agc) to the uncalibrated template so sensor calibration\nauthors can discover parameters without reading source code.\nUpdate ov01a10.yaml replacing stepDenominator (removed) with\nproportionalGain for the new proportional AGC controller.\n\nSigned-off-by: d3vv3 <devve.3@gmail.com>\n---\n src/ipa/simple/data/ov01a10.yaml      |  2 +-\n src/ipa/simple/data/uncalibrated.yaml | 40 +++++++++++++++++++++++----\n 2 files changed, 35 insertions(+), 7 deletions(-)","diff":"diff --git a/src/ipa/simple/data/ov01a10.yaml b/src/ipa/simple/data/ov01a10.yaml\nindex d1f613c5..9663c6da 100644\n--- a/src/ipa/simple/data/ov01a10.yaml\n+++ b/src/ipa/simple/data/ov01a10.yaml\n@@ -51,5 +51,5 @@ algorithms:\n   - Agc:\n       exposureTarget: 2.5\n       hysteresis: 0.2\n-      stepDenominator: 20\n+      proportionalGain: 0.04\n ...\ndiff --git a/src/ipa/simple/data/uncalibrated.yaml b/src/ipa/simple/data/uncalibrated.yaml\nindex fc90ca52..7391c36e 100644\n--- a/src/ipa/simple/data/uncalibrated.yaml\n+++ b/src/ipa/simple/data/uncalibrated.yaml\n@@ -3,17 +3,45 @@\n ---\n version: 1\n algorithms:\n+  # --- Black Level ---\n+  # blackLevel: 16-bit black level pedestal (optional).\n+  #   If omitted, auto-detected from histogram dark end.\n   - BlackLevel:\n+\n+  # --- Auto White Balance ---\n+  # maxGainR: Maximum red channel gain (default 4.0).\n+  # maxGainB: Maximum blue channel gain (default 4.0).\n+  # speed: Temporal smoothing factor 0-1 (default 1.0 = instant).\n+  #   0.25 = slow smooth, 0.5 = moderate, 1.0 = no smoothing.\n   - Awb:\n-  # Color correction matrices can be defined here. The CCM algorithm\n-  # has a significant performance impact, and should only be enabled\n-  # if tuned.\n+\n+  # --- Color Correction Matrix ---\n+  # Has a significant performance impact on the CPU ISP, and should\n+  # only be enabled if tuned. Provide ccms as a list of color temperature\n+  # entries with a 3x3 matrix:\n   # - Ccm:\n   #     ccms:\n   #       - ct: 6500\n-  #         ccm: [ 1, 0, 0,\n-  #                0, 1, 0,\n-  #                0, 0, 1]\n+  #         ccm: [ 1.0,  0.0,  0.0,\n+  #                0.0,  1.0,  0.0,\n+  #                0.0,  0.0,  1.0 ]\n+  # - Ccm:\n+\n+  # --- Image Adjustments ---\n+  # gamma: Gamma encoding value (default 2.2, range 0.1-10.0).\n+  # contrast: Contrast scaling (default 1.0, range 0.0-2.0).\n+  # saturation: Saturation multiplier (default 1.0, range 0.0-2.0).\n+  #   Only active when CCM is enabled.\n   - Adjust:\n+\n+  # --- Auto Gain/Exposure Control (proportional) ---\n+  # exposureTarget: Target MSV (mean sample value) in histogram bins.\n+  #   Default: 2.5 (middle of 5-bin range).\n+  #   Lower values target a darker exposure.\n+  # hysteresis: Deadband around target where no adjustment occurs.\n+  #   Default 0.2. Larger values reduce sensitivity near target.\n+  # proportionalGain: Step scaling factor (default 0.04).\n+  #   At max error (~2.5): factor 1.10 (~10% step).\n+  #   Near target: factor ~1.01 (~1% step).\n   - Agc:\n ...\n","prefixes":["v2","09/10"]}