[libcamera-devel,v2,2/3] android: camera_device: Fix sensor frame duration
diff mbox series

Message ID 20210524094123.1187354-2-paul.elder@ideasonboard.com
State Superseded
Headers show
Series
  • [libcamera-devel,v2,1/3] controls: Split FrameDurations into FrameDuration and FrameDurationLimits
Related show

Commit Message

Paul Elder May 24, 2021, 9:41 a.m. UTC
The sensor frame duration should be set by IPA. Get the information for
the result metadata from libcamera.

Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
---
 src/android/camera_device.cpp | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Laurent Pinchart May 24, 2021, 12:14 p.m. UTC | #1
Hi Paul,

Thank you for the patch.

On Mon, May 24, 2021 at 06:41:22PM +0900, Paul Elder wrote:
> The sensor frame duration should be set by IPA. Get the information for
> the result metadata from libcamera.
> 
> Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  src/android/camera_device.cpp | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
> index 0eea2b95..70173424 100644
> --- a/src/android/camera_device.cpp
> +++ b/src/android/camera_device.cpp
> @@ -2252,6 +2252,12 @@ CameraDevice::getResultMetadata(const Camera3RequestDescriptor &descriptor) cons
>  		resultMetadata->addEntry(ANDROID_SENSOR_EXPOSURE_TIME, exposure);
>  	}
>  
> +	if (metadata.contains(controls::FrameDuration)) {
> +		int64_t duration = metadata.get(controls::FrameDuration) * 1000;
> +		resultMetadata->addEntry(ANDROID_SENSOR_FRAME_DURATION,
> +					 duration);
> +	}
> +
>  	if (metadata.contains(controls::ScalerCrop)) {
>  		Rectangle crop = metadata.get(controls::ScalerCrop);
>  		int32_t cropRect[] = {

Patch
diff mbox series

diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
index 0eea2b95..70173424 100644
--- a/src/android/camera_device.cpp
+++ b/src/android/camera_device.cpp
@@ -2252,6 +2252,12 @@  CameraDevice::getResultMetadata(const Camera3RequestDescriptor &descriptor) cons
 		resultMetadata->addEntry(ANDROID_SENSOR_EXPOSURE_TIME, exposure);
 	}
 
+	if (metadata.contains(controls::FrameDuration)) {
+		int64_t duration = metadata.get(controls::FrameDuration) * 1000;
+		resultMetadata->addEntry(ANDROID_SENSOR_FRAME_DURATION,
+					 duration);
+	}
+
 	if (metadata.contains(controls::ScalerCrop)) {
 		Rectangle crop = metadata.get(controls::ScalerCrop);
 		int32_t cropRect[] = {