{"id":12604,"url":"https://patchwork.libcamera.org/api/patches/12604/?format=json","web_url":"https://patchwork.libcamera.org/patch/12604/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/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":"<20210615144211.173047-2-naush@raspberrypi.com>","date":"2021-06-15T14:42:09","name":"[libcamera-devel,1/3] ipa: raspberrypi: Embed the metadata parser in the sensor CamHelper classes","commit_ref":null,"pull_url":null,"state":"superseded","archived":false,"hash":"9c2a2969b90e03dc74395a99ce3614cdcc8ee258","submitter":{"id":34,"url":"https://patchwork.libcamera.org/api/people/34/?format=json","name":"Naushir Patuck","email":"naush@raspberrypi.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/12604/mbox/","series":[{"id":2137,"url":"https://patchwork.libcamera.org/api/series/2137/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=2137","date":"2021-06-15T14:42:08","name":"Raspberry Pi: Metadata parsing improvements (II)","version":1,"mbox":"https://patchwork.libcamera.org/series/2137/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/12604/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/12604/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 15D3CC3218\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 15 Jun 2021 14:42:19 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 551506894C;\n\tTue, 15 Jun 2021 16:42:17 +0200 (CEST)","from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com\n\t[IPv6:2a00:1450:4864:20::42e])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 6B5596029D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 15 Jun 2021 16:42:15 +0200 (CEST)","by mail-wr1-x42e.google.com with SMTP id q5so18664249wrm.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 15 Jun 2021 07:42:15 -0700 (PDT)","from naush-laptop.pitowers.org\n\t([2a00:1098:3142:14:5904:b958:1fd:d555])\n\tby smtp.gmail.com with ESMTPSA id\n\tk12sm2441142wmr.2.2021.06.15.07.42.14\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tTue, 15 Jun 2021 07:42:14 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=raspberrypi.com header.i=@raspberrypi.com\n\theader.b=\"gxKVQPIt\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google;\n\th=from:to:cc:subject:date:message-id:in-reply-to:references\n\t:mime-version:content-transfer-encoding;\n\tbh=Mx3ZUrPxq8qf2W8C1qUdwxUjpRrwA0SfOt3vj/8i03E=;\n\tb=gxKVQPItvlmPvLnNeE/hg4VHmzDYV7nCMXmcc8jWoVeQ0QHA1vEEUXN7xCcOo/cnQh\n\tt0m2Bt6ptCyq5jXWGRf9/6oAjzdskqq4z16kCu+6B0mlrPZHzDzJYDhFc+TMpQbSDOQ1\n\tX/VcHec7XAZ5AWGZrSLXrHLVDORc5/IRKG3XBejnJsdigyA+7JnjH0YsWbd8s+E3WZWZ\n\tnghSHZiWSI5v7iSkHbA/3RsuqSxhO98RXAC3SlN4Fw/b7hQxn5aAOCXXeSEJgTtXqvTd\n\tHlCBgcJzL3ho2M2ZTZ0E/LqgphEmWcHYYdefrDNXlpuXXRPS43UBokb5Gwn6oVYUZD6L\n\tie7A==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references:mime-version:content-transfer-encoding;\n\tbh=Mx3ZUrPxq8qf2W8C1qUdwxUjpRrwA0SfOt3vj/8i03E=;\n\tb=aclFIZ7MR0m6nza/L5aNOvjhoVyp2xftfB6LJH1cp2l8c3xrnRPpSNpS0rfwd1MjnJ\n\t+8QDxZ6dy0EbV87jOu251gUPzRtZY0xts5sl0BvzWfZwhnNVT8wbLooQKvl9x5OI61rX\n\t/efIWKp/uaquewNb0DQOjDch10C8obGBGcc29gV2tpaUWcTtHu4vbfQFg1dV0/2bxjy/\n\tUWQFrzellEwJziOyRX3xCDgXkdoYM3zPjhQ2XABXhW8BQg4N5Ak4IQ/Fk0ZqjSI0pzT4\n\tydsokvkeSW+Gcw53FPMNERq5GtLpNe8UvPajA0omDCaHmgNazLjU+MrGgrMmwxasCclp\n\teiTA==","X-Gm-Message-State":"AOAM533BjXa9mN1rqF7MAEtaVlo+O20/nqGh63mYe/dAxcVgKoAQjpiq\n\tk9KERt5wy60hhWNAWR+6MhZnOSKikRVW3A==","X-Google-Smtp-Source":"ABdhPJwhJY+uwun6jh4DGnOJMeClLNziatgx2KeG8ebstrh3qyjZN7uYruBQB2JrlgM0/2KvMErAZw==","X-Received":"by 2002:a5d:6d8c:: with SMTP id\n\tl12mr26371380wrs.189.1623768134887; \n\tTue, 15 Jun 2021 07:42:14 -0700 (PDT)","From":"Naushir Patuck <naush@raspberrypi.com>","To":"libcamera-devel@lists.libcamera.org","Date":"Tue, 15 Jun 2021 15:42:09 +0100","Message-Id":"<20210615144211.173047-2-naush@raspberrypi.com>","X-Mailer":"git-send-email 2.25.1","In-Reply-To":"<20210615144211.173047-1-naush@raspberrypi.com>","References":"<20210615144211.173047-1-naush@raspberrypi.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH 1/3] ipa: raspberrypi: Embed the metadata\n\tparser in the sensor CamHelper classes","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>"},"content":"This avoids the need for any dynamic allocations and lifetime management. The\nbase CamHelper class still accesses the parser through a pointer that is setup\nby the derived class constructor.\n\nSigned-off-by: Naushir Patuck <naush@raspberrypi.com>\n---\n src/ipa/raspberrypi/cam_helper.cpp        | 1 -\n src/ipa/raspberrypi/cam_helper_imx219.cpp | 4 +++-\n src/ipa/raspberrypi/cam_helper_imx477.cpp | 4 +++-\n 3 files changed, 6 insertions(+), 3 deletions(-)","diff":"diff --git a/src/ipa/raspberrypi/cam_helper.cpp b/src/ipa/raspberrypi/cam_helper.cpp\nindex 062e94c4fef3..1474464c9257 100644\n--- a/src/ipa/raspberrypi/cam_helper.cpp\n+++ b/src/ipa/raspberrypi/cam_helper.cpp\n@@ -48,7 +48,6 @@ CamHelper::CamHelper(MdParser *parser, unsigned int frameIntegrationDiff)\n \n CamHelper::~CamHelper()\n {\n-\tdelete parser_;\n }\n \n void CamHelper::Prepare(Span<const uint8_t> buffer,\ndiff --git a/src/ipa/raspberrypi/cam_helper_imx219.cpp b/src/ipa/raspberrypi/cam_helper_imx219.cpp\nindex ec218dce5456..d951cd552a21 100644\n--- a/src/ipa/raspberrypi/cam_helper_imx219.cpp\n+++ b/src/ipa/raspberrypi/cam_helper_imx219.cpp\n@@ -54,11 +54,13 @@ private:\n \t * in units of lines.\n \t */\n \tstatic constexpr int frameIntegrationDiff = 4;\n+\n+\tMdParserImx219 imx219_parser;\n };\n \n CamHelperImx219::CamHelperImx219()\n #if ENABLE_EMBEDDED_DATA\n-\t: CamHelper(new MdParserImx219(), frameIntegrationDiff)\n+\t: CamHelper(&imx219_parser, frameIntegrationDiff)\n #else\n \t: CamHelper(nullptr, frameIntegrationDiff)\n #endif\ndiff --git a/src/ipa/raspberrypi/cam_helper_imx477.cpp b/src/ipa/raspberrypi/cam_helper_imx477.cpp\nindex 25b36bce0dac..44f030ed7da9 100644\n--- a/src/ipa/raspberrypi/cam_helper_imx477.cpp\n+++ b/src/ipa/raspberrypi/cam_helper_imx477.cpp\n@@ -47,10 +47,12 @@ private:\n \t * in units of lines.\n \t */\n \tstatic constexpr int frameIntegrationDiff = 22;\n+\n+\tMdParserImx477 imx477_parser;\n };\n \n CamHelperImx477::CamHelperImx477()\n-\t: CamHelper(new MdParserImx477(), frameIntegrationDiff)\n+\t: CamHelper(&imx477_parser, frameIntegrationDiff)\n {\n }\n \n","prefixes":["libcamera-devel","1/3"]}