android: camera_device: Report COLOR_CORRECTION_ABERRATION_MODE

The CaptureResultTest#testCameraCaptureResultAllKeys enforces the
presence of the ANDROID_COLOR_CORRECTION_ABERRATION_MODE result
metadata.

Report the only supported value of
ANDROID_COLOR_CORRECTION_ABERRATION_MODE_OFF.

Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
Jacopo Mondi 2021-02-03 14:44:34 +01:00
parent a3c75bba84
commit 520c3664bc

View file

@ -705,10 +705,10 @@ std::tuple<uint32_t, uint32_t> CameraDevice::calculateStaticMetadataSize()
{ {
/* /*
* \todo Keep this in sync with the actual number of entries. * \todo Keep this in sync with the actual number of entries.
* Currently: 53 entries, 838 bytes of static metadata * Currently: 53 entries, 842 bytes of static metadata
*/ */
uint32_t numEntries = 53; uint32_t numEntries = 53;
uint32_t byteSize = 838; uint32_t byteSize = 842;
/* /*
* Calculate space occupation in bytes for dynamically built metadata * Calculate space occupation in bytes for dynamically built metadata
@ -1288,6 +1288,7 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()
availableRequestKeys.size()); availableRequestKeys.size());
std::vector<int32_t> availableResultKeys = { std::vector<int32_t> availableResultKeys = {
ANDROID_COLOR_CORRECTION_ABERRATION_MODE,
ANDROID_CONTROL_AE_ANTIBANDING_MODE, ANDROID_CONTROL_AE_ANTIBANDING_MODE,
ANDROID_CONTROL_AE_LOCK, ANDROID_CONTROL_AE_LOCK,
ANDROID_CONTROL_AE_MODE, ANDROID_CONTROL_AE_MODE,
@ -2005,7 +2006,7 @@ CameraDevice::getResultMetadata(Camera3RequestDescriptor *descriptor,
* Total bytes for JPEG metadata: 82 * Total bytes for JPEG metadata: 82
*/ */
std::unique_ptr<CameraMetadata> resultMetadata = std::unique_ptr<CameraMetadata> resultMetadata =
std::make_unique<CameraMetadata>(40, 156); std::make_unique<CameraMetadata>(41, 157);
if (!resultMetadata->isValid()) { if (!resultMetadata->isValid()) {
LOG(HAL, Error) << "Failed to allocate static metadata"; LOG(HAL, Error) << "Failed to allocate static metadata";
return nullptr; return nullptr;
@ -2017,7 +2018,11 @@ CameraDevice::getResultMetadata(Camera3RequestDescriptor *descriptor,
* from libcamera::Request::metadata. * from libcamera::Request::metadata.
*/ */
uint8_t value = ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF; uint8_t value = ANDROID_COLOR_CORRECTION_ABERRATION_MODE_OFF;
resultMetadata->addEntry(ANDROID_COLOR_CORRECTION_ABERRATION_MODE,
&value, 1);
value = ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF;
resultMetadata->addEntry(ANDROID_CONTROL_AE_ANTIBANDING_MODE, &value, 1); resultMetadata->addEntry(ANDROID_CONTROL_AE_ANTIBANDING_MODE, &value, 1);
value = ANDROID_CONTROL_AE_LOCK_OFF; value = ANDROID_CONTROL_AE_LOCK_OFF;