@@ -236,4 +236,14 @@ void Debayer::dmaSyncBegin(std::vector<DmaSyncer> &dmaSyncers, FrameBuffer *inpu
}
}
+/**
+ * \fn void Debayer::isStandardBayerOrder(BayerFormat::Order order)
+ * \brief Common method to validate standard 2x2 Bayer pattern of 2 Green, 1 Blue, 1 Red pixels.
+ */
+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/global_configuration.h"
#include "libcamera/internal/software_isp/benchmark.h"
@@ -116,6 +117,7 @@ private:
protected:
void setParams(DebayerParams ¶ms);
void dmaSyncBegin(std::vector<DmaSyncer> &dmaSyncers, FrameBuffer *input, FrameBuffer *output);
+ bool isStandardBayerOrder(BayerFormat::Order order);
};
} /* namespace libcamera */
@@ -288,12 +288,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