[libcamera-devel] [PATCH] android: camera_device: Set AE precapture trigger according to request
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Wed Jan 27 11:32:50 CET 2021
Hi Paul,
Thank you for the patch.
On Wed, Jan 27, 2021 at 07:14:35PM +0900, Paul Elder wrote:
> Set the AE precapture triggler tag in the android result metadata
> according to what was passed in the request metadata.
>
> This allows the following CTS test to pass:
> - android.hardware.camera2.cts.StillCaptureTest#testAePrecaptureTriggerCancelJpegCapture
>
> Signed-off-by: Paul Elder <paul.elder at ideasonboard.com>
> ---
> src/android/camera_device.cpp | 13 ++++++++++---
> 1 file changed, 10 insertions(+), 3 deletions(-)
>
> diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
> index 82bf0d3a..941e89a8 100644
> --- a/src/android/camera_device.cpp
> +++ b/src/android/camera_device.cpp
> @@ -1806,6 +1806,13 @@ void CameraDevice::requestComplete(Request *request)
> uint64_t timestamp = buffers.begin()->second->metadata().timestamp;
> resultMetadata = getResultMetadata(descriptor, timestamp);
>
> + camera_metadata_ro_entry_t entry;
> + /* \todo Handle IPA appropriately */
> + int ret = descriptor->settings_.getEntry(ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER, &entry);
> + if (ret)
> + resultMetadata->updateEntry(ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER,
> + entry.data.u8, 1);
Should this be moved to getResultMetadata() and replace the existing
code that sets ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER ?
> +
> /* Handle any JPEG compression. */
> for (unsigned int i = 0; i < descriptor->numBuffers_; ++i) {
> CameraStream *cameraStream =
> @@ -1832,9 +1839,9 @@ void CameraDevice::requestComplete(Request *request)
> continue;
> }
>
> - int ret = cameraStream->process(*buffer, &mapped,
> - descriptor->settings_,
> - resultMetadata.get());
> + ret = cameraStream->process(*buffer, &mapped,
> + descriptor->settings_,
> + resultMetadata.get());
> if (ret) {
> status = CAMERA3_BUFFER_STATUS_ERROR;
> continue;
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list