libcamera: software_isp: Move isStandardBayerOrder to base class
isStandardBayerOrder is useful to both CPU and GPU debayer logic and reusable as-is for both. Move to shared location in base class. Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Milan Zamazal <mzamazal@redhat.com> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
committed by
Kieran Bingham
parent
c9f3e09634
commit
364886fb13
@@ -379,4 +379,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"
|
||||
@@ -88,6 +89,7 @@ private:
|
||||
protected:
|
||||
void setParams(DebayerParams ¶ms);
|
||||
void dmaSyncBegin(std::vector<DmaSyncer> &dmaSyncers, FrameBuffer *input, FrameBuffer *output);
|
||||
static 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
|
||||
|
||||
Reference in New Issue
Block a user