android: camera_device: Handle COLOR_CORRECTION_ABERRATION_MODE
Register the ANDROID_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES static metadata property inspecting the values retuned by the pipeline handler. Reserve in the static metadata pack enough space to support all the 3 available color correction aberration modes Android defines. Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
parent
0b5fecc746
commit
63336863c9
1 changed files with 13 additions and 7 deletions
|
@ -553,7 +553,7 @@ std::tuple<uint32_t, uint32_t> CameraDevice::calculateStaticMetadataSize()
|
|||
* Currently: 51 entries, 687 bytes of static metadata
|
||||
*/
|
||||
uint32_t numEntries = 51;
|
||||
uint32_t byteSize = 691;
|
||||
uint32_t byteSize = 693;
|
||||
|
||||
/*
|
||||
* Calculate space occupation in bytes for dynamically built metadata
|
||||
|
@ -595,12 +595,18 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()
|
|||
const ControlInfoMap &controlsInfo = camera_->controls();
|
||||
|
||||
/* Color correction static metadata. */
|
||||
std::vector<uint8_t> aberrationModes = {
|
||||
ANDROID_COLOR_CORRECTION_ABERRATION_MODE_OFF,
|
||||
};
|
||||
staticMetadata_->addEntry(ANDROID_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES,
|
||||
aberrationModes.data(),
|
||||
aberrationModes.size());
|
||||
{
|
||||
std::vector<uint8_t> data(3);
|
||||
const auto &infoMap = controlsInfo.find(&controls::draft::ColorCorrectionAberrationMode);
|
||||
if (infoMap != controlsInfo.end()) {
|
||||
for (const auto &value : infoMap->second.values())
|
||||
data.push_back(value.get<int32_t>());
|
||||
} else {
|
||||
data.push_back(ANDROID_COLOR_CORRECTION_ABERRATION_MODE_OFF);
|
||||
}
|
||||
staticMetadata_->addEntry(ANDROID_COLOR_CORRECTION_AVAILABLE_ABERRATION_MODES,
|
||||
data.data(), data.size());
|
||||
}
|
||||
|
||||
/* Control static metadata. */
|
||||
std::vector<uint8_t> aeAvailableAntiBandingModes = {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue