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. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
This commit is contained in:
parent
c3a8493a12
commit
8ca941b7b5
4 changed files with 12 additions and 7 deletions
|
@ -227,4 +227,14 @@ void Debayer::dmaSyncBegin(std::vector<DmaSyncer> &dmaSyncers, FrameBuffer *inpu
|
||||||
dmaSyncers.emplace_back(plane.fd, DmaSyncer::SyncType::Write);
|
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 */
|
} /* namespace libcamera */
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
#include <libcamera/geometry.h>
|
#include <libcamera/geometry.h>
|
||||||
#include <libcamera/stream.h>
|
#include <libcamera/stream.h>
|
||||||
|
|
||||||
|
#include "libcamera/internal/bayer_format.h"
|
||||||
#include "libcamera/internal/dma_buf_allocator.h"
|
#include "libcamera/internal/dma_buf_allocator.h"
|
||||||
#include "libcamera/internal/software_isp/benchmark.h"
|
#include "libcamera/internal/software_isp/benchmark.h"
|
||||||
#include "libcamera/internal/software_isp/debayer_params.h"
|
#include "libcamera/internal/software_isp/debayer_params.h"
|
||||||
|
@ -87,6 +88,7 @@ private:
|
||||||
protected:
|
protected:
|
||||||
void setParams(DebayerParams ¶ms);
|
void setParams(DebayerParams ¶ms);
|
||||||
void dmaSyncBegin(std::vector<DmaSyncer> &dmaSyncers, FrameBuffer *input, FrameBuffer *output);
|
void dmaSyncBegin(std::vector<DmaSyncer> &dmaSyncers, FrameBuffer *input, FrameBuffer *output);
|
||||||
|
bool isStandardBayerOrder(BayerFormat::Order order);
|
||||||
};
|
};
|
||||||
|
|
||||||
} /* namespace libcamera */
|
} /* 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.
|
* Setup the Debayer object according to the passed in parameters.
|
||||||
* Return 0 on success, a negative errno value on failure
|
* Return 0 on success, a negative errno value on failure
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
|
|
||||||
#include <libcamera/base/object.h>
|
#include <libcamera/base/object.h>
|
||||||
|
|
||||||
#include "libcamera/internal/bayer_format.h"
|
|
||||||
#include "libcamera/internal/software_isp/swstats_cpu.h"
|
#include "libcamera/internal/software_isp/swstats_cpu.h"
|
||||||
|
|
||||||
#include "debayer.h"
|
#include "debayer.h"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue