[{"id":25017,"web_url":"https://patchwork.libcamera.org/comment/25017/","msgid":"<166368424505.3912877.11799723260024360332@Monstersaurus>","date":"2022-09-20T14:30:45","subject":"Re: [libcamera-devel] [PATCH v4 11/32] ipa: ipu3: Pass controls to\n\talgorithm's queueRequest() handler","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Laurent Pinchart via libcamera-devel (2022-09-08 02:41:39)\n> The the Algorithm::queueRequest() function of all algorithms when a\n\nCall the ?\n\n> request is queue, to pass the request controls to the algorithms. We can\n\n/queue/queued/\n\n> now drop the copy of the control list stored in IPAFrameContext as it\n> isn't used anymore.\n> \n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> ---\n>  src/ipa/ipu3/ipa_context.cpp | 3 ---\n>  src/ipa/ipu3/ipa_context.h   | 3 ---\n>  src/ipa/ipu3/ipu3.cpp        | 4 ++--\n>  3 files changed, 2 insertions(+), 8 deletions(-)\n> \n> diff --git a/src/ipa/ipu3/ipa_context.cpp b/src/ipa/ipu3/ipa_context.cpp\n> index 6904ccbbdf8b..bd71b615365d 100644\n> --- a/src/ipa/ipu3/ipa_context.cpp\n> +++ b/src/ipa/ipu3/ipa_context.cpp\n> @@ -168,9 +168,6 @@ namespace libcamera::ipa::ipu3 {\n>   * \\struct IPAFrameContext\n>   * \\brief IPU3-specific FrameContext\n>   *\n> - * \\var IPAFrameContext::frameControls\n> - * \\brief Controls sent in by the application while queuing the request\n> - *\n>   * \\var IPAFrameContext::sensor\n>   * \\brief Effective sensor values that were applied for the frame\n>   *\n> diff --git a/src/ipa/ipu3/ipa_context.h b/src/ipa/ipu3/ipa_context.h\n> index bfc0196e098a..36099353e9f2 100644\n> --- a/src/ipa/ipu3/ipa_context.h\n> +++ b/src/ipa/ipu3/ipa_context.h\n> @@ -12,7 +12,6 @@\n>  \n>  #include <libcamera/base/utils.h>\n>  \n> -#include <libcamera/controls.h>\n>  #include <libcamera/geometry.h>\n>  \n>  #include <libipa/fc_queue.h>\n> @@ -78,8 +77,6 @@ struct IPAFrameContext : public FrameContext {\n>                 uint32_t exposure;\n>                 double gain;\n>         } sensor;\n> -\n> -       ControlList frameControls;\n>  };\n>  \n>  struct IPAContext {\n> diff --git a/src/ipa/ipu3/ipu3.cpp b/src/ipa/ipu3/ipu3.cpp\n> index 8158ca0883e8..844ab6de03c7 100644\n> --- a/src/ipa/ipu3/ipu3.cpp\n> +++ b/src/ipa/ipu3/ipu3.cpp\n> @@ -666,8 +666,8 @@ void IPAIPU3::queueRequest(const uint32_t frame, const ControlList &controls)\n>         /* \\todo Start processing for 'frame' based on 'controls'. */\n\nI think we can drop this comment here too.\n\nIt's now a todo specific to each algorithm.\n\nWith that,\n\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n>         IPAFrameContext &frameContext = context_.frameContexts.init(frame);\n>  \n> -       /* \\todo Implement queueRequest to each algorithm. */\n> -       frameContext.frameControls = controls;\n> +       for (auto const &algo : algorithms())\n> +               algo->queueRequest(context_, frame, frameContext, controls);\n>  }\n>  \n>  /**\n> -- \n> Regards,\n> \n> Laurent Pinchart\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 4F128C3272\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 20 Sep 2022 14:30:49 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B7813621B5;\n\tTue, 20 Sep 2022 16:30:48 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id CA56B6218B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 20 Sep 2022 16:30:47 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 3239D6BE;\n\tTue, 20 Sep 2022 16:30:47 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1663684248;\n\tbh=A/7+NsvS4/QNu4F4jSC0V74hWd4tAeEmNmcx0qQ7PLc=;\n\th=In-Reply-To:References:To:Date:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=SGIYGTQVzgfnpa+J1ATCIRrcfDk/AvTz5F6yclrLMj6xi+OKou2yceVeDR9A2N92H\n\tHRIKr2dqOQf40PQwcyvEwR0HWB+pocXjb3SHz9+IbX62IOl0OxCrRCQPFW6ZUaIKN5\n\tGgYvEhsype7h/1uCMCmKMjUfH4WiwK+NOqUxZ0FtiqOiAvlO0KOUuM0li6OSuf9flK\n\tKPAYxk3NSe+/2mUzqU9J/awbi18NefNAChqMQCz79vBllXaKPl6XI+DolHcXqiubrv\n\tqAoqWmn/P0URXxkraO3b4cuePmhDtOUUSL6z9baWMfGMxhNhItK7u3gFYrP66vqVot\n\tRBhi1lP1vBvmw==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1663684247;\n\tbh=A/7+NsvS4/QNu4F4jSC0V74hWd4tAeEmNmcx0qQ7PLc=;\n\th=In-Reply-To:References:Subject:From:To:Date:From;\n\tb=AFyhriL2YFFnR+AHNqLIvcxufjW8w3cKPuzgHkwvpo/RIAb+52H0/cwaqvEDXh6nw\n\tDV9JvPHrXbFc13yEFq+guYsNtteKHu6wJf5YUoC4K8jXOh/nLyEBpBUdcpOcGNWCPq\n\tAUUBtZF3JiMgfbaxY/xc90N3SL9SfbBU9AqNjWqo="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"AFyhriL2\"; dkim-atps=neutral","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20220908014200.28728-12-laurent.pinchart@ideasonboard.com>","References":"<20220908014200.28728-1-laurent.pinchart@ideasonboard.com>\n\t<20220908014200.28728-12-laurent.pinchart@ideasonboard.com>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Tue, 20 Sep 2022 15:30:45 +0100","Message-ID":"<166368424505.3912877.11799723260024360332@Monstersaurus>","User-Agent":"alot/0.10","Subject":"Re: [libcamera-devel] [PATCH v4 11/32] ipa: ipu3: Pass controls to\n\talgorithm's queueRequest() handler","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":"Kieran Bingham via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":25057,"web_url":"https://patchwork.libcamera.org/comment/25057/","msgid":"<20220921181946.3s5hh4ji63oue2cx@uno.localdomain>","date":"2022-09-21T18:19:46","subject":"Re: [libcamera-devel] [PATCH v4 11/32] ipa: ipu3: Pass controls to\n\talgorithm's queueRequest() handler","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Laurent,\n\nOn Thu, Sep 08, 2022 at 04:41:39AM +0300, Laurent Pinchart via libcamera-devel wrote:\n> The the Algorithm::queueRequest() function of all algorithms when a\n> request is queue, to pass the request controls to the algorithms. We can\n> now drop the copy of the control list stored in IPAFrameContext as it\n> isn't used anymore.\n>\n> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> ---\n>  src/ipa/ipu3/ipa_context.cpp | 3 ---\n>  src/ipa/ipu3/ipa_context.h   | 3 ---\n>  src/ipa/ipu3/ipu3.cpp        | 4 ++--\n>  3 files changed, 2 insertions(+), 8 deletions(-)\n>\n> diff --git a/src/ipa/ipu3/ipa_context.cpp b/src/ipa/ipu3/ipa_context.cpp\n> index 6904ccbbdf8b..bd71b615365d 100644\n> --- a/src/ipa/ipu3/ipa_context.cpp\n> +++ b/src/ipa/ipu3/ipa_context.cpp\n> @@ -168,9 +168,6 @@ namespace libcamera::ipa::ipu3 {\n>   * \\struct IPAFrameContext\n>   * \\brief IPU3-specific FrameContext\n>   *\n> - * \\var IPAFrameContext::frameControls\n> - * \\brief Controls sent in by the application while queuing the request\n> - *\n>   * \\var IPAFrameContext::sensor\n>   * \\brief Effective sensor values that were applied for the frame\n>   *\n> diff --git a/src/ipa/ipu3/ipa_context.h b/src/ipa/ipu3/ipa_context.h\n> index bfc0196e098a..36099353e9f2 100644\n> --- a/src/ipa/ipu3/ipa_context.h\n> +++ b/src/ipa/ipu3/ipa_context.h\n> @@ -12,7 +12,6 @@\n>\n>  #include <libcamera/base/utils.h>\n>\n> -#include <libcamera/controls.h>\n>  #include <libcamera/geometry.h>\n>\n>  #include <libipa/fc_queue.h>\n> @@ -78,8 +77,6 @@ struct IPAFrameContext : public FrameContext {\n>  \t\tuint32_t exposure;\n>  \t\tdouble gain;\n>  \t} sensor;\n> -\n> -\tControlList frameControls;\n\nMaybe I've missed a point, if the FrameContext does not even contain\nthe controls associated with a Request, as they're passed to queueRequest()\nand used there, what is its purpose? Seems like a really stupid question, as\nour overall design is centered around th FrameContext...\n\n>  };\n>\n>  struct IPAContext {\n> diff --git a/src/ipa/ipu3/ipu3.cpp b/src/ipa/ipu3/ipu3.cpp\n> index 8158ca0883e8..844ab6de03c7 100644\n> --- a/src/ipa/ipu3/ipu3.cpp\n> +++ b/src/ipa/ipu3/ipu3.cpp\n> @@ -666,8 +666,8 @@ void IPAIPU3::queueRequest(const uint32_t frame, const ControlList &controls)\n>  \t/* \\todo Start processing for 'frame' based on 'controls'. */\n>  \tIPAFrameContext &frameContext = context_.frameContexts.init(frame);\n>\n> -\t/* \\todo Implement queueRequest to each algorithm. */\n> -\tframeContext.frameControls = controls;\n> +\tfor (auto const &algo : algorithms())\n> +\t\talgo->queueRequest(context_, frame, frameContext, controls);\n>  }\n>\n>  /**\n> --\n> Regards,\n>\n> Laurent Pinchart\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 773FAC0DA4\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 21 Sep 2022 18:19:51 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 9F6BA621EE;\n\tWed, 21 Sep 2022 20:19:50 +0200 (CEST)","from relay12.mail.gandi.net (relay12.mail.gandi.net\n\t[IPv6:2001:4b98:dc4:8::232])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id CB990600AA\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 21 Sep 2022 20:19:48 +0200 (CEST)","(Authenticated sender: jacopo@jmondi.org)\n\tby mail.gandi.net (Postfix) with ESMTPSA id 2272C200008;\n\tWed, 21 Sep 2022 18:19:47 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1663784390;\n\tbh=B72JCDitE8X/pcG+EBJNyMtfk1sgIBTNlwvsajrUSDA=;\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=fY5aGoV2Los6J1mVIbvDSdb+Gx/FSOHvTVdy/7mmz6gqqiTOK36oKFJqDuRPhcILk\n\tTqht3digbNEeI0eGMFhbpvPKVtUUmvyqs7keK1Zj9esV66XPB+LS0utDNXdHDPLMAM\n\tUGnXuvdUmWPbXrytpzyZQIqovs7SSUR/EdKanuj/6AUdFYA3t1VXB7BqlkjHH0+I5V\n\t/N/ozgDkM8P2q1D5EknyLDDfsPCotNi2btPv4XC5noAKeN0pwQ5Zt4IHdsjiM6HLSl\n\tNGE7ZLpCeAMJ6vlfHBF/uxIrGTjw/rMSlnIUAHGl0mf0XsZJKR8FMsLnnvRiK+tMTe\n\ttXt78ZcwE/Fhw==","Date":"Wed, 21 Sep 2022 20:19:46 +0200","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Message-ID":"<20220921181946.3s5hh4ji63oue2cx@uno.localdomain>","References":"<20220908014200.28728-1-laurent.pinchart@ideasonboard.com>\n\t<20220908014200.28728-12-laurent.pinchart@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20220908014200.28728-12-laurent.pinchart@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH v4 11/32] ipa: ipu3: Pass controls to\n\talgorithm's queueRequest() handler","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@jmondi.org>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":25059,"web_url":"https://patchwork.libcamera.org/comment/25059/","msgid":"<20220921183035.kgvi53vkooyo4z6h@uno.localdomain>","date":"2022-09-21T18:30:35","subject":"Re: [libcamera-devel] [PATCH v4 11/32] ipa: ipu3: Pass controls to\n\talgorithm's queueRequest() handler","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Self-reply to a dumb question\n\nOn Wed, Sep 21, 2022 at 08:19:48PM +0200, Jacopo Mondi wrote:\n> Hi Laurent,\n>\n> On Thu, Sep 08, 2022 at 04:41:39AM +0300, Laurent Pinchart via libcamera-devel wrote:\n> > The the Algorithm::queueRequest() function of all algorithms when a\n> > request is queue, to pass the request controls to the algorithms. We can\n> > now drop the copy of the control list stored in IPAFrameContext as it\n> > isn't used anymore.\n> >\n> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> > ---\n> >  src/ipa/ipu3/ipa_context.cpp | 3 ---\n> >  src/ipa/ipu3/ipa_context.h   | 3 ---\n> >  src/ipa/ipu3/ipu3.cpp        | 4 ++--\n> >  3 files changed, 2 insertions(+), 8 deletions(-)\n> >\n> > diff --git a/src/ipa/ipu3/ipa_context.cpp b/src/ipa/ipu3/ipa_context.cpp\n> > index 6904ccbbdf8b..bd71b615365d 100644\n> > --- a/src/ipa/ipu3/ipa_context.cpp\n> > +++ b/src/ipa/ipu3/ipa_context.cpp\n> > @@ -168,9 +168,6 @@ namespace libcamera::ipa::ipu3 {\n> >   * \\struct IPAFrameContext\n> >   * \\brief IPU3-specific FrameContext\n> >   *\n> > - * \\var IPAFrameContext::frameControls\n> > - * \\brief Controls sent in by the application while queuing the request\n> > - *\n> >   * \\var IPAFrameContext::sensor\n> >   * \\brief Effective sensor values that were applied for the frame\n> >   *\n> > diff --git a/src/ipa/ipu3/ipa_context.h b/src/ipa/ipu3/ipa_context.h\n> > index bfc0196e098a..36099353e9f2 100644\n> > --- a/src/ipa/ipu3/ipa_context.h\n> > +++ b/src/ipa/ipu3/ipa_context.h\n> > @@ -12,7 +12,6 @@\n> >\n> >  #include <libcamera/base/utils.h>\n> >\n> > -#include <libcamera/controls.h>\n> >  #include <libcamera/geometry.h>\n> >\n> >  #include <libipa/fc_queue.h>\n> > @@ -78,8 +77,6 @@ struct IPAFrameContext : public FrameContext {\n> >  \t\tuint32_t exposure;\n> >  \t\tdouble gain;\n> >  \t} sensor;\n> > -\n> > -\tControlList frameControls;\n>\n> Maybe I've missed a point, if the FrameContext does not even contain\n> the controls associated with a Request, as they're passed to queueRequest()\n> and used there, what is its purpose? Seems like a really stupid question, as\n> our overall design is centered around th FrameContext...\n>\n\n.. the algorithm-computed per-frame results\n\nSorry for the noise\n\n> >  };\n> >\n> >  struct IPAContext {\n> > diff --git a/src/ipa/ipu3/ipu3.cpp b/src/ipa/ipu3/ipu3.cpp\n> > index 8158ca0883e8..844ab6de03c7 100644\n> > --- a/src/ipa/ipu3/ipu3.cpp\n> > +++ b/src/ipa/ipu3/ipu3.cpp\n> > @@ -666,8 +666,8 @@ void IPAIPU3::queueRequest(const uint32_t frame, const ControlList &controls)\n> >  \t/* \\todo Start processing for 'frame' based on 'controls'. */\n> >  \tIPAFrameContext &frameContext = context_.frameContexts.init(frame);\n> >\n> > -\t/* \\todo Implement queueRequest to each algorithm. */\n> > -\tframeContext.frameControls = controls;\n> > +\tfor (auto const &algo : algorithms())\n> > +\t\talgo->queueRequest(context_, frame, frameContext, controls);\n> >  }\n> >\n> >  /**\n> > --\n> > Regards,\n> >\n> > Laurent Pinchart\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 CC12CC3272\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 21 Sep 2022 18:30:40 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1F81A621F0;\n\tWed, 21 Sep 2022 20:30:40 +0200 (CEST)","from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net\n\t[217.70.183.194])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A7ADE600AA\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 21 Sep 2022 20:30:38 +0200 (CEST)","(Authenticated sender: jacopo@jmondi.org)\n\tby mail.gandi.net (Postfix) with ESMTPSA id EDA5040004;\n\tWed, 21 Sep 2022 18:30:37 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1663785040;\n\tbh=rJSLsP81Mz/cHmYjmwJ+BsFK2u3iybtxeXKziHcQuuk=;\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=uyOzQDTc3RlnLmW3mCI55NqkejZSXWKgV980JNWwVMUbQ335Y0GjGHX1jGO51FW1u\n\txJPAIn1Ftp5HsWFYWSr31BVgX6AFFo7rtHw37JS2x2jfz9YQq+54dqFiG6TDLk3A12\n\tzK1obu9Tvmwikvk9ETQrEJnMPUvlCiyI9IHqIlZQX5sb8M1FKxQFTPr8Ugalr8RbZz\n\tTVBSw6ejyVajNwJDVTllpuhz/W3isqrkV22gT8gnH/3yIrZcbopPGSkLks90OcRjlb\n\tPb8QCwxXz80OZW0TI6WhdmbgBxE3mka31Zspwt4FS4AthdBI+P3wZx964X3Oi8qHmp\n\tt1+kQKzYrFWCw==","Date":"Wed, 21 Sep 2022 20:30:35 +0200","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Message-ID":"<20220921183035.kgvi53vkooyo4z6h@uno.localdomain>","References":"<20220908014200.28728-1-laurent.pinchart@ideasonboard.com>\n\t<20220908014200.28728-12-laurent.pinchart@ideasonboard.com>\n\t<20220921181946.3s5hh4ji63oue2cx@uno.localdomain>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20220921181946.3s5hh4ji63oue2cx@uno.localdomain>","Subject":"Re: [libcamera-devel] [PATCH v4 11/32] ipa: ipu3: Pass controls to\n\talgorithm's queueRequest() handler","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@jmondi.org>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]