[{"id":39174,"web_url":"https://patchwork.libcamera.org/comment/39174/","msgid":"<20260618125112.GC3345533@killaraus.ideasonboard.com>","date":"2026-06-18T12:51:12","subject":"Re: [PATCH 2/2] ipa: rpi: Add cam_helper for Sony IMX678","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Thu, Jun 18, 2026 at 05:18:40PM +0530, Jai Luthra wrote:\n> From: will whang <will@willwhang.com>\n> \n> This adds a basic cam helper for Sony IMX678, taken from Will Whang's\n> github.\n> \n> Link: https://github.com/will127534/libcamera/commit/619459e7c70306ba18476\n> Signed-off-by: will whang <will@willwhang.com>\n> [fix copyright notice, comments and whitespace]\n> Signed-off-by: Jai Luthra <jai.luthra@ideasonboard.com>\n> ---\n>  src/ipa/rpi/cam_helper/cam_helper_imx678.cpp | 69 ++++++++++++++++++++++++++++\n>  src/ipa/rpi/cam_helper/meson.build           |  1 +\n>  2 files changed, 70 insertions(+)\n> \n> diff --git a/src/ipa/rpi/cam_helper/cam_helper_imx678.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx678.cpp\n> new file mode 100644\n> index 000000000..43fc6ae54\n> --- /dev/null\n> +++ b/src/ipa/rpi/cam_helper/cam_helper_imx678.cpp\n> @@ -0,0 +1,69 @@\n> +/* SPDX-License-Identifier: BSD-2-Clause */\n> +/*\n> + * Copyright (C) 2026, Will Whang\n> + *\n> + * cam_helper_imx678.cpp - camera information for Sony IMX678 sensor\n> + */\n> +\n> +#include <assert.h>\n> +\n> +#include \"cam_helper.h\"\n> +#include \"math.h\"\n> +using namespace RPiController;\n> +\n> +class CamHelperImx678 : public CamHelper\n> +{\n> +public:\n> +\tCamHelperImx678();\n> +\tuint32_t gainCode(double gain) const override;\n> +\tdouble gain(uint32_t gainCode) const override;\n> +\tunsigned int hideFramesStartup() const override;\n> +\tunsigned int hideFramesModeSwitch() const override;\n> +\n> +private:\n> +\t/*\n> +\t * Smallest difference between the frame length and integration time,\n> +\t * in units of lines.\n> +\t */\n> +\tstatic constexpr int frameIntegrationDiff = 4;\n> +};\n> +\n> +/*\n> + * IMX678 doesn't output metadata, so we have to use the \"unicam parser\" which\n> + * works by counting frames.\n\nI assume this is a software limitation of the existing driver. It's fine\nfor the time being.\n\n> + */\n> +\n> +CamHelperImx678::CamHelperImx678()\n> +\t: CamHelper({}, frameIntegrationDiff)\n> +{\n> +}\n> +\n> +uint32_t CamHelperImx678::gainCode(double gain) const\n> +{\n> +\tint code = 66.6667 * log10(gain);\n> +\treturn std::max(0, std::min(code, 0xf0));\n> +}\n> +\n> +double CamHelperImx678::gain(uint32_t gainCode) const\n> +{\n> +\treturn pow(10, 0.015 * gainCode);\n> +}\n> +\n> +unsigned int CamHelperImx678::hideFramesStartup() const\n> +{\n> +\t/* On startup, we seem to get 1 bad frame. */\n> +\treturn 1;\n\nHave you tested that ? How \"bad\" is the frame ?\n\n> +}\n> +\n> +unsigned int CamHelperImx678::hideFramesModeSwitch() const\n> +{\n> +\t/* After a mode switch, we seem to get 1 bad frame. */\n> +\treturn 1;\n> +}\n> +\n> +static CamHelper *create()\n> +{\n> +\treturn new CamHelperImx678();\n> +}\n> +\n> +static RegisterCamHelper reg(\"imx678\", &create);\n> diff --git a/src/ipa/rpi/cam_helper/meson.build b/src/ipa/rpi/cam_helper/meson.build\n> index 87b6a3600..eabd55dce 100644\n> --- a/src/ipa/rpi/cam_helper/meson.build\n> +++ b/src/ipa/rpi/cam_helper/meson.build\n> @@ -10,6 +10,7 @@ rpi_ipa_cam_helper_sources = files([\n>      'cam_helper_imx415.cpp',\n>      'cam_helper_imx477.cpp',\n>      'cam_helper_imx519.cpp',\n> +    'cam_helper_imx678.cpp',\n>      'cam_helper_imx708.cpp',\n>      'cam_helper_ov64a40.cpp',\n>      'cam_helper_ov7251.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 C2982C3261\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 18 Jun 2026 12:51:15 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 6DFE162B2B;\n\tThu, 18 Jun 2026 14:51:15 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B30E46298A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 18 Jun 2026 14:51:13 +0200 (CEST)","from killaraus.ideasonboard.com\n\t(2001-14ba-70f3-e800--a06.rev.dnainternet.fi\n\t[IPv6:2001:14ba:70f3:e800::a06])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 9D4804DC;\n\tThu, 18 Jun 2026 14:50:38 +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=\"Ie96LsuH\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1781787038;\n\tbh=bIjQIu0PxgFDXHjsdEa6QUUiGJJwOGzC6JPN0nbfCS0=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=Ie96LsuHJFY85WMitogH1vneBXxxLgIK4coxv0KjiogHPWBNI+jcWHFwg4zKaXkwu\n\tqcXjBtH0uUwUUHw3pYlOXBkNWrXlh/hnQnScwaTPnCnsMljAvFAVg0gBEgpcxnfyFM\n\tZsalQnGDwcrDnsBN1XHJYyYniVOdOJaSbfGQyHxk=","Date":"Thu, 18 Jun 2026 15:51:12 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Jai Luthra <jai.luthra@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org,\n\tKieran Bingham <kieran.bingham@ideasonboard.com>,\n\twill whang <will@willwhang.com>","Subject":"Re: [PATCH 2/2] ipa: rpi: Add cam_helper for Sony IMX678","Message-ID":"<20260618125112.GC3345533@killaraus.ideasonboard.com>","References":"<20260618-imx678-v1-0-646e09a63692@ideasonboard.com>\n\t<20260618-imx678-v1-2-646e09a63692@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20260618-imx678-v1-2-646e09a63692@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":39176,"web_url":"https://patchwork.libcamera.org/comment/39176/","msgid":"<178179096673.1799417.4597338840714454454@freya>","date":"2026-06-18T13:56:06","subject":"Re: [PATCH 2/2] ipa: rpi: Add cam_helper for Sony IMX678","submitter":{"id":223,"url":"https://patchwork.libcamera.org/api/people/223/","name":"Jai Luthra","email":"jai.luthra@ideasonboard.com"},"content":"Hi Laurent,\n\nThanks for the review.\n\nQuoting Laurent Pinchart (2026-06-18 18:21:12)\n> On Thu, Jun 18, 2026 at 05:18:40PM +0530, Jai Luthra wrote:\n> > From: will whang <will@willwhang.com>\n> > \n> > This adds a basic cam helper for Sony IMX678, taken from Will Whang's\n> > github.\n> > \n> > Link: https://github.com/will127534/libcamera/commit/619459e7c70306ba18476\n> > Signed-off-by: will whang <will@willwhang.com>\n> > [fix copyright notice, comments and whitespace]\n> > Signed-off-by: Jai Luthra <jai.luthra@ideasonboard.com>\n> > ---\n> >  src/ipa/rpi/cam_helper/cam_helper_imx678.cpp | 69 ++++++++++++++++++++++++++++\n> >  src/ipa/rpi/cam_helper/meson.build           |  1 +\n> >  2 files changed, 70 insertions(+)\n> > \n> > diff --git a/src/ipa/rpi/cam_helper/cam_helper_imx678.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx678.cpp\n> > new file mode 100644\n> > index 000000000..43fc6ae54\n> > --- /dev/null\n> > +++ b/src/ipa/rpi/cam_helper/cam_helper_imx678.cpp\n> > @@ -0,0 +1,69 @@\n> > +/* SPDX-License-Identifier: BSD-2-Clause */\n> > +/*\n> > + * Copyright (C) 2026, Will Whang\n> > + *\n> > + * cam_helper_imx678.cpp - camera information for Sony IMX678 sensor\n> > + */\n> > +\n> > +#include <assert.h>\n> > +\n> > +#include \"cam_helper.h\"\n> > +#include \"math.h\"\n> > +using namespace RPiController;\n> > +\n> > +class CamHelperImx678 : public CamHelper\n> > +{\n> > +public:\n> > +     CamHelperImx678();\n> > +     uint32_t gainCode(double gain) const override;\n> > +     double gain(uint32_t gainCode) const override;\n> > +     unsigned int hideFramesStartup() const override;\n> > +     unsigned int hideFramesModeSwitch() const override;\n> > +\n> > +private:\n> > +     /*\n> > +      * Smallest difference between the frame length and integration time,\n> > +      * in units of lines.\n> > +      */\n> > +     static constexpr int frameIntegrationDiff = 4;\n> > +};\n> > +\n> > +/*\n> > + * IMX678 doesn't output metadata, so we have to use the \"unicam parser\" which\n> > + * works by counting frames.\n> \n> I assume this is a software limitation of the existing driver. It's fine\n> for the time being.\n> \n\nIndeed, I'll reword the comment in v2 to make it clearer.\n\n> > + */\n> > +\n> > +CamHelperImx678::CamHelperImx678()\n> > +     : CamHelper({}, frameIntegrationDiff)\n> > +{\n> > +}\n> > +\n> > +uint32_t CamHelperImx678::gainCode(double gain) const\n> > +{\n> > +     int code = 66.6667 * log10(gain);\n> > +     return std::max(0, std::min(code, 0xf0));\n> > +}\n> > +\n> > +double CamHelperImx678::gain(uint32_t gainCode) const\n> > +{\n> > +     return pow(10, 0.015 * gainCode);\n> > +}\n> > +\n> > +unsigned int CamHelperImx678::hideFramesStartup() const\n> > +{\n> > +     /* On startup, we seem to get 1 bad frame. */\n> > +     return 1;\n> \n> Have you tested that ? How \"bad\" is the frame ?\n> \n\nSorry I didn't test that before, doing it now I don't see any issues when\nthis (and the below function) are returning 0.\n\nIt's possible something got fixed in the startup sequence compared to the\ndriver Will was using.\n\nWill update these in v2.\n\n> > +}\n> > +\n> > +unsigned int CamHelperImx678::hideFramesModeSwitch() const\n> > +{\n> > +     /* After a mode switch, we seem to get 1 bad frame. */\n> > +     return 1;\n> > +}\n> > +\n> > +static CamHelper *create()\n> > +{\n> > +     return new CamHelperImx678();\n> > +}\n> > +\n> > +static RegisterCamHelper reg(\"imx678\", &create);\n> > diff --git a/src/ipa/rpi/cam_helper/meson.build b/src/ipa/rpi/cam_helper/meson.build\n> > index 87b6a3600..eabd55dce 100644\n> > --- a/src/ipa/rpi/cam_helper/meson.build\n> > +++ b/src/ipa/rpi/cam_helper/meson.build\n> > @@ -10,6 +10,7 @@ rpi_ipa_cam_helper_sources = files([\n> >      'cam_helper_imx415.cpp',\n> >      'cam_helper_imx477.cpp',\n> >      'cam_helper_imx519.cpp',\n> > +    'cam_helper_imx678.cpp',\n> >      'cam_helper_imx708.cpp',\n> >      'cam_helper_ov64a40.cpp',\n> >      'cam_helper_ov7251.cpp',\n> \n> -- \n> Regards,\n> \n> Laurent Pinchart\n\nThanks,\nJai","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 CFDFCBF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 18 Jun 2026 13:56:14 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B712E6298D;\n\tThu, 18 Jun 2026 15:56:13 +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 840EB61754\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 18 Jun 2026 15:56:12 +0200 (CEST)","from mail.ideasonboard.com (unknown\n\t[IPv6:2401:4900:1c68:bcf2:9325:a9bd:32b:e71])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id EC4088E0;\n\tThu, 18 Jun 2026 15:55:36 +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=\"fOXX/3Ag\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1781790937;\n\tbh=fua1qMPeqK+mk6vmbVMAYALDljxhL42FI7pcef7Afnw=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=fOXX/3AgGl7rvUKGRzHIUyPIZ7nNiiojp5K+zhcmXGnatyBfkBdNm1rjLvrldWy/i\n\tiQuGRp0mtdNGH3D7RZQ2wRd1dpGqHoej+GvzjfjrwxAfkNcV9rPVwB3P6cVFLag1y0\n\txE89KNCGShi+QNJDMA0qB/29pjRnaceQgDDGRGDQ=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20260618125112.GC3345533@killaraus.ideasonboard.com>","References":"<20260618-imx678-v1-0-646e09a63692@ideasonboard.com>\n\t<20260618-imx678-v1-2-646e09a63692@ideasonboard.com>\n\t<20260618125112.GC3345533@killaraus.ideasonboard.com>","Subject":"Re: [PATCH 2/2] ipa: rpi: Add cam_helper for Sony IMX678","From":"Jai Luthra <jai.luthra@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org,\n\tKieran Bingham <kieran.bingham@ideasonboard.com>,\n\twill whang <will@willwhang.com>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Date":"Thu, 18 Jun 2026 19:26:06 +0530","Message-ID":"<178179096673.1799417.4597338840714454454@freya>","User-Agent":"alot/0.13.dev35+g4a69c46ca","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":39177,"web_url":"https://patchwork.libcamera.org/comment/39177/","msgid":"<178179198664.861173.13151987488931482417@ping.linuxembedded.co.uk>","date":"2026-06-18T14:13:06","subject":"Re: [PATCH 2/2] ipa: rpi: Add cam_helper for Sony IMX678","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Jai Luthra (2026-06-18 14:56:06)\n> Hi Laurent,\n> \n> Thanks for the review.\n> \n> Quoting Laurent Pinchart (2026-06-18 18:21:12)\n> > On Thu, Jun 18, 2026 at 05:18:40PM +0530, Jai Luthra wrote:\n> > > From: will whang <will@willwhang.com>\n> > > \n> > > This adds a basic cam helper for Sony IMX678, taken from Will Whang's\n> > > github.\n\nI don't think \"taken from Will Whangs' github is the focus point of the\ncommit message. Especially as you've kept Will as the author so suddenly\nthis sounds like \"I took this from my repo\".\n\nWhen you respin, could you make this about the content of the patch\nplease?\n\nKeeping the link reference below is still a good idea though.\n\n> > > \n> > > Link: https://github.com/will127534/libcamera/commit/619459e7c70306ba18476\n> > > Signed-off-by: will whang <will@willwhang.com>\n> > > [fix copyright notice, comments and whitespace]\n> > > Signed-off-by: Jai Luthra <jai.luthra@ideasonboard.com>\n> > > ---\n> > >  src/ipa/rpi/cam_helper/cam_helper_imx678.cpp | 69 ++++++++++++++++++++++++++++\n> > >  src/ipa/rpi/cam_helper/meson.build           |  1 +\n> > >  2 files changed, 70 insertions(+)\n> > > \n> > > diff --git a/src/ipa/rpi/cam_helper/cam_helper_imx678.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx678.cpp\n> > > new file mode 100644\n> > > index 000000000..43fc6ae54\n> > > --- /dev/null\n> > > +++ b/src/ipa/rpi/cam_helper/cam_helper_imx678.cpp\n> > > @@ -0,0 +1,69 @@\n> > > +/* SPDX-License-Identifier: BSD-2-Clause */\n> > > +/*\n> > > + * Copyright (C) 2026, Will Whang\n> > > + *\n> > > + * cam_helper_imx678.cpp - camera information for Sony IMX678 sensor\n> > > + */\n> > > +\n> > > +#include <assert.h>\n> > > +\n> > > +#include \"cam_helper.h\"\n> > > +#include \"math.h\"\n> > > +using namespace RPiController;\n> > > +\n> > > +class CamHelperImx678 : public CamHelper\n> > > +{\n> > > +public:\n> > > +     CamHelperImx678();\n> > > +     uint32_t gainCode(double gain) const override;\n> > > +     double gain(uint32_t gainCode) const override;\n> > > +     unsigned int hideFramesStartup() const override;\n> > > +     unsigned int hideFramesModeSwitch() const override;\n> > > +\n> > > +private:\n> > > +     /*\n> > > +      * Smallest difference between the frame length and integration time,\n> > > +      * in units of lines.\n> > > +      */\n> > > +     static constexpr int frameIntegrationDiff = 4;\n> > > +};\n> > > +\n> > > +/*\n> > > + * IMX678 doesn't output metadata, so we have to use the \"unicam parser\" which\n> > > + * works by counting frames.\n> > \n> > I assume this is a software limitation of the existing driver. It's fine\n> > for the time being.\n> > \n> \n> Indeed, I'll reword the comment in v2 to make it clearer.\n> \n> > > + */\n> > > +\n> > > +CamHelperImx678::CamHelperImx678()\n> > > +     : CamHelper({}, frameIntegrationDiff)\n> > > +{\n> > > +}\n> > > +\n> > > +uint32_t CamHelperImx678::gainCode(double gain) const\n> > > +{\n> > > +     int code = 66.6667 * log10(gain);\n> > > +     return std::max(0, std::min(code, 0xf0));\n> > > +}\n> > > +\n> > > +double CamHelperImx678::gain(uint32_t gainCode) const\n> > > +{\n> > > +     return pow(10, 0.015 * gainCode);\n> > > +}\n> > > +\n> > > +unsigned int CamHelperImx678::hideFramesStartup() const\n> > > +{\n> > > +     /* On startup, we seem to get 1 bad frame. */\n> > > +     return 1;\n> > \n> > Have you tested that ? How \"bad\" is the frame ?\n> > \n> \n> Sorry I didn't test that before, doing it now I don't see any issues when\n> this (and the below function) are returning 0.\n> \n> It's possible something got fixed in the startup sequence compared to the\n> driver Will was using.\n> \n> Will update these in v2.\n\nI think everyone copy/pastes an existing helper so the values that\naren't tested are simply propogated.\n\nKieran\n\n> \n> > > +}\n> > > +\n> > > +unsigned int CamHelperImx678::hideFramesModeSwitch() const\n> > > +{\n> > > +     /* After a mode switch, we seem to get 1 bad frame. */\n> > > +     return 1;\n> > > +}\n> > > +\n> > > +static CamHelper *create()\n> > > +{\n> > > +     return new CamHelperImx678();\n> > > +}\n> > > +\n> > > +static RegisterCamHelper reg(\"imx678\", &create);\n> > > diff --git a/src/ipa/rpi/cam_helper/meson.build b/src/ipa/rpi/cam_helper/meson.build\n> > > index 87b6a3600..eabd55dce 100644\n> > > --- a/src/ipa/rpi/cam_helper/meson.build\n> > > +++ b/src/ipa/rpi/cam_helper/meson.build\n> > > @@ -10,6 +10,7 @@ rpi_ipa_cam_helper_sources = files([\n> > >      'cam_helper_imx415.cpp',\n> > >      'cam_helper_imx477.cpp',\n> > >      'cam_helper_imx519.cpp',\n> > > +    'cam_helper_imx678.cpp',\n> > >      'cam_helper_imx708.cpp',\n> > >      'cam_helper_ov64a40.cpp',\n> > >      'cam_helper_ov7251.cpp',\n> > \n> > -- \n> > Regards,\n> > \n> > Laurent Pinchart\n> \n> Thanks,\n> Jai","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 C34D0C3261\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 18 Jun 2026 14:13:11 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 048E76298D;\n\tThu, 18 Jun 2026 16:13:11 +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 E821661754\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 18 Jun 2026 16:13:09 +0200 (CEST)","from monstersaurus.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id E222D2EC;\n\tThu, 18 Jun 2026 16:12:34 +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=\"jWDNIJC0\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1781791955;\n\tbh=/QO5CNyeISZAF3oOiNPsWTQwixtHqSTAtEEZCbrHffM=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=jWDNIJC0eO7kHW95aRAYE94rAXwqOEWHtzQh+UTXxUMZmJVpYQU40rOTzsdmceb62\n\t23JqBNO2qyDRHYASXcipu2NRYYQWkiwjrqFvTEL029l/u0joI5UM2h/pb9iWS7PrJC\n\tjfwNvRtzOQw1uHvujOuSkepnFbg0pTpNQJ02NcDw=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<178179096673.1799417.4597338840714454454@freya>","References":"<20260618-imx678-v1-0-646e09a63692@ideasonboard.com>\n\t<20260618-imx678-v1-2-646e09a63692@ideasonboard.com>\n\t<20260618125112.GC3345533@killaraus.ideasonboard.com>\n\t<178179096673.1799417.4597338840714454454@freya>","Subject":"Re: [PATCH 2/2] ipa: rpi: Add cam_helper for Sony IMX678","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"libcamera-devel@lists.libcamera.org, will whang <will@willwhang.com>","To":"Jai Luthra <jai.luthra@ideasonboard.com>,\n\tLaurent Pinchart <laurent.pinchart@ideasonboard.com>","Date":"Thu, 18 Jun 2026 15:13:06 +0100","Message-ID":"<178179198664.861173.13151987488931482417@ping.linuxembedded.co.uk>","User-Agent":"alot/0.9.1","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>"}}]