@@ -73,6 +73,26 @@ const std::map<int, const Camera3Format> camera3FormatsMap = {
{ formats::NV12, formats::NV21 },
"IMPLEMENTATION_DEFINED"
}
+ }, {
+ HAL_PIXEL_FORMAT_RAW10, {
+ { formats::SBGGR10_CSI2P, formats::SGBRG10_CSI2P, formats::SGRBG10_CSI2P, formats::SRGGB10_CSI2P },
+ "RAW10"
+ }
+ }, {
+ HAL_PIXEL_FORMAT_RAW12, {
+ { formats::SBGGR12_CSI2P, formats::SGBRG12_CSI2P, formats::SGRBG12_CSI2P, formats::SRGGB12_CSI2P },
+ "RAW12"
+ }
+ }, {
+ HAL_PIXEL_FORMAT_RAW16, {
+ { formats::SBGGR16, formats::SGBRG16, formats::SGRBG16, formats::SRGGB16 },
+ "RAW16"
+ }
+ }, {
+ HAL_PIXEL_FORMAT_RAW_OPAQUE, {
+ { formats::SBGGR10_IPU3, formats::SGBRG10_IPU3, formats::SGRBG10_IPU3, formats::SRGGB10_IPU3 },
+ "RAW_OPAQUE"
+ }
},
};
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@ragnatech.se> --- src/android/camera_device.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)