Patch Detail
Show a patch.
GET /api/patches/16757/?format=api
{ "id": 16757, "url": "https://patchwork.libcamera.org/api/patches/16757/?format=api", "web_url": "https://patchwork.libcamera.org/patch/16757/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20220725134639.4572-5-naush@raspberrypi.com>", "date": "2022-07-25T13:46:28", "name": "[libcamera-devel,04/15] DNI: ipa: raspberrypi: Code refactoring to match style guidelines", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "f8f63fdc15875b37c3ea40cbd46cb77eab71e335", "submitter": { "id": 34, "url": "https://patchwork.libcamera.org/api/people/34/?format=api", "name": "Naushir Patuck", "email": "naush@raspberrypi.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/16757/mbox/", "series": [ { "id": 3323, "url": "https://patchwork.libcamera.org/api/series/3323/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=3323", "date": "2022-07-25T13:46:24", "name": "Raspberry Pi IPA code refactor", "version": 1, "mbox": "https://patchwork.libcamera.org/series/3323/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/16757/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/16757/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 602F9C3275\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 25 Jul 2022 13:46:53 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0A8A663321;\n\tMon, 25 Jul 2022 15:46:53 +0200 (CEST)", "from mail-wr1-x435.google.com (mail-wr1-x435.google.com\n\t[IPv6:2a00:1450:4864:20::435])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 6D5CF6330A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 25 Jul 2022 15:46:47 +0200 (CEST)", "by mail-wr1-x435.google.com with SMTP id k11so15584000wrx.5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 25 Jul 2022 06:46:47 -0700 (PDT)", "from naush-laptop.localdomain ([93.93.133.154])\n\tby smtp.gmail.com with ESMTPSA id\n\ta20-20020a05600c225400b003a32167b8d4sm18054320wmm.13.2022.07.25.06.46.45\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tMon, 25 Jul 2022 06:46:45 -0700 (PDT)" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1658756813;\n\tbh=a1uIFfPl0B3ElLz1CPX5bz+auHIpMxIcGl/deH56kKg=;\n\th=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe:\n\tList-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:\n\tFrom;\n\tb=cjg2gWXUWSWZYYxDkHssptTU+yZUBh5C133E6X/3FZUd7/q/fvvfvgROdl1Z5q0uT\n\tLUwFcgHEK0t6cd1GL6jwNvmd6NN3RzEZwrjbuB0nkNPgG1ewVIGgUprAQANbMEHLdr\n\tbRYbBgTFeLe3AVa7zKzdBhkGCxAe+LnDmw7ZoFdCLISHnIFGEUKP+OcC/VJsrxz6OZ\n\tsnkdJJlBusXtFOHj9XNWhktEhtkuIHBxxhR+9hvpV9ocravJ2KRourVOwc8Z8aQImS\n\tyu022J+XdztLX+8mOso9+A/Tc0DAb6V9YjIWoobp/OB2HWqTVNxUTk3kXqS8cDSlx2\n\tWjkQyfvgVQ2yg==", "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=R5FWpuqTJSTnvljuVCPEbVBcwQna7BZtQtmzDLOcdiA=;\n\tb=s2BzRgp2b9zCxmXaCOt32pJWZJ8PsyDX+IES5KyDJVTNltmoJJskFpp+8bIPwylVar\n\tGtDSMh3OPH4L7oMmpwH1M0vlRgdFfIyHOhzEQ+FoTtJMXtT8/HfdC5W0dHVgKthIHtE6\n\tPy4ZkqgheqevuoEoZYnI1uXbaclBErIPTZ7al/7UqnF/B3lzNX0HFoY4wF7ZFSgWth/+\n\tLyWywJUM9crELRtjkCo6IDbYrLCwUz0/yJAt7Xxo9WL1/JODA2VdYhngkXgkXfnvnIc7\n\tIPg5QK9gYcHo/W4B6/z8SdeclS1exo+oGvbm2tKuqyMlTWKhpz+BOPGN5IqLnujTIEB2\n\tfTxQ==" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=raspberrypi.com\n\theader.i=@raspberrypi.com\n\theader.b=\"s2BzRgp2\"; dkim-atps=neutral", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20210112;\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=R5FWpuqTJSTnvljuVCPEbVBcwQna7BZtQtmzDLOcdiA=;\n\tb=pAPnhT7TGq4ZgtksQrQ+iFApjpViLIph/Mf1ffGUdZQbs3Br7UPRikdmx3/P43IO9h\n\txKBU0aD1jboOQ8CqbzkYGCeLbuORJ6qZruFh5CFW9Ax8r9uV7zoG01GyDBaPmBZ9QIDG\n\tWIm8LPSeqqUqc2LOWXn3jgUtvgMr5a1Kn8MK44Hs2/Jfb5bdNT1gXlMfAOnznjt4XPqG\n\tC8upJfr0gfBAwlQuhRgJCNq1qWsszF7ufKqMLPgglw/RLwIPyQdObsi/f8yrlvIlUfa0\n\tGZrW0ZZsmFWUCuORN5tcd/NU9X3jp4ikdmDpUfaIlhsJ04qdA/7EdWyMOHuooXROm1Jq\n\tzO1w==", "X-Gm-Message-State": "AJIora95O1wxgQfrbd0IK5OEvEAYj27cF1Fq90pvuVW/3dpe/ADrxhrE\n\tJ2/1+X7fzgnUICTMXsZ05LNDxD13Ai3qhw==", "X-Google-Smtp-Source": "AGRyM1tMuwLFKq0U268srKua1Esiq1KxcxpgWmqGtrYBgEZO+EhWAKQZ0a6QuNllz+Z63svLKzpNRg==", "X-Received": "by 2002:a5d:5e93:0:b0:21e:8de5:36be with SMTP id\n\tck19-20020a5d5e93000000b0021e8de536bemr2374934wrb.325.1658756806517; \n\tMon, 25 Jul 2022 06:46:46 -0700 (PDT)", "To": "libcamera-devel@lists.libcamera.org", "Date": "Mon, 25 Jul 2022 14:46:28 +0100", "Message-Id": "<20220725134639.4572-5-naush@raspberrypi.com>", "X-Mailer": "git-send-email 2.25.1", "In-Reply-To": "<20220725134639.4572-1-naush@raspberrypi.com>", "References": "<20220725134639.4572-1-naush@raspberrypi.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH 04/15] DNI: ipa: raspberrypi: Code\n\trefactoring to match style guidelines", "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>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "Refactor the source files under src/ipa/raspberrypi/controller/c* to match the\nrecommended formatting guidelines for the libcamera project. The vast majority\nof changes in this commit comprise of switching from snake_case to CamelCase,\nand starting class member functions with a lower case character.\n\nSigned-off-by: Naushir Patuck <naush@raspberrypi.com>\n---\n src/ipa/raspberrypi/controller/camera_mode.h | 16 ++--\n .../raspberrypi/controller/ccm_algorithm.hpp | 2 +-\n .../controller/contrast_algorithm.hpp | 4 +-\n src/ipa/raspberrypi/controller/controller.cpp | 74 ++++++++++---------\n src/ipa/raspberrypi/controller/controller.hpp | 22 +++---\n 5 files changed, 60 insertions(+), 58 deletions(-)", "diff": "diff --git a/src/ipa/raspberrypi/controller/camera_mode.h b/src/ipa/raspberrypi/controller/camera_mode.h\nindex e2b82828d4b6..8b81ca9df725 100644\n--- a/src/ipa/raspberrypi/controller/camera_mode.h\n+++ b/src/ipa/raspberrypi/controller/camera_mode.h\n@@ -26,21 +26,21 @@ struct CameraMode {\n \t// size in pixels of frames in this mode\n \tuint16_t width, height;\n \t// size of full resolution uncropped frame (\"sensor frame\")\n-\tuint16_t sensor_width, sensor_height;\n+\tuint16_t sensorWidth, sensorHeight;\n \t// binning factor (1 = no binning, 2 = 2-pixel binning etc.)\n-\tuint8_t bin_x, bin_y;\n+\tuint8_t binX, binY;\n \t// location of top left pixel in the sensor frame\n-\tuint16_t crop_x, crop_y;\n-\t// scaling factor (so if uncropped, width*scale_x is sensor_width)\n-\tdouble scale_x, scale_y;\n+\tuint16_t cropX, cropY;\n+\t// scaling factor (so if uncropped, width*scaleX is sensorWidth)\n+\tdouble scaleX, scaleY;\n \t// scaling of the noise compared to the native sensor mode\n-\tdouble noise_factor;\n+\tdouble noiseFactor;\n \t// line time\n-\tlibcamera::utils::Duration line_length;\n+\tlibcamera::utils::Duration lineLength;\n \t// any camera transform *not* reflected already in the camera tuning\n \tlibcamera::Transform transform;\n \t// minimum and maximum fame lengths in units of lines\n-\tuint32_t min_frame_length, max_frame_length;\n+\tuint32_t minFrameLength, maxFrameLength;\n \t// sensitivity of this mode\n \tdouble sensitivity;\n };\ndiff --git a/src/ipa/raspberrypi/controller/ccm_algorithm.hpp b/src/ipa/raspberrypi/controller/ccm_algorithm.hpp\nindex 33d0e30dc856..b8b5879ba99c 100644\n--- a/src/ipa/raspberrypi/controller/ccm_algorithm.hpp\n+++ b/src/ipa/raspberrypi/controller/ccm_algorithm.hpp\n@@ -15,7 +15,7 @@ class CcmAlgorithm : public Algorithm\n public:\n \tCcmAlgorithm(Controller *controller) : Algorithm(controller) {}\n \t// A CCM algorithm must provide the following:\n-\tvirtual void SetSaturation(double saturation) = 0;\n+\tvirtual void setSaturation(double saturation) = 0;\n };\n \n } // namespace RPiController\ndiff --git a/src/ipa/raspberrypi/controller/contrast_algorithm.hpp b/src/ipa/raspberrypi/controller/contrast_algorithm.hpp\nindex 7f03bba52844..c76f3cd759ba 100644\n--- a/src/ipa/raspberrypi/controller/contrast_algorithm.hpp\n+++ b/src/ipa/raspberrypi/controller/contrast_algorithm.hpp\n@@ -15,8 +15,8 @@ class ContrastAlgorithm : public Algorithm\n public:\n \tContrastAlgorithm(Controller *controller) : Algorithm(controller) {}\n \t// A contrast algorithm must provide the following:\n-\tvirtual void SetBrightness(double brightness) = 0;\n-\tvirtual void SetContrast(double contrast) = 0;\n+\tvirtual void setBrightness(double brightness) = 0;\n+\tvirtual void setContrast(double contrast) = 0;\n };\n \n } // namespace RPiController\ndiff --git a/src/ipa/raspberrypi/controller/controller.cpp b/src/ipa/raspberrypi/controller/controller.cpp\nindex d3433ad2e7e8..e0b152c74384 100644\n--- a/src/ipa/raspberrypi/controller/controller.cpp\n+++ b/src/ipa/raspberrypi/controller/controller.cpp\n@@ -19,85 +19,87 @@ using namespace libcamera;\n LOG_DEFINE_CATEGORY(RPiController)\n \n Controller::Controller()\n-\t: switch_mode_called_(false) {}\n+\t: switchModeCalled_(false)\n+{\n+}\n \n-Controller::Controller(char const *json_filename)\n-\t: switch_mode_called_(false)\n+Controller::Controller(char const *jsonFilename)\n+\t: switchModeCalled_(false)\n {\n-\tRead(json_filename);\n-\tInitialise();\n+\tread(jsonFilename);\n+\tinitialise();\n }\n \n Controller::~Controller() {}\n \n-void Controller::Read(char const *filename)\n+void Controller::read(char const *filename)\n {\n \tboost::property_tree::ptree root;\n \tboost::property_tree::read_json(filename, root);\n-\tfor (auto const &key_and_value : root) {\n-\t\tAlgorithm *algo = CreateAlgorithm(key_and_value.first.c_str());\n+\tfor (auto const &keyAndValue : root) {\n+\t\tAlgorithm *algo = createAlgorithm(keyAndValue.first.c_str());\n \t\tif (algo) {\n-\t\t\talgo->Read(key_and_value.second);\n+\t\t\talgo->read(keyAndValue.second);\n \t\t\talgorithms_.push_back(AlgorithmPtr(algo));\n \t\t} else\n \t\t\tLOG(RPiController, Warning)\n-\t\t\t\t<< \"No algorithm found for \\\"\" << key_and_value.first << \"\\\"\";\n+\t\t\t\t<< \"No algorithm found for \\\"\" << keyAndValue.first << \"\\\"\";\n \t}\n }\n \n-Algorithm *Controller::CreateAlgorithm(char const *name)\n+Algorithm *Controller::createAlgorithm(char const *name)\n {\n-\tauto it = GetAlgorithms().find(std::string(name));\n-\treturn it != GetAlgorithms().end() ? (*it->second)(this) : nullptr;\n+\tauto it = getAlgorithms().find(std::string(name));\n+\treturn it != getAlgorithms().end() ? (*it->second)(this) : nullptr;\n }\n \n-void Controller::Initialise()\n+void Controller::initialise()\n {\n \tfor (auto &algo : algorithms_)\n-\t\talgo->Initialise();\n+\t\talgo->initialise();\n }\n \n-void Controller::SwitchMode(CameraMode const &camera_mode, Metadata *metadata)\n+void Controller::switchMode(CameraMode const &cameraMode, Metadata *metadata)\n {\n \tfor (auto &algo : algorithms_)\n-\t\talgo->SwitchMode(camera_mode, metadata);\n-\tswitch_mode_called_ = true;\n+\t\talgo->switchMode(cameraMode, metadata);\n+\tswitchModeCalled_ = true;\n }\n \n-void Controller::Prepare(Metadata *image_metadata)\n+void Controller::prepare(Metadata *imageMetadata)\n {\n-\tassert(switch_mode_called_);\n+\tassert(switchModeCalled_);\n \tfor (auto &algo : algorithms_)\n-\t\tif (!algo->IsPaused())\n-\t\t\talgo->Prepare(image_metadata);\n+\t\tif (!algo->isPaused())\n+\t\t\talgo->prepare(imageMetadata);\n }\n \n-void Controller::Process(StatisticsPtr stats, Metadata *image_metadata)\n+void Controller::process(StatisticsPtr stats, Metadata *imageMetadata)\n {\n-\tassert(switch_mode_called_);\n+\tassert(switchModeCalled_);\n \tfor (auto &algo : algorithms_)\n-\t\tif (!algo->IsPaused())\n-\t\t\talgo->Process(stats, image_metadata);\n+\t\tif (!algo->isPaused())\n+\t\t\talgo->process(stats, imageMetadata);\n }\n \n-Metadata &Controller::GetGlobalMetadata()\n+Metadata &Controller::getGlobalMetadata()\n {\n-\treturn global_metadata_;\n+\treturn globalMetadata_;\n }\n \n-Algorithm *Controller::GetAlgorithm(std::string const &name) const\n+Algorithm *Controller::getAlgorithm(std::string const &name) const\n {\n \t// The passed name must be the entire algorithm name, or must match the\n \t// last part of it with a period (.) just before.\n-\tsize_t name_len = name.length();\n+\tsize_t nameLen = name.length();\n \tfor (auto &algo : algorithms_) {\n-\t\tchar const *algo_name = algo->Name();\n-\t\tsize_t algo_name_len = strlen(algo_name);\n-\t\tif (algo_name_len >= name_len &&\n+\t\tchar const *algoName = algo->name();\n+\t\tsize_t algoNameLen = strlen(algoName);\n+\t\tif (algoNameLen >= nameLen &&\n \t\t strcasecmp(name.c_str(),\n-\t\t\t algo_name + algo_name_len - name_len) == 0 &&\n-\t\t (name_len == algo_name_len ||\n-\t\t algo_name[algo_name_len - name_len - 1] == '.'))\n+\t\t\t algoName + algoNameLen - nameLen) == 0 &&\n+\t\t (nameLen == algoNameLen ||\n+\t\t algoName[algoNameLen - nameLen - 1] == '.'))\n \t\t\treturn algo.get();\n \t}\n \treturn nullptr;\ndiff --git a/src/ipa/raspberrypi/controller/controller.hpp b/src/ipa/raspberrypi/controller/controller.hpp\nindex 3b50ae770d11..a5e1eb38ab9d 100644\n--- a/src/ipa/raspberrypi/controller/controller.hpp\n+++ b/src/ipa/raspberrypi/controller/controller.hpp\n@@ -34,21 +34,21 @@ class Controller\n {\n public:\n \tController();\n-\tController(char const *json_filename);\n+\tController(char const *jsonFilename);\n \t~Controller();\n-\tAlgorithm *CreateAlgorithm(char const *name);\n-\tvoid Read(char const *filename);\n-\tvoid Initialise();\n-\tvoid SwitchMode(CameraMode const &camera_mode, Metadata *metadata);\n-\tvoid Prepare(Metadata *image_metadata);\n-\tvoid Process(StatisticsPtr stats, Metadata *image_metadata);\n-\tMetadata &GetGlobalMetadata();\n-\tAlgorithm *GetAlgorithm(std::string const &name) const;\n+\tAlgorithm *createAlgorithm(char const *name);\n+\tvoid read(char const *filename);\n+\tvoid initialise();\n+\tvoid switchMode(CameraMode const &cameraMode, Metadata *metadata);\n+\tvoid prepare(Metadata *imageMetadata);\n+\tvoid process(StatisticsPtr stats, Metadata *imageMetadata);\n+\tMetadata &getGlobalMetadata();\n+\tAlgorithm *getAlgorithm(std::string const &name) const;\n \n protected:\n-\tMetadata global_metadata_;\n+\tMetadata globalMetadata_;\n \tstd::vector<AlgorithmPtr> algorithms_;\n-\tbool switch_mode_called_;\n+\tbool switchModeCalled_;\n };\n \n } // namespace RPiController\n", "prefixes": [ "libcamera-devel", "04/15" ] }