[{"id":13130,"web_url":"https://patchwork.libcamera.org/comment/13130/","msgid":"<0aae80d3-5ef5-8d39-0438-6f7ff7873540@ideasonboard.com>","date":"2020-10-09T12:36:57","subject":"Re: [libcamera-devel] [PATCH 06/10] libcamera: ipu3: Report\n\tpipeline depth","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Jacopo,\n\nOn 09/10/2020 13:20, Jacopo Mondi wrote:\n> Report for each request the pipeline depth describing the number of\n> processing steps the frames went through.\n> \n> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> ---\n>  src/libcamera/pipeline/ipu3/ipu3.cpp | 3 +++\n>  1 file changed, 3 insertions(+)\n> \n> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> index f7ade2a6d5f3..413c2b8b1f07 100644\n> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> @@ -12,6 +12,7 @@\n>  #include <vector>\n>  \n>  #include <libcamera/camera.h>\n> +#include <libcamera/control_ids.h>\n>  #include <libcamera/formats.h>\n>  #include <libcamera/property_ids.h>\n>  #include <libcamera/request.h>\n> @@ -841,6 +842,7 @@ void IPU3CameraData::imguOutputBufferReady(FrameBuffer *buffer)\n>  \t\treturn;\n>  \n>  \t/* Mark the request as complete. */\n> +\trequest->metadata().set(controls::draft::PipelineDepth, 3);\n>  \tpipe_->completeRequest(camera_, request);\n>  }\n>  \n> @@ -866,6 +868,7 @@ void IPU3CameraData::cio2BufferReady(FrameBuffer *buffer)\n>  \tif (request->findBuffer(&rawStream_)) {\n>  \t\tbool isComplete = pipe_->completeBuffer(camera_, request, buffer);\n>  \t\tif (isComplete) {\n> +\t\t\trequest->metadata().set(controls::draft::PipelineDepth, 2);\n\nWill it be obvious to readers what the '2' stages are? Maybe later we'll\nsomehow automatically handle it.\n\nI think hardcoding these values currently deserves an explanation of why\nit's only 2 (or 3 above) perhaps.\n\nBut - eitherway - maybe that's overkill too.\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n>  \t\t\tpipe_->completeRequest(camera_, request);\n>  \t\t\treturn;\n>  \t\t}\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 3E879BEEE0\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  9 Oct 2020 12:37:02 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0F49760725;\n\tFri,  9 Oct 2020 14:37:02 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E769360358\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  9 Oct 2020 14:37:00 +0200 (CEST)","from [192.168.0.20]\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 6C722539;\n\tFri,  9 Oct 2020 14:37:00 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"LuTs4YYO\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1602247020;\n\tbh=jIXItU0THtOVjagpouMFE2YYBMdVMZJ9tKpwk9tpatU=;\n\th=Reply-To:Subject:To:References:From:Date:In-Reply-To:From;\n\tb=LuTs4YYOQW9MguMgC+bTmk2jTI3LYRJ5KDGdxbH2oRxcSx7ys3ub3GshO8kEgXUW1\n\tf2eY6fgoXbkhroi4hdOGA6Y87xuE0I3ODHu52861csrh1YI9GeOzXHDDSjEn2Q8Ui6\n\tw9ufhmNFcfVAl1SDkxRGKek/fFRIkeZ/RwlcSpHQ=","To":"Jacopo Mondi <jacopo@jmondi.org>, libcamera-devel@lists.libcamera.org","References":"<20201009122101.73858-1-jacopo@jmondi.org>\n\t<20201009122101.73858-7-jacopo@jmondi.org>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Autocrypt":"addr=kieran.bingham@ideasonboard.com; keydata=\n\t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\n\tWZw01QYHU/GUV/zHJSFk","Organization":"Ideas on Board","Message-ID":"<0aae80d3-5ef5-8d39-0438-6f7ff7873540@ideasonboard.com>","Date":"Fri, 9 Oct 2020 13:36:57 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101\n\tThunderbird/68.10.0","MIME-Version":"1.0","In-Reply-To":"<20201009122101.73858-7-jacopo@jmondi.org>","Content-Language":"en-GB","Subject":"Re: [libcamera-devel] [PATCH 06/10] libcamera: ipu3: Report\n\tpipeline depth","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>","Reply-To":"kieran.bingham@ideasonboard.com","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":13135,"web_url":"https://patchwork.libcamera.org/comment/13135/","msgid":"<20201009125112.vlvz4xmvmf4geevo@uno.localdomain>","date":"2020-10-09T12:51:12","subject":"Re: [libcamera-devel] [PATCH 06/10] libcamera: ipu3: Report\n\tpipeline depth","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Kieran,\n\nOn Fri, Oct 09, 2020 at 01:36:57PM +0100, Kieran Bingham wrote:\n> Hi Jacopo,\n>\n> On 09/10/2020 13:20, Jacopo Mondi wrote:\n> > Report for each request the pipeline depth describing the number of\n> > processing steps the frames went through.\n> >\n> > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> > ---\n> >  src/libcamera/pipeline/ipu3/ipu3.cpp | 3 +++\n> >  1 file changed, 3 insertions(+)\n> >\n> > diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> > index f7ade2a6d5f3..413c2b8b1f07 100644\n> > --- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n> > +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> > @@ -12,6 +12,7 @@\n> >  #include <vector>\n> >\n> >  #include <libcamera/camera.h>\n> > +#include <libcamera/control_ids.h>\n> >  #include <libcamera/formats.h>\n> >  #include <libcamera/property_ids.h>\n> >  #include <libcamera/request.h>\n> > @@ -841,6 +842,7 @@ void IPU3CameraData::imguOutputBufferReady(FrameBuffer *buffer)\n> >  \t\treturn;\n> >\n> >  \t/* Mark the request as complete. */\n> > +\trequest->metadata().set(controls::draft::PipelineDepth, 3);\n> >  \tpipe_->completeRequest(camera_, request);\n> >  }\n> >\n> > @@ -866,6 +868,7 @@ void IPU3CameraData::cio2BufferReady(FrameBuffer *buffer)\n> >  \tif (request->findBuffer(&rawStream_)) {\n> >  \t\tbool isComplete = pipe_->completeBuffer(camera_, request, buffer);\n> >  \t\tif (isComplete) {\n> > +\t\t\trequest->metadata().set(controls::draft::PipelineDepth, 2);\n>\n> Will it be obvious to readers what the '2' stages are? Maybe later we'll\n> somehow automatically handle it.\n>\n> I think hardcoding these values currently deserves an explanation of why\n> it's only 2 (or 3 above) perhaps.\n>\n> But - eitherway - maybe that's overkill too.\n\nPlease don't forget this is pipeline code, not application facing\ncode. I expect reading the proeprty documentation and noticing RAW=2,\nYUV=3 is pretty clear to someone poking with platform code.\n\nI can add a comment to previous patch that add the maximum pipeline\ndepth though.\n\n>\n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n>\n\nThanks\n  j\n\n> >  \t\t\tpipe_->completeRequest(camera_, request);\n> >  \t\t\treturn;\n> >  \t\t}\n> >\n>\n> --\n> Regards\n> --\n> Kieran","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 B1D6ABEEE0\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  9 Oct 2020 12:47:15 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8F3EA60359;\n\tFri,  9 Oct 2020 14:47:15 +0200 (CEST)","from relay11.mail.gandi.net (relay11.mail.gandi.net\n\t[217.70.178.231])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9E6F760358\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  9 Oct 2020 14:47:13 +0200 (CEST)","from uno.localdomain (93-34-118-233.ip49.fastwebnet.it\n\t[93.34.118.233]) (Authenticated sender: jacopo@jmondi.org)\n\tby relay11.mail.gandi.net (Postfix) with ESMTPSA id 37307100003;\n\tFri,  9 Oct 2020 12:47:12 +0000 (UTC)"],"Date":"Fri, 9 Oct 2020 14:51:12 +0200","From":"Jacopo Mondi <jacopo@jmondi.org>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Message-ID":"<20201009125112.vlvz4xmvmf4geevo@uno.localdomain>","References":"<20201009122101.73858-1-jacopo@jmondi.org>\n\t<20201009122101.73858-7-jacopo@jmondi.org>\n\t<0aae80d3-5ef5-8d39-0438-6f7ff7873540@ideasonboard.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<0aae80d3-5ef5-8d39-0438-6f7ff7873540@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 06/10] libcamera: ipu3: Report\n\tpipeline depth","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>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":13173,"web_url":"https://patchwork.libcamera.org/comment/13173/","msgid":"<20201012010752.GP3944@pendragon.ideasonboard.com>","date":"2020-10-12T01:07:52","subject":"Re: [libcamera-devel] [PATCH 06/10] libcamera: ipu3: Report\n\tpipeline depth","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Jacopo,\n\nThank you for the patch.\n\nOn Fri, Oct 09, 2020 at 02:51:12PM +0200, Jacopo Mondi wrote:\n> On Fri, Oct 09, 2020 at 01:36:57PM +0100, Kieran Bingham wrote:\n> > On 09/10/2020 13:20, Jacopo Mondi wrote:\n> > > Report for each request the pipeline depth describing the number of\n> > > processing steps the frames went through.\n> > >\n> > > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> > > ---\n> > >  src/libcamera/pipeline/ipu3/ipu3.cpp | 3 +++\n> > >  1 file changed, 3 insertions(+)\n> > >\n> > > diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> > > index f7ade2a6d5f3..413c2b8b1f07 100644\n> > > --- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n> > > +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> > > @@ -12,6 +12,7 @@\n> > >  #include <vector>\n> > >\n> > >  #include <libcamera/camera.h>\n> > > +#include <libcamera/control_ids.h>\n> > >  #include <libcamera/formats.h>\n> > >  #include <libcamera/property_ids.h>\n> > >  #include <libcamera/request.h>\n> > > @@ -841,6 +842,7 @@ void IPU3CameraData::imguOutputBufferReady(FrameBuffer *buffer)\n> > >  \t\treturn;\n> > >\n> > >  \t/* Mark the request as complete. */\n> > > +\trequest->metadata().set(controls::draft::PipelineDepth, 3);\n> > >  \tpipe_->completeRequest(camera_, request);\n> > >  }\n> > >\n> > > @@ -866,6 +868,7 @@ void IPU3CameraData::cio2BufferReady(FrameBuffer *buffer)\n> > >  \tif (request->findBuffer(&rawStream_)) {\n> > >  \t\tbool isComplete = pipe_->completeBuffer(camera_, request, buffer);\n> > >  \t\tif (isComplete) {\n> > > +\t\t\trequest->metadata().set(controls::draft::PipelineDepth, 2);\n> >\n> > Will it be obvious to readers what the '2' stages are? Maybe later we'll\n> > somehow automatically handle it.\n> >\n> > I think hardcoding these values currently deserves an explanation of why\n> > it's only 2 (or 3 above) perhaps.\n> >\n> > But - eitherway - maybe that's overkill too.\n> \n> Please don't forget this is pipeline code, not application facing\n> code. I expect reading the proeprty documentation and noticing RAW=2,\n> YUV=3 is pretty clear to someone poking with platform code.\n> \n> I can add a comment to previous patch that add the maximum pipeline\n> depth though.\n> \n> > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\nAcked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nStarting the discussion to prepare for a non-draft implementation of\nthis, down the line, would you envision this being a stream-level\nmetadata ?\n\n> >\n> > >  \t\t\tpipe_->completeRequest(camera_, request);\n> > >  \t\t\treturn;\n> > >  \t\t}","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 D3FBABEEDF\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 12 Oct 2020 01:08:39 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 759A760D49;\n\tMon, 12 Oct 2020 03:08:39 +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 2DDF360CE0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 12 Oct 2020 03:08:38 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 68452308;\n\tMon, 12 Oct 2020 03:08:37 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"nU0YVzJE\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1602464917;\n\tbh=uDGfRjF4sJP3jMMmkxuj7hRo4h5lVcbVS2tgO6/wJX0=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=nU0YVzJEpAkQoQe1Feg2YLf4WqNra39gXfS258t/XEIhQewye8sfZp4m3/3w59BeZ\n\t0C1ud6WO097wZCVROcR9ckuHDfdMtG3XAhegsGO/fAcFlFqt8stp51fOpBuGu4dPQd\n\txaI1hkZ28s+w7y+522viAyJjeYufuwJ4T/dvawY4=","Date":"Mon, 12 Oct 2020 04:07:52 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Jacopo Mondi <jacopo@jmondi.org>","Message-ID":"<20201012010752.GP3944@pendragon.ideasonboard.com>","References":"<20201009122101.73858-1-jacopo@jmondi.org>\n\t<20201009122101.73858-7-jacopo@jmondi.org>\n\t<0aae80d3-5ef5-8d39-0438-6f7ff7873540@ideasonboard.com>\n\t<20201009125112.vlvz4xmvmf4geevo@uno.localdomain>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20201009125112.vlvz4xmvmf4geevo@uno.localdomain>","Subject":"Re: [libcamera-devel] [PATCH 06/10] libcamera: ipu3: Report\n\tpipeline depth","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>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":13189,"web_url":"https://patchwork.libcamera.org/comment/13189/","msgid":"<20201013205708.rm56qygxbrtb3xd4@uno.localdomain>","date":"2020-10-13T20:57:08","subject":"Re: [libcamera-devel] [PATCH 06/10] libcamera: ipu3: Report\n\tpipeline depth","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Laurent,\n\nOn Mon, Oct 12, 2020 at 04:07:52AM +0300, Laurent Pinchart wrote:\n> Hi Jacopo,\n>\n> Thank you for the patch.\n>\n> On Fri, Oct 09, 2020 at 02:51:12PM +0200, Jacopo Mondi wrote:\n> > On Fri, Oct 09, 2020 at 01:36:57PM +0100, Kieran Bingham wrote:\n> > > On 09/10/2020 13:20, Jacopo Mondi wrote:\n> > > > Report for each request the pipeline depth describing the number of\n> > > > processing steps the frames went through.\n> > > >\n> > > > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> > > > ---\n> > > >  src/libcamera/pipeline/ipu3/ipu3.cpp | 3 +++\n> > > >  1 file changed, 3 insertions(+)\n> > > >\n> > > > diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> > > > index f7ade2a6d5f3..413c2b8b1f07 100644\n> > > > --- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n> > > > +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> > > > @@ -12,6 +12,7 @@\n> > > >  #include <vector>\n> > > >\n> > > >  #include <libcamera/camera.h>\n> > > > +#include <libcamera/control_ids.h>\n> > > >  #include <libcamera/formats.h>\n> > > >  #include <libcamera/property_ids.h>\n> > > >  #include <libcamera/request.h>\n> > > > @@ -841,6 +842,7 @@ void IPU3CameraData::imguOutputBufferReady(FrameBuffer *buffer)\n> > > >  \t\treturn;\n> > > >\n> > > >  \t/* Mark the request as complete. */\n> > > > +\trequest->metadata().set(controls::draft::PipelineDepth, 3);\n> > > >  \tpipe_->completeRequest(camera_, request);\n> > > >  }\n> > > >\n> > > > @@ -866,6 +868,7 @@ void IPU3CameraData::cio2BufferReady(FrameBuffer *buffer)\n> > > >  \tif (request->findBuffer(&rawStream_)) {\n> > > >  \t\tbool isComplete = pipe_->completeBuffer(camera_, request, buffer);\n> > > >  \t\tif (isComplete) {\n> > > > +\t\t\trequest->metadata().set(controls::draft::PipelineDepth, 2);\n> > >\n> > > Will it be obvious to readers what the '2' stages are? Maybe later we'll\n> > > somehow automatically handle it.\n> > >\n> > > I think hardcoding these values currently deserves an explanation of why\n> > > it's only 2 (or 3 above) perhaps.\n> > >\n> > > But - eitherway - maybe that's overkill too.\n> >\n> > Please don't forget this is pipeline code, not application facing\n> > code. I expect reading the proeprty documentation and noticing RAW=2,\n> > YUV=3 is pretty clear to someone poking with platform code.\n> >\n> > I can add a comment to previous patch that add the maximum pipeline\n> > depth though.\n> >\n> > > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n>\n> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n>\n> Starting the discussion to prepare for a non-draft implementation of\n> this, down the line, would you envision this being a stream-level\n> metadata ?\n>\n\nTo really answer this question I should have a better understanding of\nhow this property is used by application.\n\nStrictly speaking, yes, each stream has its own number of processing\nsteps applied, but maybe what really matters is the total applied to a\nrequest ?\n\n> > >\n> > > >  \t\t\tpipe_->completeRequest(camera_, request);\n> > > >  \t\t\treturn;\n> > > >  \t\t}\n>\n> --\n> Regards,\n>\n> Laurent Pinchart","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 6D775BEEE0\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 13 Oct 2020 20:53:11 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id DDAE760DFD;\n\tTue, 13 Oct 2020 22:53:10 +0200 (CEST)","from relay8-d.mail.gandi.net (relay8-d.mail.gandi.net\n\t[217.70.183.201])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 64A3660589\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 13 Oct 2020 22:53:09 +0200 (CEST)","from uno.localdomain (2-224-242-101.ip172.fastwebnet.it\n\t[2.224.242.101]) (Authenticated sender: jacopo@jmondi.org)\n\tby relay8-d.mail.gandi.net (Postfix) with ESMTPSA id 98A011BF207;\n\tTue, 13 Oct 2020 20:53:08 +0000 (UTC)"],"X-Originating-IP":"2.224.242.101","Date":"Tue, 13 Oct 2020 22:57:08 +0200","From":"Jacopo Mondi <jacopo@jmondi.org>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Message-ID":"<20201013205708.rm56qygxbrtb3xd4@uno.localdomain>","References":"<20201009122101.73858-1-jacopo@jmondi.org>\n\t<20201009122101.73858-7-jacopo@jmondi.org>\n\t<0aae80d3-5ef5-8d39-0438-6f7ff7873540@ideasonboard.com>\n\t<20201009125112.vlvz4xmvmf4geevo@uno.localdomain>\n\t<20201012010752.GP3944@pendragon.ideasonboard.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20201012010752.GP3944@pendragon.ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 06/10] libcamera: ipu3: Report\n\tpipeline depth","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>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":13191,"web_url":"https://patchwork.libcamera.org/comment/13191/","msgid":"<20201013210106.se2555xdfv43kovg@uno.localdomain>","date":"2020-10-13T21:01:06","subject":"Re: [libcamera-devel] [PATCH 06/10] libcamera: ipu3: Report\n\tpipeline depth","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"On Tue, Oct 13, 2020 at 10:57:08PM +0200, Jacopo Mondi wrote:\n> Hi Laurent,\n>\n> On Mon, Oct 12, 2020 at 04:07:52AM +0300, Laurent Pinchart wrote:\n> > Hi Jacopo,\n> >\n> > Thank you for the patch.\n> >\n> > On Fri, Oct 09, 2020 at 02:51:12PM +0200, Jacopo Mondi wrote:\n> > > On Fri, Oct 09, 2020 at 01:36:57PM +0100, Kieran Bingham wrote:\n> > > > On 09/10/2020 13:20, Jacopo Mondi wrote:\n> > > > > Report for each request the pipeline depth describing the number of\n> > > > > processing steps the frames went through.\n> > > > >\n> > > > > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> > > > > ---\n> > > > >  src/libcamera/pipeline/ipu3/ipu3.cpp | 3 +++\n> > > > >  1 file changed, 3 insertions(+)\n> > > > >\n> > > > > diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> > > > > index f7ade2a6d5f3..413c2b8b1f07 100644\n> > > > > --- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n> > > > > +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> > > > > @@ -12,6 +12,7 @@\n> > > > >  #include <vector>\n> > > > >\n> > > > >  #include <libcamera/camera.h>\n> > > > > +#include <libcamera/control_ids.h>\n> > > > >  #include <libcamera/formats.h>\n> > > > >  #include <libcamera/property_ids.h>\n> > > > >  #include <libcamera/request.h>\n> > > > > @@ -841,6 +842,7 @@ void IPU3CameraData::imguOutputBufferReady(FrameBuffer *buffer)\n> > > > >  \t\treturn;\n> > > > >\n> > > > >  \t/* Mark the request as complete. */\n> > > > > +\trequest->metadata().set(controls::draft::PipelineDepth, 3);\n> > > > >  \tpipe_->completeRequest(camera_, request);\n> > > > >  }\n> > > > >\n> > > > > @@ -866,6 +868,7 @@ void IPU3CameraData::cio2BufferReady(FrameBuffer *buffer)\n> > > > >  \tif (request->findBuffer(&rawStream_)) {\n> > > > >  \t\tbool isComplete = pipe_->completeBuffer(camera_, request, buffer);\n> > > > >  \t\tif (isComplete) {\n> > > > > +\t\t\trequest->metadata().set(controls::draft::PipelineDepth, 2);\n> > > >\n> > > > Will it be obvious to readers what the '2' stages are? Maybe later we'll\n> > > > somehow automatically handle it.\n> > > >\n> > > > I think hardcoding these values currently deserves an explanation of why\n> > > > it's only 2 (or 3 above) perhaps.\n> > > >\n> > > > But - eitherway - maybe that's overkill too.\n> > >\n> > > Please don't forget this is pipeline code, not application facing\n> > > code. I expect reading the proeprty documentation and noticing RAW=2,\n> > > YUV=3 is pretty clear to someone poking with platform code.\n> > >\n> > > I can add a comment to previous patch that add the maximum pipeline\n> > > depth though.\n> > >\n> > > > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> >\n> > Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> >\n> > Starting the discussion to prepare for a non-draft implementation of\n> > this, down the line, would you envision this being a stream-level\n> > metadata ?\n> >\n>\n> To really answer this question I should have a better understanding of\n> how this property is used by application.\n>\n> Strictly speaking, yes, each stream has its own number of processing\n> steps applied, but maybe what really matters is the total applied to a\n> request ?\n>\n\nI meant \"maximum\", not \"total\", sorry\n\n> > > >\n> > > > >  \t\t\tpipe_->completeRequest(camera_, request);\n> > > > >  \t\t\treturn;\n> > > > >  \t\t}\n> >\n> > --\n> > Regards,\n> >\n> > Laurent Pinchart\n> _______________________________________________\n> libcamera-devel mailing list\n> libcamera-devel@lists.libcamera.org\n> https://lists.libcamera.org/listinfo/libcamera-devel","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 47E20BEEDF\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 13 Oct 2020 20:57:08 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D7E4A60DFD;\n\tTue, 13 Oct 2020 22:57:07 +0200 (CEST)","from relay11.mail.gandi.net (relay11.mail.gandi.net\n\t[217.70.178.231])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 85D7E60589\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 13 Oct 2020 22:57:06 +0200 (CEST)","from uno.localdomain (2-224-242-101.ip172.fastwebnet.it\n\t[2.224.242.101]) (Authenticated sender: jacopo@jmondi.org)\n\tby relay11.mail.gandi.net (Postfix) with ESMTPSA id 01FD0100003;\n\tTue, 13 Oct 2020 20:57:05 +0000 (UTC)"],"Date":"Tue, 13 Oct 2020 23:01:06 +0200","From":"Jacopo Mondi <jacopo@jmondi.org>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Message-ID":"<20201013210106.se2555xdfv43kovg@uno.localdomain>","References":"<20201009122101.73858-1-jacopo@jmondi.org>\n\t<20201009122101.73858-7-jacopo@jmondi.org>\n\t<0aae80d3-5ef5-8d39-0438-6f7ff7873540@ideasonboard.com>\n\t<20201009125112.vlvz4xmvmf4geevo@uno.localdomain>\n\t<20201012010752.GP3944@pendragon.ideasonboard.com>\n\t<20201013205708.rm56qygxbrtb3xd4@uno.localdomain>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20201013205708.rm56qygxbrtb3xd4@uno.localdomain>","Subject":"Re: [libcamera-devel] [PATCH 06/10] libcamera: ipu3: Report\n\tpipeline depth","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>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]