From patchwork Sun Aug 24 00:48:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bryan O'Donoghue X-Patchwork-Id: 24184 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 6EA89BEFBE for ; Sun, 24 Aug 2025 00:48:44 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 4D7CA692E3; Sun, 24 Aug 2025 02:48:41 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="ZF5XWgfU"; dkim-atps=neutral Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 84634613BE for ; Sun, 24 Aug 2025 02:48:37 +0200 (CEST) Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-3c73d3ebff0so331524f8f.1 for ; Sat, 23 Aug 2025 17:48:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1755996517; x=1756601317; darn=lists.libcamera.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=A2QV3Xi0zvxKKZetBfhOP6WxBrmYNONGtzIFCbwcjQ0=; b=ZF5XWgfU4vr1UT5n2aw9t3Z4dl32yBo5nTwHhWChBZAJcap4FRu4uZzEulbNAtcyBO 0HcwOhT13YbKFB9IltWOSB+bU8oBq8buiOiTIRBGm4kAEcJ2kq1OrLNc/GCJ1JI6Tzqp L4tvZfu3HK2AkFgVcmauoKVxECB3jWxi/AL+z85OwRImXSy0LUBhEvg9cAmk5LxWCwMs WmVtze//WTvhZ1uEte0QjOUTJw5CvGnkjqmfoGXUH6shenxh6undvaLWjcn3IRqlviJ5 +ek9ODsci9OjlGpzp5l650QonHl+c19T3DqV0V+jYM8XYve0s+Cx3fQ4OpGEwQ+qzRfT BbXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1755996517; x=1756601317; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=A2QV3Xi0zvxKKZetBfhOP6WxBrmYNONGtzIFCbwcjQ0=; b=l2lAj7/TBeM4wJVv0q5B+zoyGVsNJnHhdDy/knAAkMUQHC6cek/14Qin19rsoHdlwL ulS1gazAN7ji6yZdQ81wDWc2gIrY2H+oyoYXQIuCe0Mp6G55W/S8/5lpNKSskvH1Noe1 2YvXfzN70/3vufw/9rQzfbC49T8BVIJrF4ov9qKaH173MilWwX9Qp7hUnYTY1xjeLxz5 QkvGw4QSXTQeKwzysQ/TIV7idij1YFvSOjAzDQVpbqf2yA2O4lQ2GvIbYfEyeQ/N76je y/j90nyfhSUB1SNrKZY2T5QK87O72mGXBjViQCvZLLiHn7GMdg3Fb/tLSIlDOkRWk+WO ByfA== X-Gm-Message-State: AOJu0YzzjGfS2h/1F1wby5nGD4HxlQhsrNY/4IrZLKYUjpO22bsAWZKq +kIzb82FJcelgnijwr0LNqR2np0Ghu6voLcUz0shvKZjxvDsnBuyZZzOFEYoOCt4xCc= X-Gm-Gg: ASbGncsazRNDtsK75eHkCklfCJeZUBxKRRmSnA4/xueAL7MfTMtos3aTEXd6kqdtfhu QPtV4uX/d6IaGjtsskoX49IE1LKk2yCk66hVBijaFFpB15a309spPqvnNVFEMV+9h1LdP6lZ9Hv nb9oAqOjpVQ/JxOWFVwei+gMJdx8BL92pJ5OY9vgbKrl1/A8bxR+AnHucfXtT1PfWAImKNcFyyL CvNemTKoVkI9u4tCBVMi75Uh2xgNuUkh5FDgX+8ljg9jnfXJvjXaJjB9BPoYy5yjF1wAms5MmzR 8AWrl/eB48eHnUrQUly/ZGLTK2VLY1NW2jp8Qd9KSSfKMfe8k5yfm2mpP89ZTmJCI9L0/XTCrJt ezRDloouv1CsRaVXfe2QunyMSlB5z0q8lAnB1a2htVle5d+BzUn8nQXEUKwLfky+KCY+JA2ypqQ P4/cLU9fbT7P9eF7ji2E6c X-Google-Smtp-Source: AGHT+IGqNc95uZgVXXUY+a2YFwixVur9G8WntrhqTsH394odXap6stboHVsoapVURYYMKNVoSEVxXw== X-Received: by 2002:a05:6000:4012:b0:3c6:bd96:214e with SMTP id ffacd0b85a97d-3c6bd962408mr3997788f8f.3.1755996517083; Sat, 23 Aug 2025 17:48:37 -0700 (PDT) Received: from [192.168.0.13] (188-141-3-146.dynamic.upc.ie. [188.141.3.146]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45b4e1d530esm69347225e9.0.2025.08.23.17.48.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 23 Aug 2025 17:48:36 -0700 (PDT) From: Bryan O'Donoghue Date: Sun, 24 Aug 2025 01:48:13 +0100 Subject: [PATCH v2 01/37] libcamera: swstats_cpu: Update statsProcessFn() / processLine0() documentation MIME-Version: 1.0 Message-Id: <20250824-b4-v0-5-2-gpuisp-v2-a-v2-1-96f4576c814e@linaro.org> References: <20250824-b4-v0-5-2-gpuisp-v2-a-v2-0-96f4576c814e@linaro.org> In-Reply-To: <20250824-b4-v0-5-2-gpuisp-v2-a-v2-0-96f4576c814e@linaro.org> To: libcamera-devel@lists.libcamera.org Cc: Bryan O'Donoghue , Hans de Goede , Kieran Bingham , Milan Zamazal X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2741; i=bryan.odonoghue@linaro.org; h=from:subject:message-id; bh=/+EKzkBop6oezwtSfNAh6oy5GCPuwOMLNKUoZnCfH3Y=; b=owEBbQKS/ZANAwAKASJxO7Ohjcg6AcsmYgBoqmFcSqKJ9kiawPypZmpCkMFCEEwiua7AeBBro nqPTQYQXuWJAjMEAAEKAB0WIQTmk/sqq6Nt4Rerb7QicTuzoY3IOgUCaKphXAAKCRAicTuzoY3I OgNWD/9WUz7TCT0OfX0OhQ7SoIPAShQB9pfiAwDbPf9xPdOOQ3p9wjXdn/JDME6Ob3fUUqz54Yt Ek9xj0i1ktwYVyRvHhRxhLnIykQybU/NtIgDgn8dhGrJ3ai9UuYNakhRI9bdJ05nYJF2DaBF4cP J88sp4FOO+WZxIFB1eARic7f36AForaigbkLaDEbO6a+HN+X0ULgzwd/AkNdYCGkFshcokrDfiQ +uvDytp/bQTGbdPc+aHNeyh+RRRsB8biiOTTEFy67hDuct0wsSZDDXkBp6AEaJ+Ou185IaYEWbW zr0Kt9Y5tNoxo+wuj8WRdqdDWKV/BUeJ7z0tYHCuGkLFSIk6TV++vxBTx3SjQAki6Dnjbfo2wSO d1BoU0/rzQtJaE88pIhjsxaVk12JG87m14kXp60cCFcdjUvVCBgl+mBTm/eoLxsFQC7LHJCjpv6 JdRGfTd4b6Sjvnhvr2jZRdYx6Je05jT9S0CTpDQJG1cB1EMMN6FLua3E+5HbY/k8xAGWTsnqFkG SCxik6a6LdRy0oEFA30J5B1HkiPDOnzxY3SxCDGeX+9nP/5+Isev0lFAjPvpAeTn9BtkU91Dl1V sY2HC2ObE0wywRV+JEk4gXl8UUzwcJMBUymC+Sev3GfEVA74chba3J1wK3L02oN4wVQGuU00VD4 WyBfAtz+cTDgd0g== X-Developer-Key: i=bryan.odonoghue@linaro.org; a=openpgp; fpr=E693FB2AABA36DE117AB6FB422713BB3A18DC83A 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" From: Hans de Goede Update the documentation of the statsProcessFn() / processLine0() src[] pointer argument to take into account that swstats_cpu may also be used with planar input data or with non Bayer single plane input data. The statsProcessFn typedef is private, so no documentation is generated for it. Move the new updated src[] pointer argument documentation to processLine0() so that it gets included in the generated docs. Reviewed-by: Kieran Bingham Reviewed-by: Milan Zamazal Signed-off-by: Hans de Goede Signed-off-by: Bryan O'Donoghue --- src/libcamera/software_isp/swstats_cpu.cpp | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/src/libcamera/software_isp/swstats_cpu.cpp b/src/libcamera/software_isp/swstats_cpu.cpp index 4b77b3600e3c74d739e12e54aa96dc1660c25b99..4c078cc26d9d23daab5358a920a473cd09f123b3 100644 --- a/src/libcamera/software_isp/swstats_cpu.cpp +++ b/src/libcamera/software_isp/swstats_cpu.cpp @@ -71,6 +71,19 @@ namespace libcamera { * patternSize height == 1. * It'll process line 0 and 1 for input formats with patternSize height >= 2. * This function may only be called after a successful setWindow() call. + * + * This function takes an array of src pointers each pointing to a line in + * the source image. + * + * Bayer input data requires (patternSize_.height + 1) src pointers, with + * the middle element of the array pointing to the actual line being processed. + * Earlier element(s) will point to the previous line(s) and later element(s) + * to the next line(s). See the DebayerCpu::debayerFn documentation for details. + * + * Planar input data requires a src pointer for each plane, with src[0] pointing + * to the line in plane 0, etc. + * + * For non Bayer single plane input data only a single src pointer is required. */ /** @@ -89,20 +102,6 @@ namespace libcamera { * \brief Signals that the statistics are ready */ -/** - * \typedef SwStatsCpu::statsProcessFn - * \brief Called when there is data to get statistics from - * \param[in] src The input data - * - * These functions take an array of (patternSize_.height + 1) src - * pointers each pointing to a line in the source image. The middle - * element of the array will point to the actual line being processed. - * Earlier element(s) will point to the previous line(s) and later - * element(s) to the next line(s). - * - * See the documentation of DebayerCpu::debayerFn for more details. - */ - /** * \var unsigned int SwStatsCpu::ySkipMask_ * \brief Skip lines where this bitmask is set in y