[{"id":15178,"web_url":"https://patchwork.libcamera.org/comment/15178/","msgid":"<CAHW6GY+Ab2sc+mftJQTG85_XQG+to9rpSDVpryyu4sXapNvwcQ@mail.gmail.com>","date":"2021-02-16T13:54:51","subject":"Re: [libcamera-devel] [PATCH 2/4] ipa: raspberrypi: Remove\n\tMdParserRPi","submitter":{"id":42,"url":"https://patchwork.libcamera.org/api/people/42/","name":"David Plowman","email":"david.plowman@raspberrypi.com"},"content":"Hi Naush\n\nThanks for this patch. Looks good to me!\n\nReviewed-by: David Plowman <david.plowman@raspberrypi.com>\n\nBest regards\nDavid\n\nOn Tue, 16 Feb 2021 at 10:32, Naushir Patuck <naush@raspberrypi.com> wrote:\n>\n> With the recent change to pass a ControlList to the IPA with exposure\n> and gain values used for a frame, RPiController::MdParserRPi is not\n> needed any more. Remove all traces of it.\n>\n> The derived CamHelper objects now pass nullptr values for the parser to\n> the base CamHelper class when sensors do not use metadata.\n>\n> Signed-off-by: Naushir Patuck <naush@raspberrypi.com>\n> ---\n>  src/ipa/raspberrypi/cam_helper.cpp        |  9 ++++--\n>  src/ipa/raspberrypi/cam_helper_imx219.cpp |  4 +--\n>  src/ipa/raspberrypi/cam_helper_ov5647.cpp |  3 +-\n>  src/ipa/raspberrypi/md_parser_rpi.cpp     | 37 -----------------------\n>  src/ipa/raspberrypi/md_parser_rpi.hpp     | 32 --------------------\n>  src/ipa/raspberrypi/meson.build           |  1 -\n>  6 files changed, 8 insertions(+), 78 deletions(-)\n>  delete mode 100644 src/ipa/raspberrypi/md_parser_rpi.cpp\n>  delete mode 100644 src/ipa/raspberrypi/md_parser_rpi.hpp\n>\n> diff --git a/src/ipa/raspberrypi/cam_helper.cpp b/src/ipa/raspberrypi/cam_helper.cpp\n> index 93d1b7b0296a..c9cdc39c5932 100644\n> --- a/src/ipa/raspberrypi/cam_helper.cpp\n> +++ b/src/ipa/raspberrypi/cam_helper.cpp\n> @@ -42,7 +42,8 @@ CamHelper::CamHelper(MdParser *parser, unsigned int frameIntegrationDiff)\n>\n>  CamHelper::~CamHelper()\n>  {\n> -       delete parser_;\n> +       if (parser_)\n> +               delete parser_;\n>  }\n>\n>  uint32_t CamHelper::ExposureLines(double exposure_us) const\n> @@ -88,8 +89,10 @@ uint32_t CamHelper::GetVBlanking(double &exposure, double minFrameDuration,\n>  void CamHelper::SetCameraMode(const CameraMode &mode)\n>  {\n>         mode_ = mode;\n> -       parser_->SetBitsPerPixel(mode.bitdepth);\n> -       parser_->SetLineLengthBytes(0); /* We use SetBufferSize. */\n> +       if (parser_) {\n> +               parser_->SetBitsPerPixel(mode.bitdepth);\n> +               parser_->SetLineLengthBytes(0); /* We use SetBufferSize. */\n> +       }\n>         initialized_ = true;\n>  }\n>\n> diff --git a/src/ipa/raspberrypi/cam_helper_imx219.cpp b/src/ipa/raspberrypi/cam_helper_imx219.cpp\n> index 95b8e698fe3b..0e454d0de2dc 100644\n> --- a/src/ipa/raspberrypi/cam_helper_imx219.cpp\n> +++ b/src/ipa/raspberrypi/cam_helper_imx219.cpp\n> @@ -19,8 +19,6 @@\n>  #include \"cam_helper.hpp\"\n>  #if ENABLE_EMBEDDED_DATA\n>  #include \"md_parser.hpp\"\n> -#else\n> -#include \"md_parser_rpi.hpp\"\n>  #endif\n>\n>  using namespace RPiController;\n> @@ -62,7 +60,7 @@ CamHelperImx219::CamHelperImx219()\n>  #if ENABLE_EMBEDDED_DATA\n>         : CamHelper(new MdParserImx219(), frameIntegrationDiff)\n>  #else\n> -       : CamHelper(new MdParserRPi(), frameIntegrationDiff)\n> +       : CamHelper(nullptr, frameIntegrationDiff)\n>  #endif\n>  {\n>  }\n> diff --git a/src/ipa/raspberrypi/cam_helper_ov5647.cpp b/src/ipa/raspberrypi/cam_helper_ov5647.cpp\n> index a7f417324048..75486e900d31 100644\n> --- a/src/ipa/raspberrypi/cam_helper_ov5647.cpp\n> +++ b/src/ipa/raspberrypi/cam_helper_ov5647.cpp\n> @@ -8,7 +8,6 @@\n>  #include <assert.h>\n>\n>  #include \"cam_helper.hpp\"\n> -#include \"md_parser_rpi.hpp\"\n>\n>  using namespace RPiController;\n>\n> @@ -38,7 +37,7 @@ private:\n>   */\n>\n>  CamHelperOv5647::CamHelperOv5647()\n> -       : CamHelper(new MdParserRPi(), frameIntegrationDiff)\n> +       : CamHelper(nullptr, frameIntegrationDiff)\n>  {\n>  }\n>\n> diff --git a/src/ipa/raspberrypi/md_parser_rpi.cpp b/src/ipa/raspberrypi/md_parser_rpi.cpp\n> deleted file mode 100644\n> index 2b0bcfc5f034..000000000000\n> --- a/src/ipa/raspberrypi/md_parser_rpi.cpp\n> +++ /dev/null\n> @@ -1,37 +0,0 @@\n> -/* SPDX-License-Identifier: BSD-2-Clause */\n> -/*\n> - * Copyright (C) 2020, Raspberry Pi (Trading) Limited\n> - *\n> - * md_parser_rpi.cpp - Metadata parser for generic Raspberry Pi metadata\n> - */\n> -\n> -#include <string.h>\n> -\n> -#include \"md_parser_rpi.hpp\"\n> -\n> -using namespace RPiController;\n> -\n> -MdParserRPi::MdParserRPi()\n> -{\n> -}\n> -\n> -MdParser::Status MdParserRPi::Parse(void *data)\n> -{\n> -       if (buffer_size_bytes_ < sizeof(rpiMetadata))\n> -               return ERROR;\n> -\n> -       memcpy(&metadata, data, sizeof(rpiMetadata));\n> -       return OK;\n> -}\n> -\n> -MdParser::Status MdParserRPi::GetExposureLines(unsigned int &lines)\n> -{\n> -       lines = metadata.exposure;\n> -       return OK;\n> -}\n> -\n> -MdParser::Status MdParserRPi::GetGainCode(unsigned int &gain_code)\n> -{\n> -       gain_code = metadata.gain;\n> -       return OK;\n> -}\n> diff --git a/src/ipa/raspberrypi/md_parser_rpi.hpp b/src/ipa/raspberrypi/md_parser_rpi.hpp\n> deleted file mode 100644\n> index 52f54f008056..000000000000\n> --- a/src/ipa/raspberrypi/md_parser_rpi.hpp\n> +++ /dev/null\n> @@ -1,32 +0,0 @@\n> -/* SPDX-License-Identifier: BSD-2-Clause */\n> -/*\n> - * Copyright (C) 2019, Raspberry Pi (Trading) Limited\n> - *\n> - * md_parser_rpi.hpp - Raspberry Pi metadata parser interface\n> - */\n> -#pragma once\n> -\n> -#include \"md_parser.hpp\"\n> -\n> -namespace RPiController {\n> -\n> -class MdParserRPi : public MdParser\n> -{\n> -public:\n> -       MdParserRPi();\n> -       Status Parse(void *data) override;\n> -       Status GetExposureLines(unsigned int &lines) override;\n> -       Status GetGainCode(unsigned int &gain_code) override;\n> -\n> -private:\n> -       // This must be the same struct that is filled into the metadata buffer\n> -       // in the pipeline handler.\n> -       struct rpiMetadata\n> -       {\n> -               uint32_t exposure;\n> -               uint32_t gain;\n> -       };\n> -       rpiMetadata metadata;\n> -};\n> -\n> -}\n> diff --git a/src/ipa/raspberrypi/meson.build b/src/ipa/raspberrypi/meson.build\n> index 9e9ea80b93ad..0baf7b7e8d4a 100644\n> --- a/src/ipa/raspberrypi/meson.build\n> +++ b/src/ipa/raspberrypi/meson.build\n> @@ -17,7 +17,6 @@ rpi_ipa_includes = [\n>  rpi_ipa_sources = files([\n>      'raspberrypi.cpp',\n>      'md_parser.cpp',\n> -    'md_parser_rpi.cpp',\n>      'cam_helper.cpp',\n>      'cam_helper_ov5647.cpp',\n>      'cam_helper_imx219.cpp',\n> --\n> 2.25.1\n>\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 7F580BD1EF\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 16 Feb 2021 13:55:06 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D6741637E5;\n\tTue, 16 Feb 2021 14:55:05 +0100 (CET)","from mail-oo1-xc2a.google.com (mail-oo1-xc2a.google.com\n\t[IPv6:2607:f8b0:4864:20::c2a])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2918A637DC\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 16 Feb 2021 14:55:04 +0100 (CET)","by mail-oo1-xc2a.google.com with SMTP id l5so2280754ooj.7\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 16 Feb 2021 05:55:04 -0800 (PST)"],"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=\"VrX2sYno\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google;\n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=1VqT8Z4XO4ERIB3TbMgWNIjfJ17f/gweRrn4XyxBy3w=;\n\tb=VrX2sYnoSaExeqZidxmbk18oWJUrFappANYnq8AxEwgovLoPyieZs9B8eOblGvO/SC\n\tVNN8iUEnJFDjCRPVf/UhVGD+qtX2xVPCXHFkU8UdFPyAMlyTgPWKKYayvABpSQwPNU5k\n\tuEims/F2EiCeEm4nfTMT6qcOWIos8Ax0MFaunrABBUmrsqznCWTd7X/9r8okVT2W3g3D\n\tOpES4Dij+nMACWbryYcmAr3m3LYlCWZdAPxDWrIqnfBQD+XAAxwdLrPP246ZKShQiZOv\n\tbR5cyAVXFnaALcqb9Svg+8Auvn1I+jGQ7ZN/iqKTcJof+9HdVV5ZimbNDnn7+KoC2nZ3\n\t/7WQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=1VqT8Z4XO4ERIB3TbMgWNIjfJ17f/gweRrn4XyxBy3w=;\n\tb=LORGnnLyoGPnFQbNWGatw6ctVN5PcTuegN+LdARENr+c2fWX4i8cHZnFfIVfR7F8o6\n\tJL/Lyn3JZcm/3c8r3ZTLddWBVvcD4R6l2ocpNu6dU6PXyV3QDdxif7ZmwQqDYoH3BqJY\n\tz1QPuh7XiLZmsGydav/heAVbZX6AKxeHC82UNeNkUXifi44CeXllwJmTR+ENRFANo7Xt\n\tm1v+CmFHQTrNYiZNfSbnLWG1rIYoLGiZkAYtYgeTYpvYZmzx06D1rj7HGmEdBFs2RKjn\n\tMlWQdyrg1LRAH/ueeXQ/MMPqTByAA2ZiC+qwK4Y6Td1yshnTfOBFT7XQipaLFCYKrUW4\n\tXPaw==","X-Gm-Message-State":"AOAM533nbS1IZoxBv3moV4VAwh5/On+kehWcAMx6GFNS5EEeGgxdsOQW\n\tlT1jrmIuFc11aQjuRCZOKt1vmgwGXRYRjlu0dihEIDwpuIABmA==","X-Google-Smtp-Source":"ABdhPJxacRWVtj8QlkRKtl2FVFjKukv1K53bNqBsOA2aJwWci2YGMCfws32EGTV+HTt1xUp5FwNnlYBfWn12k5mRPJQ=","X-Received":"by 2002:a4a:d155:: with SMTP id\n\to21mr14084064oor.72.1613483703030; \n\tTue, 16 Feb 2021 05:55:03 -0800 (PST)","MIME-Version":"1.0","References":"<20210216103140.1077307-1-naush@raspberrypi.com>\n\t<20210216103140.1077307-3-naush@raspberrypi.com>","In-Reply-To":"<20210216103140.1077307-3-naush@raspberrypi.com>","From":"David Plowman <david.plowman@raspberrypi.com>","Date":"Tue, 16 Feb 2021 13:54:51 +0000","Message-ID":"<CAHW6GY+Ab2sc+mftJQTG85_XQG+to9rpSDVpryyu4sXapNvwcQ@mail.gmail.com>","To":"Naushir Patuck <naush@raspberrypi.com>","Subject":"Re: [libcamera-devel] [PATCH 2/4] ipa: raspberrypi: Remove\n\tMdParserRPi","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 <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":15182,"web_url":"https://patchwork.libcamera.org/comment/15182/","msgid":"<YCxYgDcMds5d1oNJ@pendragon.ideasonboard.com>","date":"2021-02-16T23:42:56","subject":"Re: [libcamera-devel] [PATCH 2/4] ipa: raspberrypi: Remove\n\tMdParserRPi","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Naush,\n\nThank you for the patch.\n\nOn Tue, Feb 16, 2021 at 10:31:38AM +0000, Naushir Patuck wrote:\n> With the recent change to pass a ControlList to the IPA with exposure\n> and gain values used for a frame, RPiController::MdParserRPi is not\n> needed any more. Remove all traces of it.\n> \n> The derived CamHelper objects now pass nullptr values for the parser to\n> the base CamHelper class when sensors do not use metadata.\n> \n> Signed-off-by: Naushir Patuck <naush@raspberrypi.com>\n> ---\n>  src/ipa/raspberrypi/cam_helper.cpp        |  9 ++++--\n>  src/ipa/raspberrypi/cam_helper_imx219.cpp |  4 +--\n>  src/ipa/raspberrypi/cam_helper_ov5647.cpp |  3 +-\n>  src/ipa/raspberrypi/md_parser_rpi.cpp     | 37 -----------------------\n>  src/ipa/raspberrypi/md_parser_rpi.hpp     | 32 --------------------\n>  src/ipa/raspberrypi/meson.build           |  1 -\n>  6 files changed, 8 insertions(+), 78 deletions(-)\n>  delete mode 100644 src/ipa/raspberrypi/md_parser_rpi.cpp\n>  delete mode 100644 src/ipa/raspberrypi/md_parser_rpi.hpp\n> \n> diff --git a/src/ipa/raspberrypi/cam_helper.cpp b/src/ipa/raspberrypi/cam_helper.cpp\n> index 93d1b7b0296a..c9cdc39c5932 100644\n> --- a/src/ipa/raspberrypi/cam_helper.cpp\n> +++ b/src/ipa/raspberrypi/cam_helper.cpp\n> @@ -42,7 +42,8 @@ CamHelper::CamHelper(MdParser *parser, unsigned int frameIntegrationDiff)\n>  \n>  CamHelper::~CamHelper()\n>  {\n> -\tdelete parser_;\n> +\tif (parser_)\n> +\t\tdelete parser_;\n\nYou can delete a nullptr, that's a no-op, so this change isn't needed.\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n>  }\n>  \n>  uint32_t CamHelper::ExposureLines(double exposure_us) const\n> @@ -88,8 +89,10 @@ uint32_t CamHelper::GetVBlanking(double &exposure, double minFrameDuration,\n>  void CamHelper::SetCameraMode(const CameraMode &mode)\n>  {\n>  \tmode_ = mode;\n> -\tparser_->SetBitsPerPixel(mode.bitdepth);\n> -\tparser_->SetLineLengthBytes(0); /* We use SetBufferSize. */\n> +\tif (parser_) {\n> +\t\tparser_->SetBitsPerPixel(mode.bitdepth);\n> +\t\tparser_->SetLineLengthBytes(0); /* We use SetBufferSize. */\n> +\t}\n>  \tinitialized_ = true;\n>  }\n>  \n> diff --git a/src/ipa/raspberrypi/cam_helper_imx219.cpp b/src/ipa/raspberrypi/cam_helper_imx219.cpp\n> index 95b8e698fe3b..0e454d0de2dc 100644\n> --- a/src/ipa/raspberrypi/cam_helper_imx219.cpp\n> +++ b/src/ipa/raspberrypi/cam_helper_imx219.cpp\n> @@ -19,8 +19,6 @@\n>  #include \"cam_helper.hpp\"\n>  #if ENABLE_EMBEDDED_DATA\n>  #include \"md_parser.hpp\"\n> -#else\n> -#include \"md_parser_rpi.hpp\"\n>  #endif\n>  \n>  using namespace RPiController;\n> @@ -62,7 +60,7 @@ CamHelperImx219::CamHelperImx219()\n>  #if ENABLE_EMBEDDED_DATA\n>  \t: CamHelper(new MdParserImx219(), frameIntegrationDiff)\n>  #else\n> -\t: CamHelper(new MdParserRPi(), frameIntegrationDiff)\n> +\t: CamHelper(nullptr, frameIntegrationDiff)\n>  #endif\n>  {\n>  }\n> diff --git a/src/ipa/raspberrypi/cam_helper_ov5647.cpp b/src/ipa/raspberrypi/cam_helper_ov5647.cpp\n> index a7f417324048..75486e900d31 100644\n> --- a/src/ipa/raspberrypi/cam_helper_ov5647.cpp\n> +++ b/src/ipa/raspberrypi/cam_helper_ov5647.cpp\n> @@ -8,7 +8,6 @@\n>  #include <assert.h>\n>  \n>  #include \"cam_helper.hpp\"\n> -#include \"md_parser_rpi.hpp\"\n>  \n>  using namespace RPiController;\n>  \n> @@ -38,7 +37,7 @@ private:\n>   */\n>  \n>  CamHelperOv5647::CamHelperOv5647()\n> -\t: CamHelper(new MdParserRPi(), frameIntegrationDiff)\n> +\t: CamHelper(nullptr, frameIntegrationDiff)\n>  {\n>  }\n>  \n> diff --git a/src/ipa/raspberrypi/md_parser_rpi.cpp b/src/ipa/raspberrypi/md_parser_rpi.cpp\n> deleted file mode 100644\n> index 2b0bcfc5f034..000000000000\n> --- a/src/ipa/raspberrypi/md_parser_rpi.cpp\n> +++ /dev/null\n> @@ -1,37 +0,0 @@\n> -/* SPDX-License-Identifier: BSD-2-Clause */\n> -/*\n> - * Copyright (C) 2020, Raspberry Pi (Trading) Limited\n> - *\n> - * md_parser_rpi.cpp - Metadata parser for generic Raspberry Pi metadata\n> - */\n> -\n> -#include <string.h>\n> -\n> -#include \"md_parser_rpi.hpp\"\n> -\n> -using namespace RPiController;\n> -\n> -MdParserRPi::MdParserRPi()\n> -{\n> -}\n> -\n> -MdParser::Status MdParserRPi::Parse(void *data)\n> -{\n> -\tif (buffer_size_bytes_ < sizeof(rpiMetadata))\n> -\t\treturn ERROR;\n> -\n> -\tmemcpy(&metadata, data, sizeof(rpiMetadata));\n> -\treturn OK;\n> -}\n> -\n> -MdParser::Status MdParserRPi::GetExposureLines(unsigned int &lines)\n> -{\n> -\tlines = metadata.exposure;\n> -\treturn OK;\n> -}\n> -\n> -MdParser::Status MdParserRPi::GetGainCode(unsigned int &gain_code)\n> -{\n> -\tgain_code = metadata.gain;\n> -\treturn OK;\n> -}\n> diff --git a/src/ipa/raspberrypi/md_parser_rpi.hpp b/src/ipa/raspberrypi/md_parser_rpi.hpp\n> deleted file mode 100644\n> index 52f54f008056..000000000000\n> --- a/src/ipa/raspberrypi/md_parser_rpi.hpp\n> +++ /dev/null\n> @@ -1,32 +0,0 @@\n> -/* SPDX-License-Identifier: BSD-2-Clause */\n> -/*\n> - * Copyright (C) 2019, Raspberry Pi (Trading) Limited\n> - *\n> - * md_parser_rpi.hpp - Raspberry Pi metadata parser interface\n> - */\n> -#pragma once\n> -\n> -#include \"md_parser.hpp\"\n> -\n> -namespace RPiController {\n> -\n> -class MdParserRPi : public MdParser\n> -{\n> -public:\n> -\tMdParserRPi();\n> -\tStatus Parse(void *data) override;\n> -\tStatus GetExposureLines(unsigned int &lines) override;\n> -\tStatus GetGainCode(unsigned int &gain_code) override;\n> -\n> -private:\n> -\t// This must be the same struct that is filled into the metadata buffer\n> -\t// in the pipeline handler.\n> -\tstruct rpiMetadata\n> -\t{\n> -\t\tuint32_t exposure;\n> -\t\tuint32_t gain;\n> -\t};\n> -\trpiMetadata metadata;\n> -};\n> -\n> -}\n> diff --git a/src/ipa/raspberrypi/meson.build b/src/ipa/raspberrypi/meson.build\n> index 9e9ea80b93ad..0baf7b7e8d4a 100644\n> --- a/src/ipa/raspberrypi/meson.build\n> +++ b/src/ipa/raspberrypi/meson.build\n> @@ -17,7 +17,6 @@ rpi_ipa_includes = [\n>  rpi_ipa_sources = files([\n>      'raspberrypi.cpp',\n>      'md_parser.cpp',\n> -    'md_parser_rpi.cpp',\n>      'cam_helper.cpp',\n>      'cam_helper_ov5647.cpp',\n>      'cam_helper_imx219.cpp',","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 634CBBD1F1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 16 Feb 2021 23:43:25 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D340C637EF;\n\tWed, 17 Feb 2021 00:43:24 +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 17CA76165D\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 17 Feb 2021 00:43:23 +0100 (CET)","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 7DEBC8EF;\n\tWed, 17 Feb 2021 00:43:22 +0100 (CET)"],"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=\"Kt5WV8db\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1613519002;\n\tbh=fES9Y3wRACfG2QAzCbqi9Gz6W74JuPVz60xLnlUgZTA=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=Kt5WV8dbeec6qXZ2Dztpkgy8Ae9vmUoWdC470zwfNlwzRu6X20tyyLxOMLEtgcenX\n\tsz1lF4pBWSoj5JLJr03O1tZG0TeWZSOTsaS1DNRNzT8vCViwuzEV5lWssbr2EaUk28\n\tuJOJ5H7w7GglZ7XAtpyB1+qlU9LS2vqy+WbJb8YY=","Date":"Wed, 17 Feb 2021 01:42:56 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Naushir Patuck <naush@raspberrypi.com>","Message-ID":"<YCxYgDcMds5d1oNJ@pendragon.ideasonboard.com>","References":"<20210216103140.1077307-1-naush@raspberrypi.com>\n\t<20210216103140.1077307-3-naush@raspberrypi.com>","MIME-Version":"1.0","Content-Disposition":"inline","In-Reply-To":"<20210216103140.1077307-3-naush@raspberrypi.com>","Subject":"Re: [libcamera-devel] [PATCH 2/4] ipa: raspberrypi: Remove\n\tMdParserRPi","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>"}}]