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

Jacopo Mondi jacopo at jmondi.org
Wed Jul 29 18:21:47 CEST 2020


Hi Niklas,

On Wed, Jul 29, 2020 at 01:12:01PM +0200, Niklas Söderlund wrote:
> 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 },

For my own education, how does android distinguish between the diffent
components ordering, if they just report formats as RAWxx ? They don't
care ?

The patch looks good otherwise
Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>

Thanks
   j

> +			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
>
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel


More information about the libcamera-devel mailing list