[libcamera-devel] [PATCH 7/7] android: camera_device: Report HOT_PIXEL_MAP_MODE as OFF

Jacopo Mondi jacopo at jmondi.org
Wed Feb 3 17:26:00 CET 2021


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

Report ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_OFF as the Camera HAL
does not support the generation of an hot pixel correction map.

Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
---
 src/android/camera_device.cpp | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
index 2b065d57febb..df5e295656d7 100644
--- a/src/android/camera_device.cpp
+++ b/src/android/camera_device.cpp
@@ -708,7 +708,7 @@ std::tuple<uint32_t, uint32_t> CameraDevice::calculateStaticMetadataSize()
 	 * Currently: 53 entries, 846 bytes of static metadata
 	 */
 	uint32_t numEntries = 53;
-	uint32_t byteSize = 858;
+	uint32_t byteSize = 862;
 
 	/*
 	 * Calculate space occupation in bytes for dynamically built metadata
@@ -1285,6 +1285,7 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()
 		ANDROID_SENSOR_TIMESTAMP,
 		ANDROID_STATISTICS_FACE_DETECT_MODE,
 		ANDROID_STATISTICS_LENS_SHADING_MAP_MODE,
+		ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE,
 		ANDROID_STATISTICS_SCENE_FLICKER,
 	};
 	staticMetadata_->addEntry(ANDROID_REQUEST_AVAILABLE_RESULT_KEYS,
@@ -1966,7 +1967,7 @@ CameraDevice::getResultMetadata(Camera3RequestDescriptor *descriptor,
 	 * Total bytes for JPEG metadata: 82
 	 */
 	std::unique_ptr<CameraMetadata> resultMetadata =
-		std::make_unique<CameraMetadata>(43, 165);
+		std::make_unique<CameraMetadata>(44, 166);
 	if (!resultMetadata->isValid()) {
 		LOG(HAL, Error) << "Failed to allocate static metadata";
 		return nullptr;
@@ -2073,6 +2074,10 @@ CameraDevice::getResultMetadata(Camera3RequestDescriptor *descriptor,
 	resultMetadata->addEntry(ANDROID_STATISTICS_LENS_SHADING_MAP_MODE,
 				 &value, 1);
 
+	value = ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE_OFF;
+	resultMetadata->addEntry(ANDROID_STATISTICS_HOT_PIXEL_MAP_MODE,
+				 &value, 1);
+
 	value = ANDROID_STATISTICS_SCENE_FLICKER_NONE;
 	resultMetadata->addEntry(ANDROID_STATISTICS_SCENE_FLICKER,
 				 &value, 1);
-- 
2.30.0



More information about the libcamera-devel mailing list