From patchwork Mon Jul 25 13:46:24 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Naushir Patuck X-Patchwork-Id: 16753 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 9742BC3275 for ; Mon, 25 Jul 2022 13:46:46 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id E219763315; Mon, 25 Jul 2022 15:46:45 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1658756805; bh=gExu/fIzvjfgTEq20muoUU833n2SLz3S5mZVA/0n82c=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=XICMjP7lPyULn59wEdVdQUHO1U9AMvXA20nmY2vE75D6WSpiBXzzRAo++kWg3siOm bHWQEh0+HRvI+4R5kLFBjh9/V/Y9fO7RLtkS2bJ1NdChR2n5DOHutVS1yomuS0wMZ8 Ml5xiaroTzS2XBVGcFcWzs1Mc6OouzX69+UiqWaBhPLKNBQFh2lO6LFr1BcwWU8dVU GAxvyohSoR5QF2nWtOWigg2uH9MWMHZ5FKNkqESYwyIgfN502QTTi0VVt8tNNwUVX/ 7/W9A0WFHAURPA2UUC/kt7uSnwKRzdk+pQB1r4dJH24JAsQfKA8lva/49Jpgno6fqa hj+eZ1I/bFnuA== Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com [IPv6:2a00:1450:4864:20::330]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 44B7C6330A for ; Mon, 25 Jul 2022 15:46:44 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="PTrqBORx"; dkim-atps=neutral Received: by mail-wm1-x330.google.com with SMTP id j29-20020a05600c1c1d00b003a2fdafdefbso6395742wms.2 for ; Mon, 25 Jul 2022 06:46:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=x5W2n2jCWr9g18TFotFnyKMoPisVn0r6K4rcpyft02s=; b=PTrqBORxKSsat8Q5UT7kRm0x6qWyPuMQPo8MhnyLoo9flgDe+DQXT2rYMcJmEex7xr OQeDCGEOxjM3rWiDCBL5zOblkhlqEnpVV3sjS7kC6PRDKIuec/qqm5WlYNuuoxb1vT3y g4ia/iNyzW7UKZ+heM24uIV9OUxb/CjS0SnrZ0iXhu1T5c7lcRE0hIGzVsGANBc9Jbdh qYJziBD7lq5Rw3sE5/qoJBMbMWmNsb+iesYm7Smrv+SsidtpZ5jwhlxCfKgtcBQUQEVy gavvYZjnPaEcPH878AkP17BE47FCqt5PFDsdgvIHL4PxBmk+rbNjOmhn3Nh9m3sNlydI K8+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=x5W2n2jCWr9g18TFotFnyKMoPisVn0r6K4rcpyft02s=; b=uO5PNcLG5LJIehTdQmYjjvW2WhpDOJTk6eXhCE7pYICqhfYqTUftH6Prp0Jy4UPfm4 YZwytAbFADYHx1/9j8iU0wVwsupCTmNqPj/12006y9yG3dlaqGj0Wh+tXtiCibnQeUz+ oplCWJmWkwB7wasUa5ELHfIQqjd7oK456VhNKONnMGcmKit3JKhwCDPASwLBIgZROVjA tWmrVbldyZKj7UfI3a1TcQIDK9hXlwlO9l2/WWTcaZNPsLw53UFSlK/7SHgQQyrqSprG 6Cu2Dpxg/2g9rvvmGLM/uC8wVO1sZgZh5WFNFhV+0qWVdwUwxTDSCp4WbzoEKuctGJHB UMIQ== X-Gm-Message-State: AJIora8d/WBtYUr31DD/6M5d4BIlkMwB/UbBGLyVR6tfeuupc2X0MTq7 SmX0VCCgLYXClb8LpxyvI3LDiuALNq1gHA== X-Google-Smtp-Source: AGRyM1umxYcEgmcDrNUc8AGVNHEggn98d26pF5N6/SfFOJ8eQ0u2/3SLkGlXPWvE/EWYP8Ko3TRGQA== X-Received: by 2002:a05:600c:3847:b0:3a3:5333:8bcd with SMTP id s7-20020a05600c384700b003a353338bcdmr5044715wmr.36.1658756803312; Mon, 25 Jul 2022 06:46:43 -0700 (PDT) Received: from naush-laptop.localdomain ([93.93.133.154]) by smtp.gmail.com with ESMTPSA id a20-20020a05600c225400b003a32167b8d4sm18054320wmm.13.2022.07.25.06.46.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Jul 2022 06:46:42 -0700 (PDT) To: libcamera-devel@lists.libcamera.org Date: Mon, 25 Jul 2022 14:46:24 +0100 Message-Id: <20220725134639.4572-1-naush@raspberrypi.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH 00/15] Raspberry Pi IPA code refactor X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Naushir Patuck via libcamera-devel From: Naushir Patuck Reply-To: Naushir Patuck Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Hi, This rather large patch series performs a (largely overdue) code refactoring on all our IPA source files to match the libcamera coding style guidelines. Given the size of the first round of changes (switching to CamelCase), I've split a single large patch into multiple smaller patches (1/15 - 10/15). Please note, THESE CANNOT BE MERGED AS-IS (hence the DNI tag) as they will cause intermediate compile breakages. Once ready for merging, these must be squashed into a single large patch. It also means that the entire context of the change will not fully be available in patches 1/15 - 10/15. Apologies for that, but this seems the most sensible way to help with the review. Regards, Naush Naushir Patuck (15): DNI: ipa: raspberrypi: Code refactoring to match style guidelines DNI: ipa: raspberrypi: Code refactoring to match style guidelines DNI: ipa: raspberrypi: Code refactoring to match style guidelines DNI: ipa: raspberrypi: Code refactoring to match style guidelines DNI: ipa: raspberrypi: Code refactoring to match style guidelines DNI: ipa: raspberrypi: Code refactoring to match style guidelines DNI: ipa: raspberrypi: Code refactoring to match style guidelines DNI: ipa: raspberrypi: Code refactoring to match style guidelines DNI: ipa: raspberrypi: Code refactoring to match style guidelines DNI: ipa: raspberrypi: Code refactoring to match style guidelines ipa: raspberrypi: Change to C style code comments ipa: raspberrypi: Remove extern "C" declarations ipa: raspberrypi: Rename header files from *.hpp to *.h raspberrypi: Update Copyright statement in all Raspberry Pi source files ipa: raspberryip: Remove all exception throw statements .reuse/dep5 | 2 +- include/libcamera/color_space.h | 2 +- include/libcamera/internal/bayer_format.h | 2 +- include/libcamera/internal/delayed_controls.h | 2 +- include/libcamera/internal/v4l2_pixelformat.h | 2 +- include/libcamera/transform.h | 2 +- include/linux/bcm2835-isp.h | 2 +- src/cam/stream_options.cpp | 2 +- src/cam/stream_options.h | 2 +- src/ipa/libipa/histogram.cpp | 2 +- src/ipa/libipa/histogram.h | 2 +- src/ipa/raspberrypi/cam_helper.cpp | 94 +- src/ipa/raspberrypi/cam_helper.h | 127 ++ src/ipa/raspberrypi/cam_helper.hpp | 123 -- src/ipa/raspberrypi/cam_helper_imx219.cpp | 40 +- src/ipa/raspberrypi/cam_helper_imx290.cpp | 36 +- src/ipa/raspberrypi/cam_helper_imx296.cpp | 28 +- src/ipa/raspberrypi/cam_helper_imx477.cpp | 78 +- src/ipa/raspberrypi/cam_helper_imx519.cpp | 76 +- src/ipa/raspberrypi/cam_helper_ov5647.cpp | 48 +- src/ipa/raspberrypi/cam_helper_ov9281.cpp | 32 +- .../raspberrypi/controller/agc_algorithm.h | 31 + .../raspberrypi/controller/agc_algorithm.hpp | 32 - src/ipa/raspberrypi/controller/agc_status.h | 46 +- src/ipa/raspberrypi/controller/algorithm.cpp | 26 +- src/ipa/raspberrypi/controller/algorithm.h | 64 + src/ipa/raspberrypi/controller/algorithm.hpp | 60 - src/ipa/raspberrypi/controller/alsc_status.h | 16 +- .../raspberrypi/controller/awb_algorithm.h | 23 + .../raspberrypi/controller/awb_algorithm.hpp | 23 - src/ipa/raspberrypi/controller/awb_status.h | 24 +- .../controller/black_level_status.h | 14 +- src/ipa/raspberrypi/controller/camera_mode.h | 54 +- .../raspberrypi/controller/ccm_algorithm.h | 21 + .../raspberrypi/controller/ccm_algorithm.hpp | 21 - src/ipa/raspberrypi/controller/ccm_status.h | 12 +- .../controller/contrast_algorithm.h | 22 + .../controller/contrast_algorithm.hpp | 22 - .../raspberrypi/controller/contrast_status.h | 16 +- src/ipa/raspberrypi/controller/controller.cpp | 86 +- src/ipa/raspberrypi/controller/controller.h | 58 + src/ipa/raspberrypi/controller/controller.hpp | 54 - ...oise_algorithm.hpp => denoise_algorithm.h} | 12 +- .../raspberrypi/controller/denoise_status.h | 12 +- .../raspberrypi/controller/device_status.cpp | 20 +- .../raspberrypi/controller/device_status.h | 18 +- src/ipa/raspberrypi/controller/dpc_status.h | 14 +- src/ipa/raspberrypi/controller/focus_status.h | 20 +- src/ipa/raspberrypi/controller/geq_status.h | 12 +- src/ipa/raspberrypi/controller/histogram.cpp | 46 +- src/ipa/raspberrypi/controller/histogram.h | 48 + src/ipa/raspberrypi/controller/histogram.hpp | 44 - src/ipa/raspberrypi/controller/lux_status.h | 28 +- .../controller/{metadata.hpp => metadata.h} | 40 +- src/ipa/raspberrypi/controller/noise_status.h | 12 +- src/ipa/raspberrypi/controller/pwl.cpp | 174 +-- src/ipa/raspberrypi/controller/pwl.h | 126 ++ src/ipa/raspberrypi/controller/pwl.hpp | 112 -- src/ipa/raspberrypi/controller/rpi/agc.cpp | 1031 +++++++++-------- src/ipa/raspberrypi/controller/rpi/agc.h | 141 +++ src/ipa/raspberrypi/controller/rpi/agc.hpp | 139 --- src/ipa/raspberrypi/controller/rpi/alsc.cpp | 854 +++++++------- src/ipa/raspberrypi/controller/rpi/alsc.h | 110 ++ src/ipa/raspberrypi/controller/rpi/alsc.hpp | 106 -- src/ipa/raspberrypi/controller/rpi/awb.cpp | 762 ++++++------ src/ipa/raspberrypi/controller/rpi/awb.h | 193 +++ src/ipa/raspberrypi/controller/rpi/awb.hpp | 179 --- .../controller/rpi/black_level.cpp | 46 +- .../raspberrypi/controller/rpi/black_level.h | 30 + .../controller/rpi/black_level.hpp | 30 - src/ipa/raspberrypi/controller/rpi/ccm.cpp | 117 +- .../controller/rpi/{ccm.hpp => ccm.h} | 24 +- .../raspberrypi/controller/rpi/contrast.cpp | 200 ++-- src/ipa/raspberrypi/controller/rpi/contrast.h | 52 + .../raspberrypi/controller/rpi/contrast.hpp | 50 - src/ipa/raspberrypi/controller/rpi/dpc.cpp | 34 +- src/ipa/raspberrypi/controller/rpi/dpc.h | 32 + src/ipa/raspberrypi/controller/rpi/dpc.hpp | 32 - src/ipa/raspberrypi/controller/rpi/focus.cpp | 18 +- .../controller/rpi/{focus.hpp => focus.h} | 12 +- src/ipa/raspberrypi/controller/rpi/geq.cpp | 64 +- src/ipa/raspberrypi/controller/rpi/geq.h | 34 + src/ipa/raspberrypi/controller/rpi/geq.hpp | 34 - src/ipa/raspberrypi/controller/rpi/lux.cpp | 90 +- src/ipa/raspberrypi/controller/rpi/lux.h | 45 + src/ipa/raspberrypi/controller/rpi/lux.hpp | 43 - src/ipa/raspberrypi/controller/rpi/noise.cpp | 60 +- src/ipa/raspberrypi/controller/rpi/noise.h | 32 + src/ipa/raspberrypi/controller/rpi/noise.hpp | 32 - src/ipa/raspberrypi/controller/rpi/sdn.cpp | 46 +- src/ipa/raspberrypi/controller/rpi/sdn.h | 32 + src/ipa/raspberrypi/controller/rpi/sdn.hpp | 32 - .../raspberrypi/controller/rpi/sharpen.cpp | 72 +- src/ipa/raspberrypi/controller/rpi/sharpen.h | 34 + .../raspberrypi/controller/rpi/sharpen.hpp | 34 - .../controller/sharpen_algorithm.h | 21 + .../controller/sharpen_algorithm.hpp | 21 - .../raspberrypi/controller/sharpen_status.h | 22 +- .../{md_parser.hpp => md_parser.h} | 40 +- src/ipa/raspberrypi/md_parser_smia.cpp | 100 +- src/ipa/raspberrypi/raspberrypi.cpp | 274 ++--- src/libcamera/bayer_format.cpp | 2 +- src/libcamera/color_space.cpp | 2 +- src/libcamera/delayed_controls.cpp | 2 +- .../pipeline/raspberrypi/dma_heaps.cpp | 2 +- .../pipeline/raspberrypi/dma_heaps.h | 2 +- .../pipeline/raspberrypi/raspberrypi.cpp | 2 +- .../pipeline/raspberrypi/rpi_stream.cpp | 2 +- .../pipeline/raspberrypi/rpi_stream.h | 2 +- src/libcamera/transform.cpp | 2 +- src/libcamera/v4l2_pixelformat.cpp | 2 +- src/qcam/dng_writer.cpp | 2 +- src/qcam/dng_writer.h | 2 +- utils/raspberrypi/ctt/ctt.py | 2 +- utils/raspberrypi/ctt/ctt_alsc.py | 2 +- utils/raspberrypi/ctt/ctt_awb.py | 2 +- utils/raspberrypi/ctt/ctt_ccm.py | 2 +- utils/raspberrypi/ctt/ctt_geq.py | 2 +- utils/raspberrypi/ctt/ctt_image_load.py | 2 +- utils/raspberrypi/ctt/ctt_lux.py | 2 +- utils/raspberrypi/ctt/ctt_macbeth_locator.py | 2 +- utils/raspberrypi/ctt/ctt_noise.py | 2 +- .../raspberrypi/ctt/ctt_pretty_print_json.py | 2 +- utils/raspberrypi/ctt/ctt_ransac.py | 2 +- utils/raspberrypi/ctt/ctt_tools.py | 2 +- 125 files changed, 3817 insertions(+), 3752 deletions(-) create mode 100644 src/ipa/raspberrypi/cam_helper.h delete mode 100644 src/ipa/raspberrypi/cam_helper.hpp create mode 100644 src/ipa/raspberrypi/controller/agc_algorithm.h delete mode 100644 src/ipa/raspberrypi/controller/agc_algorithm.hpp create mode 100644 src/ipa/raspberrypi/controller/algorithm.h delete mode 100644 src/ipa/raspberrypi/controller/algorithm.hpp create mode 100644 src/ipa/raspberrypi/controller/awb_algorithm.h delete mode 100644 src/ipa/raspberrypi/controller/awb_algorithm.hpp create mode 100644 src/ipa/raspberrypi/controller/ccm_algorithm.h delete mode 100644 src/ipa/raspberrypi/controller/ccm_algorithm.hpp create mode 100644 src/ipa/raspberrypi/controller/contrast_algorithm.h delete mode 100644 src/ipa/raspberrypi/controller/contrast_algorithm.hpp create mode 100644 src/ipa/raspberrypi/controller/controller.h delete mode 100644 src/ipa/raspberrypi/controller/controller.hpp rename src/ipa/raspberrypi/controller/{denoise_algorithm.hpp => denoise_algorithm.h} (53%) create mode 100644 src/ipa/raspberrypi/controller/histogram.h delete mode 100644 src/ipa/raspberrypi/controller/histogram.hpp rename src/ipa/raspberrypi/controller/{metadata.hpp => metadata.h} (61%) create mode 100644 src/ipa/raspberrypi/controller/pwl.h delete mode 100644 src/ipa/raspberrypi/controller/pwl.hpp create mode 100644 src/ipa/raspberrypi/controller/rpi/agc.h delete mode 100644 src/ipa/raspberrypi/controller/rpi/agc.hpp create mode 100644 src/ipa/raspberrypi/controller/rpi/alsc.h delete mode 100644 src/ipa/raspberrypi/controller/rpi/alsc.hpp create mode 100644 src/ipa/raspberrypi/controller/rpi/awb.h delete mode 100644 src/ipa/raspberrypi/controller/rpi/awb.hpp create mode 100644 src/ipa/raspberrypi/controller/rpi/black_level.h delete mode 100644 src/ipa/raspberrypi/controller/rpi/black_level.hpp rename src/ipa/raspberrypi/controller/rpi/{ccm.hpp => ccm.h} (68%) create mode 100644 src/ipa/raspberrypi/controller/rpi/contrast.h delete mode 100644 src/ipa/raspberrypi/controller/rpi/contrast.hpp create mode 100644 src/ipa/raspberrypi/controller/rpi/dpc.h delete mode 100644 src/ipa/raspberrypi/controller/rpi/dpc.hpp rename src/ipa/raspberrypi/controller/rpi/{focus.hpp => focus.h} (59%) create mode 100644 src/ipa/raspberrypi/controller/rpi/geq.h delete mode 100644 src/ipa/raspberrypi/controller/rpi/geq.hpp create mode 100644 src/ipa/raspberrypi/controller/rpi/lux.h delete mode 100644 src/ipa/raspberrypi/controller/rpi/lux.hpp create mode 100644 src/ipa/raspberrypi/controller/rpi/noise.h delete mode 100644 src/ipa/raspberrypi/controller/rpi/noise.hpp create mode 100644 src/ipa/raspberrypi/controller/rpi/sdn.h delete mode 100644 src/ipa/raspberrypi/controller/rpi/sdn.hpp create mode 100644 src/ipa/raspberrypi/controller/rpi/sharpen.h delete mode 100644 src/ipa/raspberrypi/controller/rpi/sharpen.hpp create mode 100644 src/ipa/raspberrypi/controller/sharpen_algorithm.h delete mode 100644 src/ipa/raspberrypi/controller/sharpen_algorithm.hpp rename src/ipa/raspberrypi/{md_parser.hpp => md_parser.h} (80%)