[{"id":31681,"web_url":"https://patchwork.libcamera.org/comment/31681/","msgid":"<172851539313.532453.11332031975148371318@ping.linuxembedded.co.uk>","date":"2024-10-09T23:09:53","subject":"Re: [RFC 1/4] libcamera: swstats_cpu: Update statsProcessFn() /\n\tprocessLine0() documentation","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Hans de Goede (2024-10-09 21:01:07)\n> Update the documentation of the statsProcessFn() / processLine0() src[]\n> pointer argument to take into account that swstats_cpu may also be used\n> with planar input data or with non Bayer single plane input data.\n> \n> The statsProcessFn typedef is private, so no documentation is generated\n> for it. Move the new updated src[] pointer argument documentation to\n> processLine0() so that it gets included in the generated docs.\n> \n\nThis also seems reasonable on it's own.\n\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n> Signed-off-by: Hans de Goede <hdegoede@redhat.com>\n> ---\n>  src/libcamera/software_isp/swstats_cpu.cpp | 27 +++++++++++-----------\n>  1 file changed, 13 insertions(+), 14 deletions(-)\n> \n> diff --git a/src/libcamera/software_isp/swstats_cpu.cpp b/src/libcamera/software_isp/swstats_cpu.cpp\n> index c520c806..a9a3e77a 100644\n> --- a/src/libcamera/software_isp/swstats_cpu.cpp\n> +++ b/src/libcamera/software_isp/swstats_cpu.cpp\n> @@ -71,6 +71,19 @@ namespace libcamera {\n>   * patternSize height == 1.\n>   * It'll process line 0 and 1 for input formats with patternSize height >= 2.\n>   * This function may only be called after a successful setWindow() call.\n> + *\n> + * This function takes an array of src pointers each pointing to a line in\n> + * the source image.\n> + *\n> + * Bayer input data requires (patternSize_.height + 1) src pointers, with\n> + * the middle element of the array pointing to the actual line being processed.\n> + * Earlier element(s) will point to the previous line(s) and later element(s)\n> + * to the next line(s). See the DebayerCpu::debayerFn documentation for details.\n> + *\n> + * Planar input data requires a src pointer for each plane, with src[0] pointing\n> + * to the line in plane 0, etc.\n> + *\n> + * For non Bayer single plane input data only a single src pointer is required.\n>   */\n>  \n>  /**\n> @@ -89,20 +102,6 @@ namespace libcamera {\n>   * \\brief Signals that the statistics are ready\n>   */\n>  \n> -/**\n> - * \\typedef SwStatsCpu::statsProcessFn\n> - * \\brief Called when there is data to get statistics from\n> - * \\param[in] src The input data\n> - *\n> - * These functions take an array of (patternSize_.height + 1) src\n> - * pointers each pointing to a line in the source image. The middle\n> - * element of the array will point to the actual line being processed.\n> - * Earlier element(s) will point to the previous line(s) and later\n> - * element(s) to the next line(s).\n> - *\n> - * See the documentation of DebayerCpu::debayerFn for more details.\n> - */\n> -\n>  /**\n>   * \\var unsigned int SwStatsCpu::ySkipMask_\n>   * \\brief Skip lines where this bitmask is set in y\n> -- \n> 2.46.2\n>","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 89274C32E0\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  9 Oct 2024 23:09:57 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 41682618C5;\n\tThu, 10 Oct 2024 01:09:57 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 59EDB618C5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 10 Oct 2024 01:09:56 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id C23899CA;\n\tThu, 10 Oct 2024 01:08:18 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"fml44mUF\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1728515298;\n\tbh=uHWueN/IGwmkobgjNmZj9uE+HxbFSqKKCZlLSsQeb0U=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=fml44mUF/y9dsUQfK4M8+7ZrKcCNg5Rf4hC1eyxMWURPkncLpzxScsiTZFfh0RLEB\n\tH8rT6xszeAQVWh03XNcYXSzLcDxayc0tQpXJpxuprNrlqBxIZ+G16bywRyTQ6XcLrr\n\tJteLJxO+nnMiPnXgVYQax1kPxT1IvCTXZSeAlm6k=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20241009200110.275544-2-hdegoede@redhat.com>","References":"<20241009200110.275544-1-hdegoede@redhat.com>\n\t<20241009200110.275544-2-hdegoede@redhat.com>","Subject":"Re: [RFC 1/4] libcamera: swstats_cpu: Update statsProcessFn() /\n\tprocessLine0() documentation","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Milan Zamazal <mzamazal@redhat.com>, Maxime Ripard <mripard@redhat.com>, \n\tHans de Goede <hdegoede@redhat.com>","To":"Hans de Goede <hdegoede@redhat.com>, libcamera-devel@lists.libcamera.org","Date":"Thu, 10 Oct 2024 00:09:53 +0100","Message-ID":"<172851539313.532453.11332031975148371318@ping.linuxembedded.co.uk>","User-Agent":"alot/0.10","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>"}},{"id":31750,"web_url":"https://patchwork.libcamera.org/comment/31750/","msgid":"<87msj5bcza.fsf@redhat.com>","date":"2024-10-15T15:30:17","subject":"Re: [RFC 1/4] libcamera: swstats_cpu: Update statsProcessFn() /\n\tprocessLine0() documentation","submitter":{"id":177,"url":"https://patchwork.libcamera.org/api/people/177/","name":"Milan Zamazal","email":"mzamazal@redhat.com"},"content":"Hans de Goede <hdegoede@redhat.com> writes:\n\n> Update the documentation of the statsProcessFn() / processLine0() src[]\n> pointer argument to take into account that swstats_cpu may also be used\n> with planar input data or with non Bayer single plane input data.\n>\n> The statsProcessFn typedef is private, so no documentation is generated\n> for it. Move the new updated src[] pointer argument documentation to\n> processLine0() so that it gets included in the generated docs.\n>\n> Signed-off-by: Hans de Goede <hdegoede@redhat.com>\n> ---\n>  src/libcamera/software_isp/swstats_cpu.cpp | 27 +++++++++++-----------\n>  1 file changed, 13 insertions(+), 14 deletions(-)\n>\n> diff --git a/src/libcamera/software_isp/swstats_cpu.cpp b/src/libcamera/software_isp/swstats_cpu.cpp\n> index c520c806..a9a3e77a 100644\n> --- a/src/libcamera/software_isp/swstats_cpu.cpp\n> +++ b/src/libcamera/software_isp/swstats_cpu.cpp\n> @@ -71,6 +71,19 @@ namespace libcamera {\n>   * patternSize height == 1.\n>   * It'll process line 0 and 1 for input formats with patternSize height >= 2.\n>   * This function may only be called after a successful setWindow() call.\n> + *\n> + * This function takes an array of src pointers each pointing to a line in\n> + * the source image.\n> + *\n> + * Bayer input data requires (patternSize_.height + 1) src pointers, with\n> + * the middle element of the array pointing to the actual line being processed.\n> + * Earlier element(s) will point to the previous line(s) and later element(s)\n> + * to the next line(s). See the DebayerCpu::debayerFn documentation for details.\n> + *\n> + * Planar input data requires a src pointer for each plane, with src[0] pointing\n> + * to the line in plane 0, etc.\n\nI'm having trouble to be comfortable with the overloading.  It's true\nthat the method implementation doesn't really care about the meaning of\n`src' contents and stats0_ signature is satisfied.  I'm just nervous\nabout making something that's already not very clear even more\ncomplicated.\n\nSince I don't have a better suggestion at the moment:\n\nReviewed-by: Milan Zamazal <mzamazal@redhat.com>\n\n> + *\n> + * For non Bayer single plane input data only a single src pointer is required.\n>   */\n>  \n>  /**\n> @@ -89,20 +102,6 @@ namespace libcamera {\n>   * \\brief Signals that the statistics are ready\n>   */\n>  \n> -/**\n> - * \\typedef SwStatsCpu::statsProcessFn\n> - * \\brief Called when there is data to get statistics from\n> - * \\param[in] src The input data\n> - *\n> - * These functions take an array of (patternSize_.height + 1) src\n> - * pointers each pointing to a line in the source image. The middle\n> - * element of the array will point to the actual line being processed.\n> - * Earlier element(s) will point to the previous line(s) and later\n> - * element(s) to the next line(s).\n> - *\n> - * See the documentation of DebayerCpu::debayerFn for more details.\n> - */\n> -\n>  /**\n>   * \\var unsigned int SwStatsCpu::ySkipMask_\n>   * \\brief Skip lines where this bitmask is set in y","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 E9C6FC0F2A\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 15 Oct 2024 15:30:26 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 87D0C6537E;\n\tTue, 15 Oct 2024 17:30:25 +0200 (CEST)","from us-smtp-delivery-124.mimecast.com\n\t(us-smtp-delivery-124.mimecast.com [170.10.133.124])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id D56F960537\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 15 Oct 2024 17:30:23 +0200 (CEST)","from mail-wr1-f71.google.com (mail-wr1-f71.google.com\n\t[209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS\n\t(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n\tus-mta-530--O64suw3O2-vLJJK0_9RFw-1; Tue, 15 Oct 2024 11:30:20 -0400","by mail-wr1-f71.google.com with SMTP id\n\tffacd0b85a97d-37d60f3e458so2036013f8f.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 15 Oct 2024 08:30:19 -0700 (PDT)","from nuthatch (nat-pool-brq-t.redhat.com. [213.175.37.10])\n\tby smtp.gmail.com with ESMTPSA id\n\tffacd0b85a97d-37d7fa7a168sm1857068f8f.7.2024.10.15.08.30.17\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tTue, 15 Oct 2024 08:30:17 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=redhat.com header.i=@redhat.com\n\theader.b=\"bVdtexU2\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1729006222;\n\th=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n\tto:to:cc:cc:mime-version:mime-version:content-type:content-type:\n\tin-reply-to:in-reply-to:references:references;\n\tbh=1WMhvskbYUiufnFA76PhSBShv3A4IvtfG9xMR69ppa0=;\n\tb=bVdtexU2z7KZxlyAdwiEpVzatmKCDg2Z6d0ZbWaq9Ooj82maVRLR3sgzissZQ4GikBSU/P\n\tAv4/hNkVTqNWA0Aru3BpMRAwhbTZy6Kgbna+1n61nSZlktbH2hg5fpG5eCEHvwtg5lNLmu\n\tvNNMTCk62Mqt+cj/nDL4iMJkAu23ZcQ=","X-MC-Unique":"-O64suw3O2-vLJJK0_9RFw-1","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1729006219; x=1729611019;\n\th=mime-version:user-agent:message-id:date:references:in-reply-to\n\t:subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=1WMhvskbYUiufnFA76PhSBShv3A4IvtfG9xMR69ppa0=;\n\tb=oNJzG8zrLz/OIPK2EqsiSgYnwYN7TGXhNNe2NxGUhmMdIoxOjeiVdH9/CGhi+zGplY\n\t8QljEc9+WVXQfpWqClWtITR7cHj1/CvQwwtZO4JU2Wm3KqYM+7wykWZWNvHmlfihFABK\n\tqdQ+jKFXAIJd55hArJAwARvyKYDVKmzIgiRKSvCEag3IJTi/pW/pkGF+/oj0BsJkr8ap\n\t2X18D18esJ4Ryd76lxj3uJj1gDWBDygCEd3NOZ2oH1y+UaHq/aHkQbKKwxIfj/SFQPmL\n\tgc53TNcqw2AcWAU1zXU7vvXW1U7/6RTbS6vEgbX8vQUB28H9pyLBEIHEtuKgBied1Lwz\n\tD1aQ==","X-Gm-Message-State":"AOJu0YwFarzEIBj4pLOHHqxx6ZCiDp/anyGfL4KV8y3GKE6lXub5Waqh\n\t+J8eEPHKreqh8GzHoUr9w902aTKOCpFjv4tZ1IiTgbx5Iz+dzZ7jct8ziwVzrCUT3VAQ9xsNcpI\n\t9FZTW2rWEINak82z3kzj7wtETLw2aFhakAxi75CXUppKr5OdMdkXCjTi/Wci8RbfPIgWTM84=","X-Received":["by 2002:a5d:5e05:0:b0:37d:7117:1d54 with SMTP id\n\tffacd0b85a97d-37d71171ee0mr6368279f8f.51.1729006218807; \n\tTue, 15 Oct 2024 08:30:18 -0700 (PDT)","by 2002:a5d:5e05:0:b0:37d:7117:1d54 with SMTP id\n\tffacd0b85a97d-37d71171ee0mr6368253f8f.51.1729006218350; \n\tTue, 15 Oct 2024 08:30:18 -0700 (PDT)"],"X-Google-Smtp-Source":"AGHT+IHiJ8LtFvfeQTxIC4exk3mKz332S5F80A8XzWx2atuZPbM0VNQPo7FaPWI0EOfkW1EMZyUu0w==","From":"Milan Zamazal <mzamazal@redhat.com>","To":"Hans de Goede <hdegoede@redhat.com>","Cc":"libcamera-devel@lists.libcamera.org, Maxime Ripard <mripard@redhat.com>","Subject":"Re: [RFC 1/4] libcamera: swstats_cpu: Update statsProcessFn() /\n\tprocessLine0() documentation","In-Reply-To":"<20241009200110.275544-2-hdegoede@redhat.com> (Hans de Goede's\n\tmessage of \"Wed, 9 Oct 2024 22:01:07 +0200\")","References":"<20241009200110.275544-1-hdegoede@redhat.com>\n\t<20241009200110.275544-2-hdegoede@redhat.com>","Date":"Tue, 15 Oct 2024 17:30:17 +0200","Message-ID":"<87msj5bcza.fsf@redhat.com>","User-Agent":"Gnus/5.13 (Gnus v5.13)","MIME-Version":"1.0","X-Mimecast-Spam-Score":"0","X-Mimecast-Originator":"redhat.com","Content-Type":"text/plain","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>"}}]