mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-13 07:19:45 +03:00
camera_sensor: ipa: core: Add CFA pattern to IPACameraSensorInfo
Add a new cfaPattern field to the IPACameraSensorInfo to pass the CFA/Bayer pattern for the current sensor configuration to the IPA. This field takes a value from properties::draft::ColorFilterArrangementEnum. Populate cfaPattern in CameraSensor::sensorInfo(), called by the pipeline handler before it calls ipa->init() and ipa->config(). Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
parent
f44df6f4fa
commit
54340ef70f
2 changed files with 16 additions and 0 deletions
|
@ -140,6 +140,18 @@ module libcamera;
|
||||||
* image sensor
|
* image sensor
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \var IPACameraSensorInfo::cfaPattern
|
||||||
|
* \brief The arrangement of colour filters on the image sensor
|
||||||
|
*
|
||||||
|
* This takes a value defined by properties::draft::ColorFilterArrangementEnum.
|
||||||
|
* For non-Bayer colour sensors, the cfaPattern will be set to
|
||||||
|
* properties::draft::ColorFilterArrangementEnum::RGB.
|
||||||
|
*
|
||||||
|
* \todo Make this variable optional once mojom supports it, instead of using
|
||||||
|
* RGB for sensors that don't have a CFA.
|
||||||
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \var IPACameraSensorInfo::activeAreaSize
|
* \var IPACameraSensorInfo::activeAreaSize
|
||||||
* \brief The size of the pixel array active area of the sensor
|
* \brief The size of the pixel array active area of the sensor
|
||||||
|
@ -229,6 +241,7 @@ struct IPACameraSensorInfo {
|
||||||
string model;
|
string model;
|
||||||
|
|
||||||
uint32 bitsPerPixel;
|
uint32 bitsPerPixel;
|
||||||
|
uint32 cfaPattern;
|
||||||
|
|
||||||
Size activeAreaSize;
|
Size activeAreaSize;
|
||||||
Rectangle analogCrop;
|
Rectangle analogCrop;
|
||||||
|
|
|
@ -956,6 +956,9 @@ int CameraSensor::sensorInfo(IPACameraSensorInfo *info) const
|
||||||
info->bitsPerPixel = format.bitsPerPixel();
|
info->bitsPerPixel = format.bitsPerPixel();
|
||||||
info->outputSize = format.size;
|
info->outputSize = format.size;
|
||||||
|
|
||||||
|
std::optional<int32_t> cfa = properties_.get(properties::draft::ColorFilterArrangement);
|
||||||
|
info->cfaPattern = cfa ? *cfa : properties::draft::RGB;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Retrieve the pixel rate, line length and minimum/maximum frame
|
* Retrieve the pixel rate, line length and minimum/maximum frame
|
||||||
* duration through V4L2 controls. Support for the V4L2_CID_PIXEL_RATE,
|
* duration through V4L2 controls. Support for the V4L2_CID_PIXEL_RATE,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue