[{"id":21031,"web_url":"https://patchwork.libcamera.org/comment/21031/","msgid":"<163732233256.1089182.15667524199335875781@Monstersaurus>","date":"2021-11-19T11:45:32","subject":"Re: [libcamera-devel] [PATCH v1 2/8] ipa: rkisp1: Instantiate\n\tCameraSensorHelper","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Jean-Michel Hautbois (2021-11-19 11:16:48)\n> When the AGC will run, it will use analogue gains as double values. We\n> will need those values to be converted to apply the control. Introduce\n> CameraSensorHelper and call it at init().\n> \n> Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>\n\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n> ---\n>  src/ipa/rkisp1/rkisp1.cpp | 14 ++++++++++++++\n>  1 file changed, 14 insertions(+)\n> \n> diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp\n> index 7ecbf8ae..ff8d8712 100644\n> --- a/src/ipa/rkisp1/rkisp1.cpp\n> +++ b/src/ipa/rkisp1/rkisp1.cpp\n> @@ -25,6 +25,8 @@\n>  \n>  #include <libcamera/internal/mapped_framebuffer.h>\n>  \n> +#include \"libipa/camera_sensor_helper.h\"\n> +\n>  namespace libcamera {\n>  \n>  LOG_DEFINE_CATEGORY(IPARkISP1)\n> @@ -73,6 +75,9 @@ private:\n>         unsigned int hwHistBinNMax_;\n>         unsigned int hwGammaOutMaxSamples_;\n>         unsigned int hwHistogramWeightGridsSize_;\n> +\n> +       /* Interface to the Camera Helper */\n> +       std::unique_ptr<CameraSensorHelper> camHelper_;\n>  };\n>  \n>  int IPARkISP1::init([[maybe_unused]] const IPASettings &settings,\n> @@ -100,6 +105,15 @@ int IPARkISP1::init([[maybe_unused]] const IPASettings &settings,\n>         }\n>  \n>         LOG(IPARkISP1, Debug) << \"Hardware revision is \" << hwRevision;\n> +\n> +       camHelper_ = CameraSensorHelperFactory::create(settings.sensorModel);\n> +       if (camHelper_ == nullptr) {\n> +               LOG(IPARkISP1, Error)\n> +                       << \"Failed to create camera sensor helper for \"\n> +                       << settings.sensorModel;\n> +               return -ENODEV;\n> +       }\n> +\n>         return 0;\n>  }\n>  \n> -- \n> 2.32.0\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 06312BF415\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 19 Nov 2021 11:45:37 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id AF893603C2;\n\tFri, 19 Nov 2021 12:45:36 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 17FC860371\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 19 Nov 2021 12:45:35 +0100 (CET)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id C9C001959;\n\tFri, 19 Nov 2021 12:45:34 +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=\"qIiKssF9\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1637322334;\n\tbh=LulVUvWKxOGc9fO8heByMVbY0IQ/YuJNUVwwqanoNMw=;\n\th=In-Reply-To:References:Subject:From:To:Date:From;\n\tb=qIiKssF9ci8qmFln0tKZKc456qsv/87Ovus+u/4Bn/aIu/zZfWWTwN0zZ8RyxFAMG\n\tLJxtnZawNHH9onpCZhNYutQUQ4DvtbNwX78fcmieuydC/ruO2ZcU0ciREA95+9WGU/\n\tvh0RkKfkhybBr+wze+kIFWwba3ZdwprwF8px+5OM=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20211119111654.68445-3-jeanmichel.hautbois@ideasonboard.com>","References":"<20211119111654.68445-1-jeanmichel.hautbois@ideasonboard.com>\n\t<20211119111654.68445-3-jeanmichel.hautbois@ideasonboard.com>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","To":"Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Fri, 19 Nov 2021 11:45:32 +0000","Message-ID":"<163732233256.1089182.15667524199335875781@Monstersaurus>","User-Agent":"alot/0.10","Subject":"Re: [libcamera-devel] [PATCH v1 2/8] ipa: rkisp1: Instantiate\n\tCameraSensorHelper","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":21041,"web_url":"https://patchwork.libcamera.org/comment/21041/","msgid":"<YZejBwjtX3mQJGGK@pendragon.ideasonboard.com>","date":"2021-11-19T13:13:43","subject":"Re: [libcamera-devel] [PATCH v1 2/8] ipa: rkisp1: Instantiate\n\tCameraSensorHelper","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Jean-Michel,\n\nThank you for the patch.\n\nOn Fri, Nov 19, 2021 at 12:16:48PM +0100, Jean-Michel Hautbois wrote:\n> When the AGC will run, it will use analogue gains as double values. We\n> will need those values to be converted to apply the control. Introduce\n> CameraSensorHelper and call it at init().\n> \n> Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>\n> ---\n>  src/ipa/rkisp1/rkisp1.cpp | 14 ++++++++++++++\n>  1 file changed, 14 insertions(+)\n> \n> diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp\n> index 7ecbf8ae..ff8d8712 100644\n> --- a/src/ipa/rkisp1/rkisp1.cpp\n> +++ b/src/ipa/rkisp1/rkisp1.cpp\n> @@ -25,6 +25,8 @@\n>  \n>  #include <libcamera/internal/mapped_framebuffer.h>\n>  \n> +#include \"libipa/camera_sensor_helper.h\"\n> +\n>  namespace libcamera {\n>  \n>  LOG_DEFINE_CATEGORY(IPARkISP1)\n> @@ -73,6 +75,9 @@ private:\n>  \tunsigned int hwHistBinNMax_;\n>  \tunsigned int hwGammaOutMaxSamples_;\n>  \tunsigned int hwHistogramWeightGridsSize_;\n> +\n> +\t/* Interface to the Camera Helper */\n> +\tstd::unique_ptr<CameraSensorHelper> camHelper_;\n>  };\n>  \n>  int IPARkISP1::init([[maybe_unused]] const IPASettings &settings,\n> @@ -100,6 +105,15 @@ int IPARkISP1::init([[maybe_unused]] const IPASettings &settings,\n\nYou should drop the [[maybe_unused]].\n\n>  \t}\n>  \n>  \tLOG(IPARkISP1, Debug) << \"Hardware revision is \" << hwRevision;\n> +\n> +\tcamHelper_ = CameraSensorHelperFactory::create(settings.sensorModel);\n> +\tif (camHelper_ == nullptr) {\n\n\tif (!camHelper_) {\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> +\t\tLOG(IPARkISP1, Error)\n> +\t\t\t<< \"Failed to create camera sensor helper for \"\n> +\t\t\t<< settings.sensorModel;\n> +\t\treturn -ENODEV;\n> +\t}\n> +\n>  \treturn 0;\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 10F0DBDB13\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 19 Nov 2021 13:14:08 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 573D560371;\n\tFri, 19 Nov 2021 14:14:07 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 11F1A600B5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 19 Nov 2021 14:14:06 +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 81EDA1959;\n\tFri, 19 Nov 2021 14:14:05 +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=\"mVUqnxgd\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1637327645;\n\tbh=udBTxCU2nfJBYG6vZZAhBog8vgmd6/P7oYE8gkWY3V0=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=mVUqnxgdHvLE4Abg/NqzRhjHxO/2NDxQ2sXMSudeuuWbauX33ZL92o4WYmH/dpfhm\n\t1KjNCE6roCciEUi28Z71N5yQ5O2OYoK0lY+GlefxZEgesAp9o7CAcnFmj3wcr1x2Zr\n\ts779xdKjtOzpxJyQZdaUuRMXApAmQ/NQ1WEn5HSk=","Date":"Fri, 19 Nov 2021 15:13:43 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>","Message-ID":"<YZejBwjtX3mQJGGK@pendragon.ideasonboard.com>","References":"<20211119111654.68445-1-jeanmichel.hautbois@ideasonboard.com>\n\t<20211119111654.68445-3-jeanmichel.hautbois@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20211119111654.68445-3-jeanmichel.hautbois@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH v1 2/8] ipa: rkisp1: Instantiate\n\tCameraSensorHelper","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","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]