[{"id":27672,"web_url":"https://patchwork.libcamera.org/comment/27672/","msgid":"<CAEmqJPrG1m+FVzDBV9QcN8C2ShzLnnA2WrB5Y15zq0hLwsVO7w@mail.gmail.com>","date":"2023-08-21T09:11:34","subject":"Re: [libcamera-devel] [PATCH 1/3] ipa: rpi: agc: Fetch AWB status\n\tin process method, not prepare","submitter":{"id":34,"url":"https://patchwork.libcamera.org/api/people/34/","name":"Naushir Patuck","email":"naush@raspberrypi.com"},"content":"Hi David,\n\nThank you for your patch.\n\nOn Fri, 28 Jul 2023 at 14:37, David Plowman via libcamera-devel\n<libcamera-devel@lists.libcamera.org> wrote:\n>\n> prepare() doesn't use the AWB status, so fetching it in process() is\n> probably better. This change is preparatory to other changes, where we\n> may find ourselves calling process() without having called prepare()\n> previously.\n>\n> Signed-off-by: David Plowman <david.plowman@raspberrypi.com>\n\nReviewed-by: Naushir Patuck <naush@raspberrypi.com>\n\n> ---\n>  src/ipa/rpi/controller/rpi/agc.cpp | 3 ++-\n>  1 file changed, 2 insertions(+), 1 deletion(-)\n>\n> diff --git a/src/ipa/rpi/controller/rpi/agc.cpp b/src/ipa/rpi/controller/rpi/agc.cpp\n> index ae9ff219..e8526355 100644\n> --- a/src/ipa/rpi/controller/rpi/agc.cpp\n> +++ b/src/ipa/rpi/controller/rpi/agc.cpp\n> @@ -424,7 +424,6 @@ void Agc::prepare(Metadata *imageMetadata)\n>                 totalExposureValue = delayedStatus.totalExposureValue;\n>\n>         status_.digitalGain = 1.0;\n> -       fetchAwbStatus(imageMetadata); /* always fetch it so that Process knows it's been done */\n>\n>         if (status_.totalExposureValue) {\n>                 /* Process has run, so we have meaningful values. */\n> @@ -461,6 +460,8 @@ void Agc::process(StatisticsPtr &stats, Metadata *imageMetadata)\n>          * configuration, that kind of thing.\n>          */\n>         housekeepConfig();\n> +       /* Fetch the AWB status immediately, so that we can assume it's there. */\n> +       fetchAwbStatus(imageMetadata);\n>         /* Get the current exposure values for the frame that's just arrived. */\n>         fetchCurrentExposure(imageMetadata);\n>         /* Compute the total gain we require relative to the current exposure. */\n> --\n> 2.30.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 0D156BF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 21 Aug 2023 09:11:26 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1B191627DF;\n\tMon, 21 Aug 2023 11:11:25 +0200 (CEST)","from mail-yw1-x112d.google.com (mail-yw1-x112d.google.com\n\t[IPv6:2607:f8b0:4864:20::112d])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 94168627DA\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 21 Aug 2023 11:11:23 +0200 (CEST)","by mail-yw1-x112d.google.com with SMTP id\n\t00721157ae682-58d41109351so57710307b3.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 21 Aug 2023 02:11:23 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1692609085;\n\tbh=mYl535csvosw5TxfV4ThliUt3cnQziKHZhqYEPCD4p8=;\n\th=References:In-Reply-To:Date:To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=z1ynvlRzvUq9kd3Oc4mCBHzrR8lggKXsdLHXN0CeRJ7RHYXYkLMh844/rBNErq3cy\n\tWLSKWK0gBJrYiv17MURv03KL3X/uMr6Wby6Xt/G9SNgbSmtWEnFOFDTkTaTlmbk05K\n\tFCR9LT014v6vCiXYJsR3QlDojS6spAumfYiKpfeRyAk4vNWepXMGjr3p76iBV6uyx5\n\tU5IZM17ax/N97RqN3MXZKwK2PkF2Uuw/FKdQxILcyG+kSJj3/jwbwwthzAF8Fp7fSx\n\tq/iYBAVkae+GnEZeiZj6f0jmaqdH8ck8l1MdA3RO3iqpK5Ux7deZ2AQ9Y4Zk3rhyOl\n\tSyHtbTW7ZTD6w==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1692609082; x=1693213882;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc:subject:date:message-id:reply-to;\n\tbh=ht4E5tlRyvZRJukxhdZO+ADBAgDk6DnhaOlIvZOUI+E=;\n\tb=W6rdopRs09j7XEjhHEJQwEMf+CokyJq3kCsV0ZB4XJE7rxpZjH1kbwOE39cUQ1u7Iu\n\tephxU1UyygeGfpOWoaS3Dv42M5ltWJ+ZcQ2BZFpxABOX+sTZP99PvmQDMklRXNOvzCX1\n\tsnK1QkJjyiLXYEh+jfLUANuDTclZBWeRSC42R2Yw6mL6WbSdbV8BHYNrLBMCqjtcFEV0\n\t0KhckXNIYlNVxk3yZ5kyNc9JR3sY9bplXFdRsVLDbPGlYB5wjVFWwT5HhToBV+5nWwlm\n\tyUVGiBySeQPNZl5nP7lY8fqaXzTvfbqyxI4m9RC4qUHrcYQIneEvJoSnA3opauw1dLBg\n\tQ92g=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=raspberrypi.com\n\theader.i=@raspberrypi.com\n\theader.b=\"W6rdopRs\"; dkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20221208; t=1692609082; x=1693213882;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=ht4E5tlRyvZRJukxhdZO+ADBAgDk6DnhaOlIvZOUI+E=;\n\tb=SdTRYwF/afr4OIyIVtZ51TGXHgE9JrHmoQAT51jajHE8vov2MS4Ir8y/Wukz0CEgBa\n\tyqD0aGdSeLFDO8iAjzM7MgduXhDE88qkNNWJOYC6jMUNXG5Rrl60F9uDPYDWhSsXXZtv\n\tpJNuDlNSVAXTuyoNQxw2YDKkQonjY+Vg+u+Pe2B2qZVk/IbRMvkkDkcVyDtpelK//0Yp\n\tPvbK4kSAtQRc1B3jgjkeHNqBE33oNokpJCVPaTs0vyHXW9T/nMmmJUndrJxkzJjDeD7w\n\tQgN9Z/n8rnPDoRMiEiG/AUMzNUGB0eRWWoxjOUa9OYJl+T/5Uwzby1SkkDs8+FqtU1JS\n\tWrNw==","X-Gm-Message-State":"AOJu0Yzu0z+28ynzE3IKuArVmmmeDqCx8aQNnm9bK/g+macun/LRxh/G\n\t/sCrHkaDWra2a0sjmClNef9bQKHWbw5Ujc3YhdcztiSyFTvpqqf8gNk=","X-Google-Smtp-Source":"AGHT+IFbLKp9oFm9YpD0Dv9KV6MtNAxvmyWPXqDY7dbZ0moZ1kQ717BRor+yRNQJVer5jOvWU7594KD/8kPAau4pjP8=","X-Received":"by 2002:a0d:ea03:0:b0:589:e815:8d71 with SMTP id\n\tt3-20020a0dea03000000b00589e8158d71mr4082052ywe.11.1692609082425;\n\tMon, 21 Aug 2023 02:11:22 -0700 (PDT)","MIME-Version":"1.0","References":"<20230728133700.3713-1-david.plowman@raspberrypi.com>\n\t<20230728133700.3713-2-david.plowman@raspberrypi.com>","In-Reply-To":"<20230728133700.3713-2-david.plowman@raspberrypi.com>","Date":"Mon, 21 Aug 2023 10:11:34 +0100","Message-ID":"<CAEmqJPrG1m+FVzDBV9QcN8C2ShzLnnA2WrB5Y15zq0hLwsVO7w@mail.gmail.com>","To":"David Plowman <david.plowman@raspberrypi.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Subject":"Re: [libcamera-devel] [PATCH 1/3] ipa: rpi: agc: Fetch AWB status\n\tin process method, not prepare","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>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":27705,"web_url":"https://patchwork.libcamera.org/comment/27705/","msgid":"<f5tfsy5ox74rdsqce3hqbxmx53grw4zbsabkoarp3oou3eme3o@ilykwavi4tt7>","date":"2023-08-29T13:30:08","subject":"Re: [libcamera-devel] [PATCH 1/3] ipa: rpi: agc: Fetch AWB status\n\tin process method, not prepare","submitter":{"id":143,"url":"https://patchwork.libcamera.org/api/people/143/","name":"Jacopo Mondi","email":"jacopo.mondi@ideasonboard.com"},"content":"Hi David\n\nOn Fri, Jul 28, 2023 at 02:36:58PM +0100, David Plowman via libcamera-devel wrote:\n> prepare() doesn't use the AWB status, so fetching it in process() is\n> probably better. This change is preparatory to other changes, where we\n> may find ourselves calling process() without having called prepare()\n> previously.\n>\n> Signed-off-by: David Plowman <david.plowman@raspberrypi.com>\n\nSeems to make sense to me\nReviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n\nThanks\n  j\n\n> ---\n>  src/ipa/rpi/controller/rpi/agc.cpp | 3 ++-\n>  1 file changed, 2 insertions(+), 1 deletion(-)\n>\n> diff --git a/src/ipa/rpi/controller/rpi/agc.cpp b/src/ipa/rpi/controller/rpi/agc.cpp\n> index ae9ff219..e8526355 100644\n> --- a/src/ipa/rpi/controller/rpi/agc.cpp\n> +++ b/src/ipa/rpi/controller/rpi/agc.cpp\n> @@ -424,7 +424,6 @@ void Agc::prepare(Metadata *imageMetadata)\n>  \t\ttotalExposureValue = delayedStatus.totalExposureValue;\n>\n>  \tstatus_.digitalGain = 1.0;\n> -\tfetchAwbStatus(imageMetadata); /* always fetch it so that Process knows it's been done */\n>\n>  \tif (status_.totalExposureValue) {\n>  \t\t/* Process has run, so we have meaningful values. */\n> @@ -461,6 +460,8 @@ void Agc::process(StatisticsPtr &stats, Metadata *imageMetadata)\n>  \t * configuration, that kind of thing.\n>  \t */\n>  \thousekeepConfig();\n> +\t/* Fetch the AWB status immediately, so that we can assume it's there. */\n> +\tfetchAwbStatus(imageMetadata);\n>  \t/* Get the current exposure values for the frame that's just arrived. */\n>  \tfetchCurrentExposure(imageMetadata);\n>  \t/* Compute the total gain we require relative to the current exposure. */\n> --\n> 2.30.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 019C3C0F1B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 29 Aug 2023 13:30:15 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id DF72E61F19;\n\tTue, 29 Aug 2023 15:30:14 +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 BD9F961E02\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 29 Aug 2023 15:30:12 +0200 (CEST)","from ideasonboard.com (mob-5-90-48-16.net.vodafone.it [5.90.48.16])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 9FD1275A;\n\tTue, 29 Aug 2023 15:28:50 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1693315814;\n\tbh=g69zs4JjlqvYAsjY+MCjiQ10ayexfTWg/HBZx9C84/Q=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=QXJ7RebAPjsPWhG/41Zg49/1cDOjJdlo1eq2SV/kjwzKvYpgTBsHrYct8L5HL8kor\n\t9XBIUYRczgi5WLciUoQS7/MkRa1Dd8YX4G/w3w7sDVyrzVKGWqSVOWzBLnmgCjwe+7\n\tEs7CDjZ1/ObMIuR18qCPHXsATBQoOR4lyYs43mYQ77xugavw0RkobYkd0oupY50bVB\n\tBmdZFsnEvNSnF64Ab96phGj/DA21m1V2NBORt1frtFEQPMdGUF0sAD47K59PJxPAGo\n\trLihVVz9j16gtDdspkSy2uKvrVPodEWRiUnexjr6Aw97b8zzMMfQoZZbeBxtsHtb4i\n\t34v7tnI4xsMmw==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1693315730;\n\tbh=g69zs4JjlqvYAsjY+MCjiQ10ayexfTWg/HBZx9C84/Q=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=UghCmqAhSmDh/avcmZHh8LvlTdrSpQICBf2cso1R3/yMQwyUNtDnvxHfX8mdrWlTS\n\tg+3gmMR1W8QPI/wFeXkuGuiNT32jwBGgE+H14UlSHNHJRG4vQw0XUQOByalj7u/1oq\n\tjFU+gDG7pRdTZzSpaGXyT8aGQmHP9B18yistQSSA="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"UghCmqAh\"; dkim-atps=neutral","Date":"Tue, 29 Aug 2023 15:30:08 +0200","To":"David Plowman <david.plowman@raspberrypi.com>","Message-ID":"<f5tfsy5ox74rdsqce3hqbxmx53grw4zbsabkoarp3oou3eme3o@ilykwavi4tt7>","References":"<20230728133700.3713-1-david.plowman@raspberrypi.com>\n\t<20230728133700.3713-2-david.plowman@raspberrypi.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20230728133700.3713-2-david.plowman@raspberrypi.com>","Subject":"Re: [libcamera-devel] [PATCH 1/3] ipa: rpi: agc: Fetch AWB status\n\tin process method, not prepare","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":"Jacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]