From patchwork Fri Aug 22 12:37:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Plowman X-Patchwork-Id: 24175 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 3C737BD87C for ; Fri, 22 Aug 2025 12:37:17 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id B3A2B692E6; Fri, 22 Aug 2025 14:37:15 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="th+odqoy"; dkim-atps=neutral Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com [IPv6:2a00:1450:4864:20::42b]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id B70E1613C3 for ; Fri, 22 Aug 2025 14:37:13 +0200 (CEST) Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-3c51f0158d8so1293518f8f.1 for ; Fri, 22 Aug 2025 05:37:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; t=1755866233; x=1756471033; 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=tORT3HDNv5H1Ju4L64IOg2+RNhC+lXeE7Vl5FiuFOOM=; b=th+odqoyjGty1JsqJt9nMPd/fvtT2tV4/8MdRKSY4hej6AIVoNEIDno+Y2y4gdfqF+ uhJ7ykxUUvw9Xb8hN9KKd6O24Lg9Mss8rfmk0Cpa4ai3mUohywQGdukycxPK07Uu5NcU 5RCNmYPkAn6wEeqDOtpd2cbe+2lY2/peENCuNzd/6OgGQvEmOTVzpab9hdijLnhk0OWG kNjIGf6QcfeBVgBJH3FZAcwOQkpF6PKYMvu0rbVnVEDaPLbhHRO1R5NLPYTW9LsI5f1O DJFQbV3nwOlGhJ3ipVxcAy8ITcaNqzmHT04Pg2ShLbkQtlJG7sxlxp1uKgzl+1ZswELg ZvTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755866233; x=1756471033; 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=tORT3HDNv5H1Ju4L64IOg2+RNhC+lXeE7Vl5FiuFOOM=; b=jVv/kMRt9/VkkuC+9IdU5uYR5/phERi1p4U38BlYfX33VUm8BcLDV2loGp7h/wWyDn HhPuR6lwT/Wqt+NVyDK2vYJo6aGUGh7ZQhOA8QvttTfRmagpV3V1cG94LUBYI1/3lbCO 3xrhonzdbCS+GXKC37Hf524BV5ytV+LpPCtOTygOQ18fJq3+VBCuoPxsI28AOz0384L5 zry+7JkolKVKMajv41OmyZDcYwsEi8EXaR5G9qkRWqIrObQKO37fNnfOVlWIgrbWFLD6 1Q/U1lr8XvKZxcNaheJKBk0lHVgvY+i+sA5jh57fnDJMtAJW7WZhwHQBTrYZa1YaeVCM YZjQ== X-Gm-Message-State: AOJu0Yyel24ztcFcvMp/10ojtWiAeBHxROhEMg0bDlo0DmfpCKV/PEAY vspKlKTbyQMTiSJRgQDoLO+93TeqdROybxxpgjRN3C092segdX+9A2jtERJrBZc0NJOrR7usVZ8 s07EV X-Gm-Gg: ASbGnct+NzQM0sqGxOm6Kzrtew9o1oP3WOasPqCsEhPSYtX+B+IgO0cME+JQFUj3QFd TMbSjeDjWHCTR5hf4W/74QFDd5Erm7VohrW/oonDtsmsjn70LpRYkN864CW0Q4rm6GisZ76PnUP 1LbiKv6g0zVLVahRMcyTqYzab2oX6Vs39iMDDkcGRs9HQLJea+/4drl5bsCFrqgx44siXJGwktC QoGt4Q8+KK57ffGQMurmj1wVOxAL8R0ntxaINE/jLXmMitqVG8aDCHD8lobWQZ1K+aGKH5lGhK3 5Pb8sg0V9uNMc6lK8JtoH8ekeZSUyysNc1b8tvx+YMD+PB5shV/Jwcu83M00E8ezZS2gJd3jWEh JLXpWawVhzXF2NVtfVP4gqwhrAkYNZS9jTR06vfCKsy6uT0IMVc2UEjdNZdyckbmBdUD9zoig0J QgAgjSwQElkdsJAjB4zjyOOkG04ONL8soYKM61ACg= X-Google-Smtp-Source: AGHT+IFt1CzIbVApBucNedBTsVD8ADPWdl/4aQRFh85vF2PqotqCpVE1uLYAFZ2ifOLw/LxN8ubHag== X-Received: by 2002:a05:6000:40ce:b0:3b7:899c:e867 with SMTP id ffacd0b85a97d-3c5dcefd9aemr2266798f8f.59.1755866232552; Fri, 22 Aug 2025 05:37:12 -0700 (PDT) Received: from raspberrypi.pitowers.org ([2a00:1098:3142:1f:ffc9:aff6:7f7f:893b]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3c07487986fsm16685787f8f.1.2025.08.22.05.37.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Aug 2025 05:37:12 -0700 (PDT) From: David Plowman To: libcamera-devel@lists.libcamera.org Cc: David Plowman Subject: [PATCH 0/6] Camera tuning updates for Raspberry Pi Date: Fri, 22 Aug 2025 13:37:03 +0100 Message-Id: <20250822123709.16966-1-david.plowman@raspberrypi.com> X-Mailer: git-send-email 2.39.5 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 everyone Some camera tuning improvements for Raspberry Pi. The commits are as follows: 1. Update the CTT to have the improved PiSP (Pi 5) values. 2. Update the PiSP tuning files for all official Pi cameras. There are some quite significant noise/detail improvements here. 3. Same again for non-official cameras. 4. Tuning improvements for the VC4 platform. These changes are quite minor, however. 5. Update CTT with the VC4 changes. 6. A slightly drive-by removal of an unnecessary warning when VC4 tuning files are loaded (and which occasionally scares people). The patches don't need my previous "TDN back-off" patch to be applied to work or be beneficial, but the results will be better once that patch is in too. Thanks! David David Plowman (6): utils: raspberrypi: ctt: Update noise/sharpness tuning ipa: rpi: pisp: data: Improve noise and detail tuning ipa: rpi: pisp: data: Update all non-official camera tuning files ipa: rpi: vc4: Minor tuning changes utils: raspberrypi: ctt: Update vc4 tuning defaults ipa: rpi: sdn: Remove legacy denoise warning src/ipa/rpi/controller/rpi/sdn.cpp | 2 - src/ipa/rpi/pisp/data/imx219.json | 118 +++++++++-------- src/ipa/rpi/pisp/data/imx219_noir.json | 118 +++++++++-------- src/ipa/rpi/pisp/data/imx283.json | 114 ++++++++++------- src/ipa/rpi/pisp/data/imx296.json | 126 ++++++++++-------- src/ipa/rpi/pisp/data/imx296_16mm.json | 126 ++++++++++-------- src/ipa/rpi/pisp/data/imx296_6mm.json | 126 ++++++++++-------- src/ipa/rpi/pisp/data/imx296_mono.json | 126 ++++++++++-------- src/ipa/rpi/pisp/data/imx378.json | 110 +++++++++------- src/ipa/rpi/pisp/data/imx415.json | 114 ++++++++++------- src/ipa/rpi/pisp/data/imx462.json | 110 +++++++++------- src/ipa/rpi/pisp/data/imx477.json | 128 +++++++++++-------- src/ipa/rpi/pisp/data/imx477_16mm.json | 128 +++++++++++-------- src/ipa/rpi/pisp/data/imx477_6mm.json | 128 +++++++++++-------- src/ipa/rpi/pisp/data/imx477_noir.json | 128 +++++++++++-------- src/ipa/rpi/pisp/data/imx477_scientific.json | 16 +-- src/ipa/rpi/pisp/data/imx519.json | 110 +++++++++------- src/ipa/rpi/pisp/data/imx708.json | 128 +++++++++++-------- src/ipa/rpi/pisp/data/imx708_noir.json | 128 +++++++++++-------- src/ipa/rpi/pisp/data/imx708_wide.json | 128 +++++++++++-------- src/ipa/rpi/pisp/data/imx708_wide_noir.json | 128 +++++++++++-------- src/ipa/rpi/pisp/data/ov5647.json | 118 +++++++++-------- src/ipa/rpi/pisp/data/ov5647_noir.json | 118 +++++++++-------- src/ipa/rpi/pisp/data/ov64a40.json | 114 ++++++++++------- src/ipa/rpi/pisp/data/ov9281_mono.json | 110 +++++++++------- src/ipa/rpi/pisp/data/se327m12.json | 110 +++++++++------- src/ipa/rpi/pisp/data/uncalibrated.json | 80 +++++++----- src/ipa/rpi/vc4/data/imx219.json | 15 ++- src/ipa/rpi/vc4/data/imx219_noir.json | 15 ++- src/ipa/rpi/vc4/data/imx296.json | 8 +- src/ipa/rpi/vc4/data/imx296_mono.json | 10 +- src/ipa/rpi/vc4/data/imx477.json | 15 ++- src/ipa/rpi/vc4/data/imx477_noir.json | 15 ++- src/ipa/rpi/vc4/data/imx477_scientific.json | 15 ++- src/ipa/rpi/vc4/data/imx708.json | 21 +-- src/ipa/rpi/vc4/data/imx708_noir.json | 21 +-- src/ipa/rpi/vc4/data/imx708_wide.json | 21 +-- src/ipa/rpi/vc4/data/imx708_wide_noir.json | 21 +-- src/ipa/rpi/vc4/data/ov5647.json | 11 +- src/ipa/rpi/vc4/data/ov5647_noir.json | 11 +- utils/raspberrypi/ctt/ctt.py | 3 +- utils/raspberrypi/ctt/ctt_pisp.py | 106 ++++++++------- utils/raspberrypi/ctt/ctt_vc4.py | 15 ++- 43 files changed, 1921 insertions(+), 1392 deletions(-) Acked-by: Paul Elder