@@ -227,4 +227,14 @@ void Debayer::dmaSyncBegin(std::vector<DmaSyncer> &dmaSyncers, FrameBuffer *inpu
dmaSyncers.emplace_back(plane.fd, DmaSyncer::SyncType::Write);
}
+/**
+ * \fn void Debayer::isStandardBayerOrder(BayerFormat::Order order)
+ * \brief Common method to validate standard Bayer order
+ */
+bool Debayer::isStandardBayerOrder(BayerFormat::Order order)
+{
+ return order == BayerFormat::BGGR || order == BayerFormat::GBRG ||
+ order == BayerFormat::GRBG || order == BayerFormat::RGGB;
+}
+
} /* namespace libcamera */
@@ -20,6 +20,7 @@
#include <libcamera/geometry.h>
#include <libcamera/stream.h>
+#include "libcamera/internal/bayer_format.h"
#include "libcamera/internal/dma_buf_allocator.h"
#include "libcamera/internal/software_isp/benchmark.h"
#include "libcamera/internal/software_isp/debayer_params.h"
@@ -87,6 +88,7 @@ private:
protected:
void setParams(DebayerParams ¶ms);
void dmaSyncBegin(std::vector<DmaSyncer> &dmaSyncers, FrameBuffer *input, FrameBuffer *output);
+ bool isStandardBayerOrder(BayerFormat::Order order);
};
} /* namespace libcamera */
@@ -282,12 +282,6 @@ void DebayerCpu::debayer10P_RGRG_BGR888(uint8_t *dst, const uint8_t *src[])
}
}
-static bool isStandardBayerOrder(BayerFormat::Order order)
-{
- return order == BayerFormat::BGGR || order == BayerFormat::GBRG ||
- order == BayerFormat::GRBG || order == BayerFormat::RGGB;
-}
-
/*
* Setup the Debayer object according to the passed in parameters.
* Return 0 on success, a negative errno value on failure
@@ -17,7 +17,6 @@
#include <libcamera/base/object.h>
-#include "libcamera/internal/bayer_format.h"
#include "libcamera/internal/software_isp/swstats_cpu.h"
#include "debayer.h"
isStandardBayerOrder is useful to both CPU and GPU debayer logic and reusable as-is for both. Move to shared location in base class. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> --- src/libcamera/software_isp/debayer.cpp | 10 ++++++++++ src/libcamera/software_isp/debayer.h | 2 ++ src/libcamera/software_isp/debayer_cpu.cpp | 6 ------ src/libcamera/software_isp/debayer_cpu.h | 1 - 4 files changed, 12 insertions(+), 7 deletions(-)