[{"id":25166,"web_url":"https://patchwork.libcamera.org/comment/25166/","msgid":"<20220929073513.3vzdgkgxxjjs7ecj@uno.localdomain>","date":"2022-09-29T07:35:13","subject":"Re: [libcamera-devel] [PATCH v2 2/4] pipeline: raspberrypi: Update\n\tnaming convention for tuning files","submitter":{"id":3,"url":"https://patchwork.libcamera.org/api/people/3/","name":"Jacopo Mondi","email":"jacopo@jmondi.org"},"content":"Hi Naush\n\nOn Thu, Sep 29, 2022 at 08:23:21AM +0100, Naushir Patuck via libcamera-devel wrote:\n> Append \"_mono\" to the sensor name when generating the tuning filename for\n> monochrome sensor variants. So the new naming convention is as follows:\n>\n> <sensor_name>.json - Standard colour sensor variant\n> <sensor_name>_mono.json - Monochrom sensor variant\n>\n> Rename the existing imx296.json file to imx296_mono.json as this tuning file\n> is based on the monochrome variant of the IMX296.\n>\n> Signed-off-by: Naushir Patuck <naush@raspberrypi.com>\n\nReviewed-by: Jacopo Mondi <jacopo@jmondi.org>\n\nThanks\n  j\n\n> ---\n>  .../data/{imx296.json => imx296_mono.json}    |  0\n>  src/ipa/raspberrypi/data/meson.build          |  2 +-\n>  .../pipeline/raspberrypi/raspberrypi.cpp      | 22 ++++++++++++++-----\n>  3 files changed, 18 insertions(+), 6 deletions(-)\n>  rename src/ipa/raspberrypi/data/{imx296.json => imx296_mono.json} (100%)\n>\n> diff --git a/src/ipa/raspberrypi/data/imx296.json b/src/ipa/raspberrypi/data/imx296_mono.json\n> similarity index 100%\n> rename from src/ipa/raspberrypi/data/imx296.json\n> rename to src/ipa/raspberrypi/data/imx296_mono.json\n> diff --git a/src/ipa/raspberrypi/data/meson.build b/src/ipa/raspberrypi/data/meson.build\n> index 211811cfa915..465a7a17ce6f 100644\n> --- a/src/ipa/raspberrypi/data/meson.build\n> +++ b/src/ipa/raspberrypi/data/meson.build\n> @@ -4,7 +4,7 @@ conf_files = files([\n>      'imx219.json',\n>      'imx219_noir.json',\n>      'imx290.json',\n> -    'imx296.json',\n> +    'imx296_mono.json',\n>      'imx378.json',\n>      'imx477.json',\n>      'imx477_noir.json',\n> diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp\n> index dcd81650c32d..dab17c34d370 100644\n> --- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp\n> +++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp\n> @@ -67,6 +67,14 @@ SensorFormats populateSensorFormats(std::unique_ptr<CameraSensor> &sensor)\n>  \treturn formats;\n>  }\n>\n> +bool isMonoSensor(std::unique_ptr<CameraSensor> &sensor)\n> +{\n> +\tunsigned int mbusCode = sensor->mbusCodes()[0];\n> +\tconst BayerFormat &bayer = BayerFormat::fromMbusCode(mbusCode);\n> +\n> +\treturn bayer.order == BayerFormat::Order::MONO;\n> +}\n> +\n>  PixelFormat mbusCodeToPixelFormat(unsigned int mbus_code,\n>  \t\t\t\t  BayerFormat::Packing packingReq)\n>  {\n> @@ -1551,12 +1559,16 @@ int RPiCameraData::loadIPA(ipa::RPi::IPAInitResult *result)\n>  \t */\n>  \tstd::string configurationFile;\n>  \tchar const *configFromEnv = utils::secure_getenv(\"LIBCAMERA_RPI_TUNING_FILE\");\n> -\tif (!configFromEnv || *configFromEnv == '\\0')\n> -\t\tconfigurationFile = ipa_->configurationFile(sensor_->model() + \".json\");\n> -\telse\n> -\t\tconfigurationFile = std::string(configFromEnv);\n> +\tstd::string model = sensor_->model();\n> +\tif (!configFromEnv || *configFromEnv == '\\0') {\n> +\t\tif (isMonoSensor(sensor_))\n> +\t\t\tmodel += \"_mono\";\n> +\t\tconfigurationFile = ipa_->configurationFile(model + \".json\");\n> +\t} else {\n> +\t\tconfigurationFile = model;\n> +\t}\n>\n> -\tIPASettings settings(configurationFile, sensor_->model());\n> +\tIPASettings settings(configurationFile, model);\n>\n>  \treturn ipa_->init(settings, result);\n>  }\n> --\n> 2.25.1\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 C3354BD16B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 29 Sep 2022 07:35:18 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id CF6CE62383;\n\tThu, 29 Sep 2022 09:35:17 +0200 (CEST)","from relay9-d.mail.gandi.net (relay9-d.mail.gandi.net\n\t[IPv6:2001:4b98:dc4:8::229])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C116C6237B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 29 Sep 2022 09:35:15 +0200 (CEST)","(Authenticated sender: jacopo@jmondi.org)\n\tby mail.gandi.net (Postfix) with ESMTPSA id 37DF6FF813;\n\tThu, 29 Sep 2022 07:35:14 +0000 (UTC)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1664436917;\n\tbh=5jc/uIWn7n5qJHOW8NjX9lc5+nX19dYpvrn+01m+edY=;\n\th=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=mAR5BVl0IvXUYVKztqFnKpPsH7k0mp+VAOMNNSxPKtbfUxj/zn7rea6l3Y2JFWAHt\n\tBKBgrQq+7HA6ztY963+BBLrPqTrF/sb2dPuwH8fY8siFygst+bj3DZTL4knVp131R0\n\tG0UkCd/uV3vetyvn5MITYRFMEJQudRtG9ir/Lkb7nrs7KPijgUirlmEUiz/2SMvqUY\n\tVgY+2Ait9I/wK3d2vhZNZHkjHVCKDdCaRg48R/bBdmrRREZDxZRJVvCaRPnLHF74gB\n\tp4u37hdTE165Dtgt1FOaZimTB/3BZdSUFePlA9xQbsRFPK2Fg+Xnmupadr2kDFPogQ\n\tA8yKygqafPpjQ==","Date":"Thu, 29 Sep 2022 09:35:13 +0200","To":"Naushir Patuck <naush@raspberrypi.com>","Message-ID":"<20220929073513.3vzdgkgxxjjs7ecj@uno.localdomain>","References":"<20220929072323.7400-1-naush@raspberrypi.com>\n\t<20220929072323.7400-3-naush@raspberrypi.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20220929072323.7400-3-naush@raspberrypi.com>","Subject":"Re: [libcamera-devel] [PATCH v2 2/4] pipeline: raspberrypi: Update\n\tnaming convention for tuning files","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>","From":"Jacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Jacopo Mondi <jacopo@jmondi.org>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":25231,"web_url":"https://patchwork.libcamera.org/comment/25231/","msgid":"<CAHW6GY+Z8ghuMExTmieAKn=7XA=a=3ibx=yj=JVSLyBK0YAc8w@mail.gmail.com>","date":"2022-10-03T09:41:07","subject":"Re: [libcamera-devel] [PATCH v2 2/4] pipeline: raspberrypi: Update\n\tnaming convention for tuning files","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 the patch!\n\nOn Thu, 29 Sept 2022 at 08:35, Jacopo Mondi via libcamera-devel\n<libcamera-devel@lists.libcamera.org> wrote:\n>\n> Hi Naush\n>\n> On Thu, Sep 29, 2022 at 08:23:21AM +0100, Naushir Patuck via libcamera-devel wrote:\n> > Append \"_mono\" to the sensor name when generating the tuning filename for\n> > monochrome sensor variants. So the new naming convention is as follows:\n> >\n> > <sensor_name>.json - Standard colour sensor variant\n> > <sensor_name>_mono.json - Monochrom sensor variant\n> >\n> > Rename the existing imx296.json file to imx296_mono.json as this tuning file\n> > is based on the monochrome variant of the IMX296.\n> >\n> > Signed-off-by: Naushir Patuck <naush@raspberrypi.com>\n>\n> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>\n>\n> Thanks\n>   j\n>\n> > ---\n> >  .../data/{imx296.json => imx296_mono.json}    |  0\n> >  src/ipa/raspberrypi/data/meson.build          |  2 +-\n> >  .../pipeline/raspberrypi/raspberrypi.cpp      | 22 ++++++++++++++-----\n> >  3 files changed, 18 insertions(+), 6 deletions(-)\n> >  rename src/ipa/raspberrypi/data/{imx296.json => imx296_mono.json} (100%)\n> >\n> > diff --git a/src/ipa/raspberrypi/data/imx296.json b/src/ipa/raspberrypi/data/imx296_mono.json\n> > similarity index 100%\n> > rename from src/ipa/raspberrypi/data/imx296.json\n> > rename to src/ipa/raspberrypi/data/imx296_mono.json\n> > diff --git a/src/ipa/raspberrypi/data/meson.build b/src/ipa/raspberrypi/data/meson.build\n> > index 211811cfa915..465a7a17ce6f 100644\n> > --- a/src/ipa/raspberrypi/data/meson.build\n> > +++ b/src/ipa/raspberrypi/data/meson.build\n> > @@ -4,7 +4,7 @@ conf_files = files([\n> >      'imx219.json',\n> >      'imx219_noir.json',\n> >      'imx290.json',\n> > -    'imx296.json',\n> > +    'imx296_mono.json',\n> >      'imx378.json',\n> >      'imx477.json',\n> >      'imx477_noir.json',\n> > diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp\n> > index dcd81650c32d..dab17c34d370 100644\n> > --- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp\n> > +++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp\n> > @@ -67,6 +67,14 @@ SensorFormats populateSensorFormats(std::unique_ptr<CameraSensor> &sensor)\n> >       return formats;\n> >  }\n> >\n> > +bool isMonoSensor(std::unique_ptr<CameraSensor> &sensor)\n> > +{\n> > +     unsigned int mbusCode = sensor->mbusCodes()[0];\n> > +     const BayerFormat &bayer = BayerFormat::fromMbusCode(mbusCode);\n> > +\n> > +     return bayer.order == BayerFormat::Order::MONO;\n> > +}\n> > +\n> >  PixelFormat mbusCodeToPixelFormat(unsigned int mbus_code,\n> >                                 BayerFormat::Packing packingReq)\n> >  {\n> > @@ -1551,12 +1559,16 @@ int RPiCameraData::loadIPA(ipa::RPi::IPAInitResult *result)\n> >        */\n> >       std::string configurationFile;\n> >       char const *configFromEnv = utils::secure_getenv(\"LIBCAMERA_RPI_TUNING_FILE\");\n> > -     if (!configFromEnv || *configFromEnv == '\\0')\n> > -             configurationFile = ipa_->configurationFile(sensor_->model() + \".json\");\n> > -     else\n> > -             configurationFile = std::string(configFromEnv);\n> > +     std::string model = sensor_->model();\n> > +     if (!configFromEnv || *configFromEnv == '\\0') {\n> > +             if (isMonoSensor(sensor_))\n> > +                     model += \"_mono\";\n> > +             configurationFile = ipa_->configurationFile(model + \".json\");\n> > +     } else {\n> > +             configurationFile = model;\n\nDoesn't this line want to be \"configurationFile =\nstd::string(configFromEnv);\" ??\n\nThanks\nDavid\n\n> > +     }\n> >\n> > -     IPASettings settings(configurationFile, sensor_->model());\n> > +     IPASettings settings(configurationFile, model);\n> >\n> >       return ipa_->init(settings, result);\n> >  }\n> > --\n> > 2.25.1\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 CE782BD16B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  3 Oct 2022 09:41:21 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3AC4862CDD;\n\tMon,  3 Oct 2022 11:41:21 +0200 (CEST)","from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com\n\t[IPv6:2607:f8b0:4864:20::1030])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 062A661F74\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  3 Oct 2022 11:41:20 +0200 (CEST)","by mail-pj1-x1030.google.com with SMTP id l12so9255259pjh.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 03 Oct 2022 02:41:19 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1664790081;\n\tbh=FfS5aSN2nJl5MIqGLf9b52D6rUcuf53chhEV0Um99QE=;\n\th=References:In-Reply-To:Date:To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=h8m4VFRREhoECQT6w3wFwf8WpHGxAQ/LrYBrJZVDTDfx7UNx0CZ1LSuPMI+7MYFyN\n\tcZzhnYnYmp6fQNg3ljBmv4ebnQUhwfKaCO8ep53pb+3+NvGcuE0cIIALxxcPpFOkSQ\n\tBeevzNsmxclKHB1FSwIHRK0K7Vxu9/pKxRQqn8ITVV96dxuPqYVUjtWIAuDxkAZ/rR\n\tV6BsxQvvldd2fDobxhJm9uDGK/iA6THrBgSpDUqCcuMUc3zbaeXh/5YXWzIs7msYui\n\tAXYMg5X9QfxKpbopQpiaNIhNKSpquUMU6iDJ9z9Z2MFbQ6k+mmEdqlXDrFKh7Wmj7y\n\tbLvSvygYftu0w==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc:subject:date;\n\tbh=c42VWTDYUoYgM3K493fhY3yUzBgYfkG/qx2wGcJVWyo=;\n\tb=XMPT6xLNNfSNYTtxSd+E55DQpsM+ZD++gfRgeOV8V7YJbDBINiYzp9hv5akMMrf0bw\n\tYGyKdZgnHpFMPISfV3C84tZ+LN6czmwZp0ntDnqrMOT2TK9oRtmPOM7T/Ahp/6SecZJm\n\tXrWIWDQg3jqo2bhGZwPTHr9kblOFUmSgJF0ULzXxqHVI3oS9Fhg0D+RdWwxYGq9GzwVA\n\tzqqr9IsjCrj6tSY7cBj0BE6ihwZz6LdNU10tzZ0HlfbYZ43ia7ZgR0uI1gGo+bBTAgSD\n\tRpDR+QaQ8wwR+XJOTiHS8mNmhnIuo8OV8B/npXlMj9ILbO1NFCzVI9xx3dydYSBsxCLJ\n\tLYaA=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=raspberrypi.com\n\theader.i=@raspberrypi.com\n\theader.b=\"XMPT6xLN\"; dkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-message-state:from:to:cc:subject:date;\n\tbh=c42VWTDYUoYgM3K493fhY3yUzBgYfkG/qx2wGcJVWyo=;\n\tb=nN9WBY1ONlcDyPskAvuB2s9JTgMWzir4yi/FkZ5nhGx+dgPYN+lF6pl7UuRdEKVZvG\n\tJc56zZaAwQkJVbELvtrqR5/sPcfwX4W8sSHQYFFeC7vBbAkH1B2ZPoCj1ZdKjGaqpgQm\n\tPqaO7GP3d4+8vzvTFq6CvJ/f4eQEZQUSXPzGngbe9gEJy9PmAweEfHLR1lK0iYSsEWU0\n\tMvJcAH2iXw55VDh4lgCcREeg++ihyaxNfjBZqDEXAJ2Y1xb274/J+5jNr7vVZC4kbe3p\n\tplxufMK+zVZA2n6OKVUauSCDzHU5izLuPf/0Ybmuj8RAg6PHHUj13pP2psIfoc5g3AH7\n\t6clQ==","X-Gm-Message-State":"ACrzQf2qh5+7zNJMHjdQBH/Zex4vfHgrl5+H0EPcGcds0lqG3IKNT5ML\n\tkTE8FW6FkdlcwnC/qubYc3u/M+8GZrV9oVeiCYtrm+jPE7Fzxw==","X-Google-Smtp-Source":"AMsMyM4DpXPyufjzkAANhRfYJDrfgR1H9GO7vVK/2+FoIPOH72kAd7AS1dNN9qe18mt6ZZQ8IBOGGjrxn/wUPKNSNbo=","X-Received":"by 2002:a17:90b:3a90:b0:202:d341:bf81 with SMTP id\n\tom16-20020a17090b3a9000b00202d341bf81mr11213659pjb.179.1664790078525;\n\tMon, 03 Oct 2022 02:41:18 -0700 (PDT)","MIME-Version":"1.0","References":"<20220929072323.7400-1-naush@raspberrypi.com>\n\t<20220929072323.7400-3-naush@raspberrypi.com>\n\t<20220929073513.3vzdgkgxxjjs7ecj@uno.localdomain>","In-Reply-To":"<20220929073513.3vzdgkgxxjjs7ecj@uno.localdomain>","Date":"Mon, 3 Oct 2022 10:41:07 +0100","Message-ID":"<CAHW6GY+Z8ghuMExTmieAKn=7XA=a=3ibx=yj=JVSLyBK0YAc8w@mail.gmail.com>","To":"Jacopo Mondi <jacopo@jmondi.org>","Content-Type":"text/plain; charset=\"UTF-8\"","Subject":"Re: [libcamera-devel] [PATCH v2 2/4] pipeline: raspberrypi: Update\n\tnaming convention for tuning files","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>","From":"David Plowman via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"David Plowman <david.plowman@raspberrypi.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":25234,"web_url":"https://patchwork.libcamera.org/comment/25234/","msgid":"<CAEmqJPqU_NOUamzUKzX3STZRnpOrX-M+f+g_pyXkjVornqPH5g@mail.gmail.com>","date":"2022-10-03T09:50:26","subject":"Re: [libcamera-devel] [PATCH v2 2/4] pipeline: raspberrypi: Update\n\tnaming convention for tuning files","submitter":{"id":34,"url":"https://patchwork.libcamera.org/api/people/34/","name":"Naushir Patuck","email":"naush@raspberrypi.com"},"content":"Hi David,\n\nThank you for your review.\n\nOn Mon, 3 Oct 2022 at 10:41, David Plowman <david.plowman@raspberrypi.com>\nwrote:\n\n> Hi Naush\n>\n> Thanks for the patch!\n>\n> On Thu, 29 Sept 2022 at 08:35, Jacopo Mondi via libcamera-devel\n> <libcamera-devel@lists.libcamera.org> wrote:\n> >\n> > Hi Naush\n> >\n> > On Thu, Sep 29, 2022 at 08:23:21AM +0100, Naushir Patuck via\n> libcamera-devel wrote:\n> > > Append \"_mono\" to the sensor name when generating the tuning filename\n> for\n> > > monochrome sensor variants. So the new naming convention is as follows:\n> > >\n> > > <sensor_name>.json - Standard colour sensor variant\n> > > <sensor_name>_mono.json - Monochrom sensor variant\n> > >\n> > > Rename the existing imx296.json file to imx296_mono.json as this\n> tuning file\n> > > is based on the monochrome variant of the IMX296.\n> > >\n> > > Signed-off-by: Naushir Patuck <naush@raspberrypi.com>\n> >\n> > Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>\n> >\n> > Thanks\n> >   j\n> >\n> > > ---\n> > >  .../data/{imx296.json => imx296_mono.json}    |  0\n> > >  src/ipa/raspberrypi/data/meson.build          |  2 +-\n> > >  .../pipeline/raspberrypi/raspberrypi.cpp      | 22 ++++++++++++++-----\n> > >  3 files changed, 18 insertions(+), 6 deletions(-)\n> > >  rename src/ipa/raspberrypi/data/{imx296.json => imx296_mono.json}\n> (100%)\n> > >\n> > > diff --git a/src/ipa/raspberrypi/data/imx296.json\n> b/src/ipa/raspberrypi/data/imx296_mono.json\n> > > similarity index 100%\n> > > rename from src/ipa/raspberrypi/data/imx296.json\n> > > rename to src/ipa/raspberrypi/data/imx296_mono.json\n> > > diff --git a/src/ipa/raspberrypi/data/meson.build\n> b/src/ipa/raspberrypi/data/meson.build\n> > > index 211811cfa915..465a7a17ce6f 100644\n> > > --- a/src/ipa/raspberrypi/data/meson.build\n> > > +++ b/src/ipa/raspberrypi/data/meson.build\n> > > @@ -4,7 +4,7 @@ conf_files = files([\n> > >      'imx219.json',\n> > >      'imx219_noir.json',\n> > >      'imx290.json',\n> > > -    'imx296.json',\n> > > +    'imx296_mono.json',\n> > >      'imx378.json',\n> > >      'imx477.json',\n> > >      'imx477_noir.json',\n> > > diff --git a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp\n> b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp\n> > > index dcd81650c32d..dab17c34d370 100644\n> > > --- a/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp\n> > > +++ b/src/libcamera/pipeline/raspberrypi/raspberrypi.cpp\n> > > @@ -67,6 +67,14 @@ SensorFormats\n> populateSensorFormats(std::unique_ptr<CameraSensor> &sensor)\n> > >       return formats;\n> > >  }\n> > >\n> > > +bool isMonoSensor(std::unique_ptr<CameraSensor> &sensor)\n> > > +{\n> > > +     unsigned int mbusCode = sensor->mbusCodes()[0];\n> > > +     const BayerFormat &bayer = BayerFormat::fromMbusCode(mbusCode);\n> > > +\n> > > +     return bayer.order == BayerFormat::Order::MONO;\n> > > +}\n> > > +\n> > >  PixelFormat mbusCodeToPixelFormat(unsigned int mbus_code,\n> > >                                 BayerFormat::Packing packingReq)\n> > >  {\n> > > @@ -1551,12 +1559,16 @@ int\n> RPiCameraData::loadIPA(ipa::RPi::IPAInitResult *result)\n> > >        */\n> > >       std::string configurationFile;\n> > >       char const *configFromEnv =\n> utils::secure_getenv(\"LIBCAMERA_RPI_TUNING_FILE\");\n> > > -     if (!configFromEnv || *configFromEnv == '\\0')\n> > > -             configurationFile =\n> ipa_->configurationFile(sensor_->model() + \".json\");\n> > > -     else\n> > > -             configurationFile = std::string(configFromEnv);\n> > > +     std::string model = sensor_->model();\n> > > +     if (!configFromEnv || *configFromEnv == '\\0') {\n> > > +             if (isMonoSensor(sensor_))\n> > > +                     model += \"_mono\";\n> > > +             configurationFile = ipa_->configurationFile(model +\n> \".json\");\n> > > +     } else {\n> > > +             configurationFile = model;\n>\n> Doesn't this line want to be \"configurationFile =\n> std::string(configFromEnv);\" ??\n>\n\nOops, you are right!  I'll fix that up now.\n\nNaush\n\n\n\n>\n> Thanks\n> David\n>\n> > > +     }\n> > >\n> > > -     IPASettings settings(configurationFile, sensor_->model());\n> > > +     IPASettings settings(configurationFile, model);\n> > >\n> > >       return ipa_->init(settings, result);\n> > >  }\n> > > --\n> > > 2.25.1\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 BCE17BD16B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  3 Oct 2022 09:50:45 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id BDE9262CE4;\n\tMon,  3 Oct 2022 11:50:44 +0200 (CEST)","from mail-lf1-x130.google.com (mail-lf1-x130.google.com\n\t[IPv6:2a00:1450:4864:20::130])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 0DD0761F74\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  3 Oct 2022 11:50:43 +0200 (CEST)","by mail-lf1-x130.google.com with SMTP id s20so114682lfi.11\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 03 Oct 2022 02:50:42 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1664790644;\n\tbh=Gk5tsyD0+cQT1pv/bfyazu147N/QKqxDIevqYVSRB9Q=;\n\th=References:In-Reply-To:Date:To:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:\n\tFrom;\n\tb=A/MSF0y35IQM32e+mtRPd0//QBl/XcMZg8XPdi/hRmILfEm2fTTo3NjHrEK45iAuU\n\tfCggxe1IG7zuJMtUCQ+6JMXhQxbEvnyRUbX4BfojW29GNaCLuYQLfymRPYyX/ij2GM\n\tbaTZk8+4eztmPk44BG5nR8Mu0GAV8t1yUUWtzJJ9ZU5bNkShU1xPI+iNiD1aYfNCIf\n\tBzPaonMXjDT1OIhRpyLf5y5cMl6jEKrDEeBL19oR9NwrPBfRGkB1WQ+7hhnNXQ7/oA\n\twwAosFrPJ1otxkFj/DQOKUyat1IRtOURAXtX5YzdUJZC8lACmy1Ahqu7M06A7uWxvO\n\t5hdHyo9tdc+bQ==","v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc:subject:date;\n\tbh=MOwpHvkgyIHUdGath4e3O9Mq3VQQ2xWDgQoAg+Opf9U=;\n\tb=B69O3BOgYmRI5lSDBWqumompDqeEBzrdkLbt9VOFqhVvVrW4rzkOVfz4123aWV6n98\n\tKe9MG+/lrwpvhV1kgQekeZKtQzCHAkSV7QAc3mkbW4cMZMS9ThA9W3rH1NcYe41ZnSQh\n\tdghfbd7MvBO7YgTa3OJAtVUTa58kGxfaUrItoNYRtH1kl6uPSh2Fnop6yfGNYsEdSxpG\n\t2lAd1Jjwv4b2iSzMuPf8HHQDJJx/SULpIcX+h+NVBFaNOob4g+LiK/AmDZh509DukkTy\n\twDdip22qN4+mb2QMI7b+CKIHpCXh2Yv/cAdz6hCbZlLaZKq8KALXu27aoTKHLt0TQfvD\n\tqZPg=="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=raspberrypi.com\n\theader.i=@raspberrypi.com\n\theader.b=\"B69O3BOg\"; dkim-atps=neutral","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-message-state:from:to:cc:subject:date;\n\tbh=MOwpHvkgyIHUdGath4e3O9Mq3VQQ2xWDgQoAg+Opf9U=;\n\tb=ERBzggc591vTVXZKoZshXnmdvcGHLoJmAYyB3d808bsfvpzDxnMAte82oh7e0tjFDv\n\tWud+LJPou817IKpcZqcMgniNxPzXUoY9t3HmPRbAY8dLcvsjgGgRcO3PXvWMHu825afm\n\tCk7lWmMy4TA28siSAwlRmkEqzNvaOKXDJKCcNbMjzyGW9P8XiK6LP5cpPpq9FP+THNro\n\t0XmcFpCqJZwbSosDqCY7mHI+GQds+EcB0OU9jpmpeyO/mp3Em7/haGMHuLhIGpr9nNsZ\n\t1IFd/dMa6AhPDodUt3Fn5IClZMeG5Fw7L1oN9A5CwnwwXwWEqH1ku/kqMxmXskueESNA\n\tKdaA==","X-Gm-Message-State":"ACrzQf2AIObWiRJXw6Xzbg2Yf9T9BECEFmDR6Jjnqext4kP9kKYomkbX\n\teCDU8JEt8laZ8igXH/AUZBIRGVH0X4nSZcK2duV0Mtzs4t0=","X-Google-Smtp-Source":"AMsMyM767wNE53P72Oktq8ygRixrPYy9/+hhXiXaGtaOot9gJF5eEzm4GLa9E57aq08zJ3CRNkfvfFbh6oU6qgBhj3A=","X-Received":"by 2002:a05:6512:1152:b0:4a0:5555:15ee with SMTP id\n\tm18-20020a056512115200b004a0555515eemr7817349lfg.38.1664790642225;\n\tMon, 03 Oct 2022 02:50:42 -0700 (PDT)","MIME-Version":"1.0","References":"<20220929072323.7400-1-naush@raspberrypi.com>\n\t<20220929072323.7400-3-naush@raspberrypi.com>\n\t<20220929073513.3vzdgkgxxjjs7ecj@uno.localdomain>\n\t<CAHW6GY+Z8ghuMExTmieAKn=7XA=a=3ibx=yj=JVSLyBK0YAc8w@mail.gmail.com>","In-Reply-To":"<CAHW6GY+Z8ghuMExTmieAKn=7XA=a=3ibx=yj=JVSLyBK0YAc8w@mail.gmail.com>","Date":"Mon, 3 Oct 2022 10:50:26 +0100","Message-ID":"<CAEmqJPqU_NOUamzUKzX3STZRnpOrX-M+f+g_pyXkjVornqPH5g@mail.gmail.com>","To":"David Plowman <david.plowman@raspberrypi.com>","Content-Type":"multipart/alternative; boundary=\"000000000000db124005ea1e4685\"","Subject":"Re: [libcamera-devel] [PATCH v2 2/4] pipeline: raspberrypi: Update\n\tnaming convention for tuning files","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>","From":"Naushir Patuck via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>","Reply-To":"Naushir Patuck <naush@raspberrypi.com>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]