libcamera: raspberrypi: Add ColourCorrectionMatrix control
Implements, for the Raspberry Pi platform, the returning of the CCM (Colour Correction Matrix) used by the pipeline in the libcamera metadata. Signed-off-by: David Plowman <david.plowman@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
f5b45c180e
commit
0bf1070ca8
2 changed files with 9 additions and 0 deletions
|
@ -56,6 +56,7 @@ static const ControlInfoMap RPiControls = {
|
||||||
{ &controls::Contrast, ControlInfo(0.0f, 32.0f) },
|
{ &controls::Contrast, ControlInfo(0.0f, 32.0f) },
|
||||||
{ &controls::Saturation, ControlInfo(0.0f, 32.0f) },
|
{ &controls::Saturation, ControlInfo(0.0f, 32.0f) },
|
||||||
{ &controls::Sharpness, ControlInfo(0.0f, 16.0f, 1.0f) },
|
{ &controls::Sharpness, ControlInfo(0.0f, 16.0f, 1.0f) },
|
||||||
|
{ &controls::ColourCorrectionMatrix, ControlInfo(-16.0f, 16.0f) },
|
||||||
};
|
};
|
||||||
|
|
||||||
} /* namespace libcamera */
|
} /* namespace libcamera */
|
||||||
|
|
|
@ -438,6 +438,14 @@ void IPARPi::reportMetadata()
|
||||||
int32_t focusFoM = (focusStatus->focus_measures[5] + focusStatus->focus_measures[6]) / 2;
|
int32_t focusFoM = (focusStatus->focus_measures[5] + focusStatus->focus_measures[6]) / 2;
|
||||||
libcameraMetadata_.set(controls::FocusFoM, focusFoM);
|
libcameraMetadata_.set(controls::FocusFoM, focusFoM);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CcmStatus *ccmStatus = rpiMetadata_.GetLocked<CcmStatus>("ccm.status");
|
||||||
|
if (ccmStatus) {
|
||||||
|
float m[9];
|
||||||
|
for (unsigned int i = 0; i < 9; i++)
|
||||||
|
m[i] = ccmStatus->matrix[i];
|
||||||
|
libcameraMetadata_.set(controls::ColourCorrectionMatrix, m);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue