[libcamera-devel,v4,6/6] android: camera_device: Do not default pixel array properties
diff mbox series

Message ID 20201230230603.123486-7-jacopo@jmondi.org
State Superseded
Headers show
Series
  • libcamera: camera_sensor: Make validation more strict
Related show

Commit Message

Jacopo Mondi Dec. 30, 2020, 11:06 p.m. UTC
Now that the pixel array properties have been defaulted in the
CameraSensor class, they will always be reported by the
libcamera::Camera and there's no need to default them in the
Camera HAL.

Remove defaults and assume properties are always there.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
---
 src/android/camera_device.cpp | 20 ++------------------
 1 file changed, 2 insertions(+), 18 deletions(-)

Comments

Niklas Söderlund Jan. 4, 2021, 1:23 p.m. UTC | #1
Hi Jacopo,

Thanks for your work.

On 2020-12-31 00:06:03 +0100, Jacopo Mondi wrote:
> Now that the pixel array properties have been defaulted in the
> CameraSensor class, they will always be reported by the
> libcamera::Camera and there's no need to default them in the
> Camera HAL.
> 
> Remove defaults and assume properties are always there.
> 
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>

Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>

> ---
>  src/android/camera_device.cpp | 20 ++------------------
>  1 file changed, 2 insertions(+), 18 deletions(-)
> 
> diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
> index 7678d4485ce9..9912875ea046 100644
> --- a/src/android/camera_device.cpp
> +++ b/src/android/camera_device.cpp
> @@ -851,7 +851,7 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()
>  	staticMetadata_->addEntry(ANDROID_JPEG_MAX_SIZE, &maxJpegBufferSize_, 1);
>  
>  	/* Sensor static metadata. */
> -	if (properties.contains(properties::PixelArraySize)) {
> +	{
>  		const Size &size =
>  			properties.get(properties::PixelArraySize);
>  		std::vector<int32_t> data{
> @@ -860,17 +860,9 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()
>  		};
>  		staticMetadata_->addEntry(ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE,
>  					  data.data(), data.size());
> -	} else {
> -		/*
> -		 * \todo Drop the default once the ov5670 and ov13858 drivers
> -		 * are updated to report the pixel array size.
> -		 */
> -		int32_t data[] = { 2592, 1944 };
> -		staticMetadata_->addEntry(ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE,
> -					  data, 2);
>  	}
>  
> -	if (properties.contains(properties::PixelArrayActiveAreas)) {
> +	{
>  		const Span<const Rectangle> &rects =
>  			properties.get(properties::PixelArrayActiveAreas);
>  		std::vector<int32_t> data{
> @@ -881,14 +873,6 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()
>  		};
>  		staticMetadata_->addEntry(ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE,
>  					  data.data(), data.size());
> -	} else {
> -		/*
> -		 * \todo Drop the default once the ov5670 and ov13858 drivers
> -		 * are updated to report the pixel array size.
> -		 */
> -		int32_t data[] = { 0, 0, 2560, 1920 };
> -		staticMetadata_->addEntry(ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE,
> -					  data, 4);
>  	}
>  
>  	int32_t sensitivityRange[] = {
> -- 
> 2.29.2
> 
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel@lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel

Patch
diff mbox series

diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
index 7678d4485ce9..9912875ea046 100644
--- a/src/android/camera_device.cpp
+++ b/src/android/camera_device.cpp
@@ -851,7 +851,7 @@  const camera_metadata_t *CameraDevice::getStaticMetadata()
 	staticMetadata_->addEntry(ANDROID_JPEG_MAX_SIZE, &maxJpegBufferSize_, 1);
 
 	/* Sensor static metadata. */
-	if (properties.contains(properties::PixelArraySize)) {
+	{
 		const Size &size =
 			properties.get(properties::PixelArraySize);
 		std::vector<int32_t> data{
@@ -860,17 +860,9 @@  const camera_metadata_t *CameraDevice::getStaticMetadata()
 		};
 		staticMetadata_->addEntry(ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE,
 					  data.data(), data.size());
-	} else {
-		/*
-		 * \todo Drop the default once the ov5670 and ov13858 drivers
-		 * are updated to report the pixel array size.
-		 */
-		int32_t data[] = { 2592, 1944 };
-		staticMetadata_->addEntry(ANDROID_SENSOR_INFO_PIXEL_ARRAY_SIZE,
-					  data, 2);
 	}
 
-	if (properties.contains(properties::PixelArrayActiveAreas)) {
+	{
 		const Span<const Rectangle> &rects =
 			properties.get(properties::PixelArrayActiveAreas);
 		std::vector<int32_t> data{
@@ -881,14 +873,6 @@  const camera_metadata_t *CameraDevice::getStaticMetadata()
 		};
 		staticMetadata_->addEntry(ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE,
 					  data.data(), data.size());
-	} else {
-		/*
-		 * \todo Drop the default once the ov5670 and ov13858 drivers
-		 * are updated to report the pixel array size.
-		 */
-		int32_t data[] = { 0, 0, 2560, 1920 };
-		staticMetadata_->addEntry(ANDROID_SENSOR_INFO_ACTIVE_ARRAY_SIZE,
-					  data, 4);
 	}
 
 	int32_t sensitivityRange[] = {