{"id":18242,"url":"https://patchwork.libcamera.org/api/1.1/patches/18242/?format=json","web_url":"https://patchwork.libcamera.org/patch/18242/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/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":"<20230203091734.22803-4-naush@raspberrypi.com>","date":"2023-02-03T09:17:32","name":"[libcamera-devel,v4,3/5] ipa: raspberrypi: awb: Delay release of the statistics buffer","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"bfeaf5625c13acb70d2cf68ebd0eaf6be7f73509","submitter":{"id":34,"url":"https://patchwork.libcamera.org/api/1.1/people/34/?format=json","name":"Naushir Patuck","email":"naush@raspberrypi.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/18242/mbox/","series":[{"id":3738,"url":"https://patchwork.libcamera.org/api/1.1/series/3738/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=3738","date":"2023-02-03T09:17:29","name":"Raspberry Pi: Generalise statistics","version":4,"mbox":"https://patchwork.libcamera.org/series/3738/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/18242/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/18242/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 BDAC7BEFBE\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  3 Feb 2023 09:17:45 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 348BE625E8;\n\tFri,  3 Feb 2023 10:17:45 +0100 (CET)","from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com\n\t[IPv6:2a00:1450:4864:20::32a])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 87CC6625EB\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  3 Feb 2023 10:17:41 +0100 (CET)","by mail-wm1-x32a.google.com with SMTP id\n\tm5-20020a05600c4f4500b003db03b2559eso3327973wmq.5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 03 Feb 2023 01:17:41 -0800 (PST)","from localhost.localdomain ([93.93.133.154])\n\tby smtp.gmail.com with ESMTPSA id\n\taz24-20020a05600c601800b003dc4baaedd3sm7468864wmb.37.2023.02.03.01.17.40\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tFri, 03 Feb 2023 01:17:40 -0800 (PST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1675415865;\n\tbh=P6j9Xio4hdEWygeIAu/eoLHX89q5TgOrG8h3SAAUOR4=;\n\th=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=N7hL6TsBPFJF47je1tRnMxQ3XdPaWR2Ee9Qx/kwzMRtlSi+ZZa48a+CwC1z7ZafXF\n\t2XWOS/InPH8aMUudkiC7eCynZDhpnLm0Hh+LZx1gqM1za2VpsIOABPXvRVb36OaEVO\n\t5LX2Z2Grij6kW6+ZonzTc+OhY5rafA2saKyevcipoFboY+qtXz9VWnpHLoB3JJrGRU\n\twFq8KkiM7QId904jDT7wuug+L7sUbtMk0uQBVvqjVQr/5WE3THFWAmYt7vY1Gp0X5Y\n\t/zH8WVLEh4UWtGfDUmV1oOhL/CPtwDDknf+yTtnemGAddQJBruhWSsZjdUZFBno4yb\n\tL2v9ZakaOM4Og==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google;\n\th=content-transfer-encoding:mime-version:references:in-reply-to\n\t:message-id:date:subject:cc:to:from:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=G/JQb0uBfrwIRQcYwTAsXOw+rV9FlpM8/tfxdtjycqg=;\n\tb=NH4CUexyNLwTVYcM5RtjFvaLs88lfFt4Y08W73mZ4tVj1AyPQ3IkEhJ9RX/Rkoc4+U\n\tSN6II599cc85CzBZnLEhl6RL/xyVX9nhSP7FtHb7EdPpZDktklYtAjhqnuagDo1h5LD8\n\t0J6jc8EyFGs9R//eFlg5y621/mmLAr/yyv9ritJGb/4jBfTi5XcPFHcC15WEgbLfrHNH\n\tNzEKROo+riTNPaQnsrV/QFE3uX4zorU24SvFisilNUUhckPttaK9nkklwxfDC3FJ0Cz4\n\tZ9OTOoMTf5B/vyKzWxSwpAq8ARK6ADS7uiNIx1OyHaHd11iBk8i8jBZTlES07FJxjGvp\n\tp0/A=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=raspberrypi.com\n\theader.i=@raspberrypi.com\n\theader.b=\"NH4CUexy\"; dkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=content-transfer-encoding:mime-version:references:in-reply-to\n\t:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc\n\t:subject:date:message-id:reply-to;\n\tbh=G/JQb0uBfrwIRQcYwTAsXOw+rV9FlpM8/tfxdtjycqg=;\n\tb=2oy6qiBvi3cjMHGqtfFzvD9KorOaxkppc7OSbizD/etwAkaTvLrnKWBC31WRePDqUa\n\t+MP3C7/d77wtCg3GiW/c06iAYxXYKUgHa3h0id6Gmb2YECx0HXCtyHc4VYUFAzrLtFSj\n\t3g2DAwHRv8mjlu46bxIqLvoWG0ALWaU7Td8qvLUHCVd6uuERwBnXzYI/jg9qZwXRs7aI\n\tGim3ln/IX76bvifNVdE7JB2vUeBc0pGzkcSaCXT60twoNw3IGQC833G+JKywkTdhuzZb\n\teWtvalXPPds4lW1t+IObQWY0u44uG/AZASI0rJqwGaXvnkf35uUpm71Blbg1Igkp4Typ\n\thJzw==","X-Gm-Message-State":"AO0yUKWLFpXymXfMs5FOv/iRpAJbM8RBeHXH2hW0S+LBfbHlMeSBhPN4\n\tNY11EoPRLTig1IZ4jF81IEd7L0Z9jkq9QDkpcxV67w==","X-Google-Smtp-Source":"AK7set8edxXxc4tDtIOwvrFXaL/Bh3fdsLuNfji19diTGJXpSPUl8Mr12iIKMhEGYmPpsVvrCGJMDA==","X-Received":"by 2002:a05:600c:2b46:b0:3dc:4aa6:a8a9 with SMTP id\n\te6-20020a05600c2b4600b003dc4aa6a8a9mr8517781wmf.7.1675415861068; \n\tFri, 03 Feb 2023 01:17:41 -0800 (PST)","To":"libcamera-devel@lists.libcamera.org","Date":"Fri,  3 Feb 2023 09:17:32 +0000","Message-Id":"<20230203091734.22803-4-naush@raspberrypi.com>","X-Mailer":"git-send-email 2.25.1","In-Reply-To":"<20230203091734.22803-1-naush@raspberrypi.com>","References":"<20230203091734.22803-1-naush@raspberrypi.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH v4 3/5] ipa: raspberrypi: awb: Delay\n\trelease of the statistics buffer","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>","From":"Naushir Patuck via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Naushir Patuck <naush@raspberrypi.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Release the statistics buffer after running the through the AWB calculations.\nOnly the \"counted\" statistics are copied out to a local structure, so keeping\nthe statistics buffer allows the algorithm to see the \"uncounted\" statistics as\nwell.\n\nThis is currently handled by hard-coding the total number of statistics regions\nregions based on the structure definition in the bcm2835_isp_stats structure.\n\nSigned-off-by: Naushir Patuck <naush@raspberrypi.com>\nReviewed-by: David Plowman <david.plowman@raspberrypi.com>\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n---\n src/ipa/raspberrypi/controller/rpi/awb.cpp | 10 +++++-----\n 1 file changed, 5 insertions(+), 5 deletions(-)","diff":"diff --git a/src/ipa/raspberrypi/controller/rpi/awb.cpp b/src/ipa/raspberrypi/controller/rpi/awb.cpp\nindex 4f6af4ba98dc..04d1c8783654 100644\n--- a/src/ipa/raspberrypi/controller/rpi/awb.cpp\n+++ b/src/ipa/raspberrypi/controller/rpi/awb.cpp\n@@ -427,11 +427,6 @@ void Awb::prepareStats()\n \t */\n \tgenerateStats(zones_, statistics_->awb_stats, config_.minPixels,\n \t\t      config_.minG);\n-\t/*\n-\t * we're done with these; we may as well relinquish our hold on the\n-\t * pointer.\n-\t */\n-\tstatistics_.reset();\n \t/*\n \t * apply sensitivities, so values appear to come from our \"canonical\"\n \t * sensor.\n@@ -728,6 +723,11 @@ void Awb::doAwb()\n \t\t\t<< \" with gains r \" << asyncResults_.gainR\n \t\t\t<< \" and b \" << asyncResults_.gainB;\n \t}\n+\t/*\n+\t * we're done with these; we may as well relinquish our hold on the\n+\t * pointer.\n+\t */\n+\tstatistics_.reset();\n }\n \n /* Register algorithm with the system. */\n","prefixes":["libcamera-devel","v4","3/5"]}