[{"id":29269,"web_url":"https://patchwork.libcamera.org/comment/29269/","msgid":"<3ad64a5a-c51e-40e1-a543-d8d42d1bf398@ideasonboard.com>","date":"2024-04-19T03:09:33","subject":"Re: [PATCH v2 0/4] libcamera: Replace IPU3/RkISP1FrameInfo","submitter":{"id":86,"url":"https://patchwork.libcamera.org/api/people/86/","name":"Umang Jain","email":"umang.jain@ideasonboard.com"},"content":"Hi all\n\nAny reason why this hasn't been landed in libcamera master?\n\nOn 11/03/24 6:02 pm, Jacopo Mondi wrote:\n> v1->v2:\n> - Squash patches 2 and 3 in a single one\n> - Maintain the existing behaviour for queueing RAW frames to the RkISP1 IPA\n> - Minor changes to the IPU3 patch as suggested by Dan\n>\n> Pipeline:\n> https://gitlab.freedesktop.org/pinchartl/libcamera/-/pipelines/1124683\n>\n> The RkISP1 and IPU3 pipeline have custom classes that provide the\n> following features:\n>\n> - Associate a stat, params and (optionally) a raw buffer with the id used\n>    to communicate between the pipeline handler and the IPA\n> - Associate a completed buffer with the Request it belongs to\n>\n> The same functionalities can be obtained by extending the Request::Private\n> class with a per-pipeline derived implementation that tracks buffers and ids\n> reducing code duplications.\n>\n> Jacopo Mondi (4):\n>    libcamera: Allow pipeline to provide a Private request\n>    libcamera: rkisp1: Replace usage of RkISP1FrameInfo\n>    libcamera: ipu3: Replace IPU3FrameInfo\n>    libcamera: ipu3: Return Raw buffers on error\n>\n>   include/libcamera/internal/pipeline_handler.h |   5 +-\n>   include/libcamera/request.h                   |   3 +-\n>   src/libcamera/camera.cpp                      |   8 +-\n>   src/libcamera/pipeline/ipu3/frames.cpp        | 143 -------\n>   src/libcamera/pipeline/ipu3/frames.h          |  67 ----\n>   src/libcamera/pipeline/ipu3/ipu3.cpp          | 215 +++++++----\n>   src/libcamera/pipeline/ipu3/meson.build       |   1 -\n>   src/libcamera/pipeline/rkisp1/rkisp1.cpp      | 359 +++++++-----------\n>   src/libcamera/pipeline_handler.cpp            |  38 +-\n>   src/libcamera/request.cpp                     |  15 +-\n>   test/camera/statemachine.cpp                  |  12 -\n>   11 files changed, 328 insertions(+), 538 deletions(-)\n>   delete mode 100644 src/libcamera/pipeline/ipu3/frames.cpp\n>   delete mode 100644 src/libcamera/pipeline/ipu3/frames.h\n>\n> --\n> 2.43.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 54A73C3200\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 19 Apr 2024 03:09:42 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5EE1761B17;\n\tFri, 19 Apr 2024 05:09:41 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id ED9D461B17\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 19 Apr 2024 05:09:38 +0200 (CEST)","from [192.168.1.105] (unknown [103.251.226.7])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id D92922E7;\n\tFri, 19 Apr 2024 05:08:49 +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=\"B9MenGdZ\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1713496130;\n\tbh=QZZEo9ejtKhSWyxUL1TBwRGuDev1BQJv6erKwRrW/gI=;\n\th=Date:Subject:To:References:From:In-Reply-To:From;\n\tb=B9MenGdZmpp/cbezQqZ7rl4HrGfUw+zcy/4kA2o78nA7AdBfPYyx+IJtIDQJOBpnC\n\tW3cBrGE4a6aR7cvyt33IXCOpIVOuzyyaAMC1/KFPJDJfKNZBC2Jrd9TN6EUEO0XRYt\n\ts6vFoU5F5u7oEsXMdroheUJzP024Rs1xOGrFiouA=","Message-ID":"<3ad64a5a-c51e-40e1-a543-d8d42d1bf398@ideasonboard.com>","Date":"Fri, 19 Apr 2024 08:39:33 +0530","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v2 0/4] libcamera: Replace IPU3/RkISP1FrameInfo","To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20240311123234.32925-1-jacopo.mondi@ideasonboard.com>","Content-Language":"en-US","From":"Umang Jain <umang.jain@ideasonboard.com>","In-Reply-To":"<20240311123234.32925-1-jacopo.mondi@ideasonboard.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","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":29271,"web_url":"https://patchwork.libcamera.org/comment/29271/","msgid":"<gekgbt3hhqs7hrfsz4hcwxbeclgxotkg5zdvli6avbt75rrfy7@4zvqvwfw5bsz>","date":"2024-04-19T07:13:00","subject":"Re: [PATCH v2 0/4] libcamera: Replace IPU3/RkISP1FrameInfo","submitter":{"id":143,"url":"https://patchwork.libcamera.org/api/people/143/","name":"Jacopo Mondi","email":"jacopo.mondi@ideasonboard.com"},"content":"Hi Umang,\n\nOn Fri, Apr 19, 2024 at 08:39:33AM +0530, Umang Jain wrote:\n> Hi all\n>\n> Any reason why this hasn't been landed in libcamera master?\n>\n\nSo, I've experimented a bit with changing the PH/IPA iteraction model,\nwith the idea of making the IPA running even when the application has\nnot queued requests.\n\nIt is not clear to me if this is really what we want, but if that's\nthe case, this mechanism doesn't play well with it, as it centralize in a\nRequest all the IPA-related fields.. if we will make the IPA\nfree-running without application Request being queued, this series\nwill make things more complex.\n\nSo, for the time being, please consider this series deprecated :(\n\n> On 11/03/24 6:02 pm, Jacopo Mondi wrote:\n> > v1->v2:\n> > - Squash patches 2 and 3 in a single one\n> > - Maintain the existing behaviour for queueing RAW frames to the RkISP1 IPA\n> > - Minor changes to the IPU3 patch as suggested by Dan\n> >\n> > Pipeline:\n> > https://gitlab.freedesktop.org/pinchartl/libcamera/-/pipelines/1124683\n> >\n> > The RkISP1 and IPU3 pipeline have custom classes that provide the\n> > following features:\n> >\n> > - Associate a stat, params and (optionally) a raw buffer with the id used\n> >    to communicate between the pipeline handler and the IPA\n> > - Associate a completed buffer with the Request it belongs to\n> >\n> > The same functionalities can be obtained by extending the Request::Private\n> > class with a per-pipeline derived implementation that tracks buffers and ids\n> > reducing code duplications.\n> >\n> > Jacopo Mondi (4):\n> >    libcamera: Allow pipeline to provide a Private request\n> >    libcamera: rkisp1: Replace usage of RkISP1FrameInfo\n> >    libcamera: ipu3: Replace IPU3FrameInfo\n> >    libcamera: ipu3: Return Raw buffers on error\n> >\n> >   include/libcamera/internal/pipeline_handler.h |   5 +-\n> >   include/libcamera/request.h                   |   3 +-\n> >   src/libcamera/camera.cpp                      |   8 +-\n> >   src/libcamera/pipeline/ipu3/frames.cpp        | 143 -------\n> >   src/libcamera/pipeline/ipu3/frames.h          |  67 ----\n> >   src/libcamera/pipeline/ipu3/ipu3.cpp          | 215 +++++++----\n> >   src/libcamera/pipeline/ipu3/meson.build       |   1 -\n> >   src/libcamera/pipeline/rkisp1/rkisp1.cpp      | 359 +++++++-----------\n> >   src/libcamera/pipeline_handler.cpp            |  38 +-\n> >   src/libcamera/request.cpp                     |  15 +-\n> >   test/camera/statemachine.cpp                  |  12 -\n> >   11 files changed, 328 insertions(+), 538 deletions(-)\n> >   delete mode 100644 src/libcamera/pipeline/ipu3/frames.cpp\n> >   delete mode 100644 src/libcamera/pipeline/ipu3/frames.h\n> >\n> > --\n> > 2.43.2\n> >\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 20C33C3200\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 19 Apr 2024 07:13:07 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3AF0A633ED;\n\tFri, 19 Apr 2024 09:13:06 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 1D28461B3D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 19 Apr 2024 09:13:04 +0200 (CEST)","from ideasonboard.com (93-61-96-190.ip145.fastwebnet.it\n\t[93.61.96.190])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id B19E2827;\n\tFri, 19 Apr 2024 09:12:15 +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=\"KZpoLwbe\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1713510735;\n\tbh=9gtgZHzIfBqMB5E8QpQbenbijbUTCQSLvZI4mxVoMHw=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=KZpoLwbe5dRauZrFIRSOLMdOrxDq2Aqas11RyojC/Dd3S0xsxv0ngwzrohlFynja6\n\tADIqE1UhRxlD8llhVlV9vb4kCTAdJgVBD6GZBhR0LoPYBNv00+It/GW1ePVzlwH6R1\n\tjVE2ZUzfA9oL1Lx/pegccQ7Vq9bDU+x+3wVPdPrk=","Date":"Fri, 19 Apr 2024 09:13:00 +0200","From":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","To":"Umang Jain <umang.jain@ideasonboard.com>","Cc":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>, \n\tlibcamera-devel@lists.libcamera.org","Subject":"Re: [PATCH v2 0/4] libcamera: Replace IPU3/RkISP1FrameInfo","Message-ID":"<gekgbt3hhqs7hrfsz4hcwxbeclgxotkg5zdvli6avbt75rrfy7@4zvqvwfw5bsz>","References":"<20240311123234.32925-1-jacopo.mondi@ideasonboard.com>\n\t<3ad64a5a-c51e-40e1-a543-d8d42d1bf398@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<3ad64a5a-c51e-40e1-a543-d8d42d1bf398@ideasonboard.com>","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":29272,"web_url":"https://patchwork.libcamera.org/comment/29272/","msgid":"<1a5eefaf-6116-4cc7-bc4f-8aa3a3ae35d2@ideasonboard.com>","date":"2024-04-19T07:14:51","subject":"Re: [PATCH v2 0/4] libcamera: Replace IPU3/RkISP1FrameInfo","submitter":{"id":86,"url":"https://patchwork.libcamera.org/api/people/86/","name":"Umang Jain","email":"umang.jain@ideasonboard.com"},"content":"Hi Jacopo\n\nOn 19/04/24 12:43 pm, Jacopo Mondi wrote:\n> Hi Umang,\n>\n> On Fri, Apr 19, 2024 at 08:39:33AM +0530, Umang Jain wrote:\n>> Hi all\n>>\n>> Any reason why this hasn't been landed in libcamera master?\n>>\n> So, I've experimented a bit with changing the PH/IPA iteraction model,\n> with the idea of making the IPA running even when the application has\n> not queued requests.\n>\n> It is not clear to me if this is really what we want, but if that's\n> the case, this mechanism doesn't play well with it, as it centralize in a\n> Request all the IPA-related fields.. if we will make the IPA\n> free-running without application Request being queued, this series\n> will make things more complex.\n>\n> So, for the time being, please consider this series deprecated :(\n\nThanks for the update. I had patches depending on RkISP1FrameInfo, so \nwas not sure if I have to re-do all that based on top of this series etc.\n>> On 11/03/24 6:02 pm, Jacopo Mondi wrote:\n>>> v1->v2:\n>>> - Squash patches 2 and 3 in a single one\n>>> - Maintain the existing behaviour for queueing RAW frames to the RkISP1 IPA\n>>> - Minor changes to the IPU3 patch as suggested by Dan\n>>>\n>>> Pipeline:\n>>> https://gitlab.freedesktop.org/pinchartl/libcamera/-/pipelines/1124683\n>>>\n>>> The RkISP1 and IPU3 pipeline have custom classes that provide the\n>>> following features:\n>>>\n>>> - Associate a stat, params and (optionally) a raw buffer with the id used\n>>>     to communicate between the pipeline handler and the IPA\n>>> - Associate a completed buffer with the Request it belongs to\n>>>\n>>> The same functionalities can be obtained by extending the Request::Private\n>>> class with a per-pipeline derived implementation that tracks buffers and ids\n>>> reducing code duplications.\n>>>\n>>> Jacopo Mondi (4):\n>>>     libcamera: Allow pipeline to provide a Private request\n>>>     libcamera: rkisp1: Replace usage of RkISP1FrameInfo\n>>>     libcamera: ipu3: Replace IPU3FrameInfo\n>>>     libcamera: ipu3: Return Raw buffers on error\n>>>\n>>>    include/libcamera/internal/pipeline_handler.h |   5 +-\n>>>    include/libcamera/request.h                   |   3 +-\n>>>    src/libcamera/camera.cpp                      |   8 +-\n>>>    src/libcamera/pipeline/ipu3/frames.cpp        | 143 -------\n>>>    src/libcamera/pipeline/ipu3/frames.h          |  67 ----\n>>>    src/libcamera/pipeline/ipu3/ipu3.cpp          | 215 +++++++----\n>>>    src/libcamera/pipeline/ipu3/meson.build       |   1 -\n>>>    src/libcamera/pipeline/rkisp1/rkisp1.cpp      | 359 +++++++-----------\n>>>    src/libcamera/pipeline_handler.cpp            |  38 +-\n>>>    src/libcamera/request.cpp                     |  15 +-\n>>>    test/camera/statemachine.cpp                  |  12 -\n>>>    11 files changed, 328 insertions(+), 538 deletions(-)\n>>>    delete mode 100644 src/libcamera/pipeline/ipu3/frames.cpp\n>>>    delete mode 100644 src/libcamera/pipeline/ipu3/frames.h\n>>>\n>>> --\n>>> 2.43.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 C8B0BBE08B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 19 Apr 2024 07:15:00 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id F204C633F4;\n\tFri, 19 Apr 2024 09:14:59 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 8017C61B3D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 19 Apr 2024 09:14:58 +0200 (CEST)","from [192.168.1.105] (unknown [103.251.226.115])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 45A87827;\n\tFri, 19 Apr 2024 09:14:08 +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=\"bujx6X7p\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1713510850;\n\tbh=FDAZcIwr5b7PkMQ+90J4zVVOeOx2BR39qu8ev7KPdFc=;\n\th=Date:Subject:To:Cc:References:From:In-Reply-To:From;\n\tb=bujx6X7pBWSl9QmlSLHKyDQgdws6g8+xvE9ZXg3/j0++QRIitC5/EXOuPedkiXAiS\n\tyj0QWIo4bM+OWlKX3P/MBxbbTxKyKo8aYOoiSB1rM6G7MNG0W30KWIzoepr97MWUfg\n\twlEmGm/riuA+S1sWOrk6h8piCL+Oljf4so83aWbY=","Message-ID":"<1a5eefaf-6116-4cc7-bc4f-8aa3a3ae35d2@ideasonboard.com>","Date":"Fri, 19 Apr 2024 12:44:51 +0530","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v2 0/4] libcamera: Replace IPU3/RkISP1FrameInfo","Content-Language":"en-US","To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org","References":"<20240311123234.32925-1-jacopo.mondi@ideasonboard.com>\n\t<3ad64a5a-c51e-40e1-a543-d8d42d1bf398@ideasonboard.com>\n\t<gekgbt3hhqs7hrfsz4hcwxbeclgxotkg5zdvli6avbt75rrfy7@4zvqvwfw5bsz>","From":"Umang Jain <umang.jain@ideasonboard.com>","In-Reply-To":"<gekgbt3hhqs7hrfsz4hcwxbeclgxotkg5zdvli6avbt75rrfy7@4zvqvwfw5bsz>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","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>"}}]