[libcamera-devel] [PATCH v2 2/3] android: camera_device: Map HAL RAW to libcamera RAW formats

Niklas Söderlund niklas.soderlund at ragnatech.se
Wed Jul 29 13:12:01 CEST 2020


Add a mapping from HAL RAW formats to the direct equivalent of libcamera
formats. With this change it is possible to capture RAW images as long
as the hardware can deliver frames in a format that is native to the
HAL.

More work is needed to deal with unpacked 8, 10 and 12 RAW formats as
they don't directly map to a native HAL format. Nor do they belong in
the RAW_OPAQUE category as the content format is generic and not
uncommonly supported by hardware.

Signed-off-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
---
 src/android/camera_device.cpp | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
index ce37fcb8cf5cd4b3..c31950db78a588ed 100644
--- a/src/android/camera_device.cpp
+++ b/src/android/camera_device.cpp
@@ -77,6 +77,30 @@ const std::map<int, const Camera3Format> camera3FormatsMap = {
 			true,
 			"IMPLEMENTATION_DEFINED"
 		}
+	}, {
+		HAL_PIXEL_FORMAT_RAW10, {
+			{ formats::SBGGR10_CSI2P, formats::SGBRG10_CSI2P, formats::SGRBG10_CSI2P, formats::SRGGB10_CSI2P },
+			false,
+			"RAW10"
+		}
+	}, {
+		HAL_PIXEL_FORMAT_RAW12, {
+			{ formats::SBGGR12_CSI2P, formats::SGBRG12_CSI2P, formats::SGRBG12_CSI2P, formats::SRGGB12_CSI2P },
+			false,
+			"RAW12"
+		}
+	}, {
+		HAL_PIXEL_FORMAT_RAW16, {
+			{ formats::SBGGR16, formats::SGBRG16, formats::SGRBG16, formats::SRGGB16 },
+			false,
+			"RAW16"
+		}
+	}, {
+		HAL_PIXEL_FORMAT_RAW_OPAQUE, {
+			{ formats::SBGGR10_IPU3, formats::SGBRG10_IPU3, formats::SGRBG10_IPU3, formats::SRGGB10_IPU3 },
+			false,
+			"RAW_OPAQUE"
+		}
 	},
 };
 
-- 
2.27.0



More information about the libcamera-devel mailing list