summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNaushir Patuck <naush@raspberrypi.com>2021-06-29 11:44:59 +0100
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2021-06-30 23:16:18 +0300
commitd3ea8e78852ba91245fdb9069363c1149e99c3b0 (patch)
treec5f1b5403724a27beafc94561690c409fe886c8a
parent9d44551404fe0e68d4eaf087ac6fdd549434e98a (diff)
ipa: raspberrypi: Use a unique_ptr for the metadata parser
The derived CamHelper class now allocates a metadata parser object through a unique_ptr that is passed to the base class constructor. This automates the lifetime management of the parser object. Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: David Plowman <david.plowman@raspberrypi.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rw-r--r--src/ipa/raspberrypi/cam_helper.cpp5
-rw-r--r--src/ipa/raspberrypi/cam_helper.hpp5
-rw-r--r--src/ipa/raspberrypi/cam_helper_imx219.cpp4
-rw-r--r--src/ipa/raspberrypi/cam_helper_imx290.cpp2
-rw-r--r--src/ipa/raspberrypi/cam_helper_imx477.cpp2
-rw-r--r--src/ipa/raspberrypi/cam_helper_ov5647.cpp2
-rw-r--r--src/ipa/raspberrypi/cam_helper_ov9281.cpp2
7 files changed, 11 insertions, 11 deletions
diff --git a/src/ipa/raspberrypi/cam_helper.cpp b/src/ipa/raspberrypi/cam_helper.cpp
index 062e94c4..90498c37 100644
--- a/src/ipa/raspberrypi/cam_helper.cpp
+++ b/src/ipa/raspberrypi/cam_helper.cpp
@@ -40,15 +40,14 @@ CamHelper *CamHelper::Create(std::string const &cam_name)
return nullptr;
}
-CamHelper::CamHelper(MdParser *parser, unsigned int frameIntegrationDiff)
- : parser_(parser), initialized_(false),
+CamHelper::CamHelper(std::unique_ptr<MdParser> parser, unsigned int frameIntegrationDiff)
+ : parser_(std::move(parser)), initialized_(false),
frameIntegrationDiff_(frameIntegrationDiff)
{
}
CamHelper::~CamHelper()
{
- delete parser_;
}
void CamHelper::Prepare(Span<const uint8_t> buffer,
diff --git a/src/ipa/raspberrypi/cam_helper.hpp b/src/ipa/raspberrypi/cam_helper.hpp
index b19c95f6..fc3139e2 100644
--- a/src/ipa/raspberrypi/cam_helper.hpp
+++ b/src/ipa/raspberrypi/cam_helper.hpp
@@ -6,6 +6,7 @@
*/
#pragma once
+#include <memory>
#include <string>
#include <libcamera/base/span.h>
@@ -67,7 +68,7 @@ class CamHelper
{
public:
static CamHelper *Create(std::string const &cam_name);
- CamHelper(MdParser *parser, unsigned int frameIntegrationDiff);
+ CamHelper(std::unique_ptr<MdParser> parser, unsigned int frameIntegrationDiff);
virtual ~CamHelper();
void SetCameraMode(const CameraMode &mode);
virtual void Prepare(libcamera::Span<const uint8_t> buffer,
@@ -92,7 +93,7 @@ protected:
void parseEmbeddedData(libcamera::Span<const uint8_t> buffer,
Metadata &metadata);
- MdParser *parser_;
+ std::unique_ptr<MdParser> parser_;
CameraMode mode_;
private:
diff --git a/src/ipa/raspberrypi/cam_helper_imx219.cpp b/src/ipa/raspberrypi/cam_helper_imx219.cpp
index ec218dce..c85044a5 100644
--- a/src/ipa/raspberrypi/cam_helper_imx219.cpp
+++ b/src/ipa/raspberrypi/cam_helper_imx219.cpp
@@ -58,9 +58,9 @@ private:
CamHelperImx219::CamHelperImx219()
#if ENABLE_EMBEDDED_DATA
- : CamHelper(new MdParserImx219(), frameIntegrationDiff)
+ : CamHelper(std::make_unique<MdParserImx219>(), frameIntegrationDiff)
#else
- : CamHelper(nullptr, frameIntegrationDiff)
+ : CamHelper({}, frameIntegrationDiff)
#endif
{
}
diff --git a/src/ipa/raspberrypi/cam_helper_imx290.cpp b/src/ipa/raspberrypi/cam_helper_imx290.cpp
index 6f412e40..871c1f8e 100644
--- a/src/ipa/raspberrypi/cam_helper_imx290.cpp
+++ b/src/ipa/raspberrypi/cam_helper_imx290.cpp
@@ -30,7 +30,7 @@ private:
};
CamHelperImx290::CamHelperImx290()
- : CamHelper(nullptr, frameIntegrationDiff)
+ : CamHelper({}, frameIntegrationDiff)
{
}
diff --git a/src/ipa/raspberrypi/cam_helper_imx477.cpp b/src/ipa/raspberrypi/cam_helper_imx477.cpp
index 25b36bce..d72a9be0 100644
--- a/src/ipa/raspberrypi/cam_helper_imx477.cpp
+++ b/src/ipa/raspberrypi/cam_helper_imx477.cpp
@@ -50,7 +50,7 @@ private:
};
CamHelperImx477::CamHelperImx477()
- : CamHelper(new MdParserImx477(), frameIntegrationDiff)
+ : CamHelper(std::make_unique<MdParserImx477>(), frameIntegrationDiff)
{
}
diff --git a/src/ipa/raspberrypi/cam_helper_ov5647.cpp b/src/ipa/raspberrypi/cam_helper_ov5647.cpp
index 12be6bf9..702c2d07 100644
--- a/src/ipa/raspberrypi/cam_helper_ov5647.cpp
+++ b/src/ipa/raspberrypi/cam_helper_ov5647.cpp
@@ -38,7 +38,7 @@ private:
*/
CamHelperOv5647::CamHelperOv5647()
- : CamHelper(nullptr, frameIntegrationDiff)
+ : CamHelper({}, frameIntegrationDiff)
{
}
diff --git a/src/ipa/raspberrypi/cam_helper_ov9281.cpp b/src/ipa/raspberrypi/cam_helper_ov9281.cpp
index 54091f83..9de868c3 100644
--- a/src/ipa/raspberrypi/cam_helper_ov9281.cpp
+++ b/src/ipa/raspberrypi/cam_helper_ov9281.cpp
@@ -34,7 +34,7 @@ private:
*/
CamHelperOv9281::CamHelperOv9281()
- : CamHelper(nullptr, frameIntegrationDiff)
+ : CamHelper({}, frameIntegrationDiff)
{
}