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
|
||||
*/
|
||||
|
||||
/**
|
||||
* \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
|
||||
* \brief The size of the pixel array active area of the sensor
|
||||
|
@ -229,6 +241,7 @@ struct IPACameraSensorInfo {
|
|||
string model;
|
||||
|
||||
uint32 bitsPerPixel;
|
||||
uint32 cfaPattern;
|
||||
|
||||
Size activeAreaSize;
|
||||
Rectangle analogCrop;
|
||||
|
|
|
@ -956,6 +956,9 @@ int CameraSensor::sensorInfo(IPACameraSensorInfo *info) const
|
|||
info->bitsPerPixel = format.bitsPerPixel();
|
||||
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
|
||||
* duration through V4L2 controls. Support for the V4L2_CID_PIXEL_RATE,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue