{"id":19524,"url":"https://patchwork.libcamera.org/api/1.1/patches/19524/?format=json","web_url":"https://patchwork.libcamera.org/patch/19524/","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":"<20240221174015.52958-3-jacopo.mondi@ideasonboard.com>","date":"2024-02-21T17:40:10","name":"[2/5] libcamera: rkisp1: Create a request with a custom private class","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"1eb530fae4fda86e32e70daca993c01293089c7e","submitter":{"id":143,"url":"https://patchwork.libcamera.org/api/1.1/people/143/?format=json","name":"Jacopo Mondi","email":"jacopo.mondi@ideasonboard.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/19524/mbox/","series":[{"id":4176,"url":"https://patchwork.libcamera.org/api/1.1/series/4176/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4176","date":"2024-02-21T17:40:08","name":"libcamera: Replace IPU3/RkISP1FrameInfo","version":1,"mbox":"https://patchwork.libcamera.org/series/4176/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/19524/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/19524/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 55201C3263\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 21 Feb 2024 17:40:34 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C8D7462816;\n\tWed, 21 Feb 2024 18:40:30 +0100 (CET)","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 0CE1561C9D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 21 Feb 2024 18:40:28 +0100 (CET)","from localhost.localdomain (unknown\n\t[IPv6:2001:b07:5d2e:52c9:cc1e:e404:491f:e6ea])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 0483F2B3;\n\tWed, 21 Feb 2024 18:40:19 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"NQVhpOPS\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1708537220;\n\tbh=3z7DvESK+liXlMgHMPObKGRjmwfcjoLZ0B7SC62+AIY=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=NQVhpOPS/TLzH+8w3MeRSvnYZdPhV4cuEd4zUEGaH9aYEYFezdMiM9yiV0+QIxJ/v\n\tu/emnfWF/kNCwH7pXHQvZto7KV9JI9HezVm8CZZpJ92ZrjRpNZ2P1F+gOdW9wERfYi\n\tB2lAtZ7+p6HM/qmONw33dRJ2heD3hYEU9JRlx3i4=","From":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Subject":"[PATCH 2/5] libcamera: rkisp1: Create a request with a custom\n\tprivate class","Date":"Wed, 21 Feb 2024 18:40:10 +0100","Message-ID":"<20240221174015.52958-3-jacopo.mondi@ideasonboard.com>","X-Mailer":"git-send-email 2.43.0","In-Reply-To":"<20240221174015.52958-1-jacopo.mondi@ideasonboard.com>","References":"<20240221174015.52958-1-jacopo.mondi@ideasonboard.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","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":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n---\n src/libcamera/pipeline/rkisp1/rkisp1.cpp | 19 +++++++++++++++++++\n 1 file changed, 19 insertions(+)","diff":"diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\nindex 586b46d64630..e981e60758f7 100644\n--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n@@ -39,6 +39,7 @@\n #include \"libcamera/internal/ipa_manager.h\"\n #include \"libcamera/internal/media_device.h\"\n #include \"libcamera/internal/pipeline_handler.h\"\n+#include \"libcamera/internal/request.h\"\n #include \"libcamera/internal/v4l2_subdevice.h\"\n #include \"libcamera/internal/v4l2_videodevice.h\"\n \n@@ -83,6 +84,15 @@ private:\n \tstd::map<unsigned int, RkISP1FrameInfo *> frameInfo_;\n };\n \n+class RkISP1Request : public Request::Private\n+{\n+public:\n+\tRkISP1Request(Camera *camera)\n+\t\t: Request::Private(camera)\n+\t{\n+\t}\n+};\n+\n class RkISP1CameraData : public Camera::Private\n {\n public:\n@@ -157,6 +167,8 @@ public:\n \tint start(Camera *camera, const ControlList *controls) override;\n \tvoid stopDevice(Camera *camera) override;\n \n+\tstd::unique_ptr<Request> createRequestDevice(Camera *camera,\n+\t\t\t\t\t\t     uint64_t cookie) override;\n \tint queueRequestDevice(Camera *camera, Request *request) override;\n \n \tbool match(DeviceEnumerator *enumerator) override;\n@@ -1020,6 +1032,13 @@ void PipelineHandlerRkISP1::stopDevice(Camera *camera)\n \tactiveCamera_ = nullptr;\n }\n \n+std::unique_ptr<Request> PipelineHandlerRkISP1::createRequestDevice(Camera *camera,\n+\t\t\t\t\t\t\t\t    uint64_t cookie)\n+{\n+\tauto request = std::make_unique<RkISP1Request>(camera);\n+\treturn Request::create(std::move(request), cookie);\n+}\n+\n int PipelineHandlerRkISP1::queueRequestDevice(Camera *camera, Request *request)\n {\n \tRkISP1CameraData *data = cameraData(camera);\n","prefixes":["2/5"]}