Message ID | 20210203162600.206297-3-jacopo@jmondi.org |
---|---|
State | Accepted |
Headers | show |
Series |
|
Related | show |
Hi Jacopo, Thanks for your work. On 2021-02-03 17:25:55 +0100, Jacopo Mondi wrote: > The CaptureResultTest#testCameraCaptureResultAllKeys enforces the > presence of the ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION result > metadata. > > Report 0 as the current value for > ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION in the result metadata > pack. > > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> > --- > src/android/camera_device.cpp | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp > index 02908beb867e..cdc75b949206 100644 > --- a/src/android/camera_device.cpp > +++ b/src/android/camera_device.cpp > @@ -708,7 +708,7 @@ std::tuple<uint32_t, uint32_t> CameraDevice::calculateStaticMetadataSize() > * Currently: 53 entries, 846 bytes of static metadata > */ > uint32_t numEntries = 53; > - uint32_t byteSize = 850; > + uint32_t byteSize = 854; > > /* > * Calculate space occupation in bytes for dynamically built metadata > @@ -1245,6 +1245,7 @@ const camera_metadata_t *CameraDevice::getStaticMetadata() > std::vector<int32_t> availableResultKeys = { > ANDROID_COLOR_CORRECTION_ABERRATION_MODE, > ANDROID_CONTROL_AE_ANTIBANDING_MODE, > + ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION, > ANDROID_CONTROL_AE_LOCK, > ANDROID_CONTROL_AE_MODE, > ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER, > @@ -1961,7 +1962,7 @@ CameraDevice::getResultMetadata(Camera3RequestDescriptor *descriptor, > * Total bytes for JPEG metadata: 82 > */ > std::unique_ptr<CameraMetadata> resultMetadata = > - std::make_unique<CameraMetadata>(41, 157); > + std::make_unique<CameraMetadata>(42, 161); > if (!resultMetadata->isValid()) { > LOG(HAL, Error) << "Failed to allocate static metadata"; > return nullptr; > @@ -1980,6 +1981,10 @@ CameraDevice::getResultMetadata(Camera3RequestDescriptor *descriptor, > value = ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF; > resultMetadata->addEntry(ANDROID_CONTROL_AE_ANTIBANDING_MODE, &value, 1); > > + int32_t value32 = 0; > + resultMetadata->addEntry(ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION, > + &value32, 1); > + > value = ANDROID_CONTROL_AE_LOCK_OFF; > resultMetadata->addEntry(ANDROID_CONTROL_AE_LOCK, &value, 1); > > -- > 2.30.0 > > _______________________________________________ > libcamera-devel mailing list > libcamera-devel@lists.libcamera.org > https://lists.libcamera.org/listinfo/libcamera-devel
Hi Jacopo, Thank you for the patch. On Wed, Feb 03, 2021 at 05:25:55PM +0100, Jacopo Mondi wrote: > The CaptureResultTest#testCameraCaptureResultAllKeys enforces the > presence of the ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION result > metadata. > > Report 0 as the current value for > ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION in the result metadata > pack. > > Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > src/android/camera_device.cpp | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp > index 02908beb867e..cdc75b949206 100644 > --- a/src/android/camera_device.cpp > +++ b/src/android/camera_device.cpp > @@ -708,7 +708,7 @@ std::tuple<uint32_t, uint32_t> CameraDevice::calculateStaticMetadataSize() > * Currently: 53 entries, 846 bytes of static metadata > */ > uint32_t numEntries = 53; > - uint32_t byteSize = 850; > + uint32_t byteSize = 854; > > /* > * Calculate space occupation in bytes for dynamically built metadata > @@ -1245,6 +1245,7 @@ const camera_metadata_t *CameraDevice::getStaticMetadata() > std::vector<int32_t> availableResultKeys = { > ANDROID_COLOR_CORRECTION_ABERRATION_MODE, > ANDROID_CONTROL_AE_ANTIBANDING_MODE, > + ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION, > ANDROID_CONTROL_AE_LOCK, > ANDROID_CONTROL_AE_MODE, > ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER, > @@ -1961,7 +1962,7 @@ CameraDevice::getResultMetadata(Camera3RequestDescriptor *descriptor, > * Total bytes for JPEG metadata: 82 > */ > std::unique_ptr<CameraMetadata> resultMetadata = > - std::make_unique<CameraMetadata>(41, 157); > + std::make_unique<CameraMetadata>(42, 161); > if (!resultMetadata->isValid()) { > LOG(HAL, Error) << "Failed to allocate static metadata"; > return nullptr; > @@ -1980,6 +1981,10 @@ CameraDevice::getResultMetadata(Camera3RequestDescriptor *descriptor, > value = ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF; > resultMetadata->addEntry(ANDROID_CONTROL_AE_ANTIBANDING_MODE, &value, 1); > > + int32_t value32 = 0; > + resultMetadata->addEntry(ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION, > + &value32, 1); > + > value = ANDROID_CONTROL_AE_LOCK_OFF; > resultMetadata->addEntry(ANDROID_CONTROL_AE_LOCK, &value, 1); >
diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp index 02908beb867e..cdc75b949206 100644 --- a/src/android/camera_device.cpp +++ b/src/android/camera_device.cpp @@ -708,7 +708,7 @@ std::tuple<uint32_t, uint32_t> CameraDevice::calculateStaticMetadataSize() * Currently: 53 entries, 846 bytes of static metadata */ uint32_t numEntries = 53; - uint32_t byteSize = 850; + uint32_t byteSize = 854; /* * Calculate space occupation in bytes for dynamically built metadata @@ -1245,6 +1245,7 @@ const camera_metadata_t *CameraDevice::getStaticMetadata() std::vector<int32_t> availableResultKeys = { ANDROID_COLOR_CORRECTION_ABERRATION_MODE, ANDROID_CONTROL_AE_ANTIBANDING_MODE, + ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION, ANDROID_CONTROL_AE_LOCK, ANDROID_CONTROL_AE_MODE, ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER, @@ -1961,7 +1962,7 @@ CameraDevice::getResultMetadata(Camera3RequestDescriptor *descriptor, * Total bytes for JPEG metadata: 82 */ std::unique_ptr<CameraMetadata> resultMetadata = - std::make_unique<CameraMetadata>(41, 157); + std::make_unique<CameraMetadata>(42, 161); if (!resultMetadata->isValid()) { LOG(HAL, Error) << "Failed to allocate static metadata"; return nullptr; @@ -1980,6 +1981,10 @@ CameraDevice::getResultMetadata(Camera3RequestDescriptor *descriptor, value = ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF; resultMetadata->addEntry(ANDROID_CONTROL_AE_ANTIBANDING_MODE, &value, 1); + int32_t value32 = 0; + resultMetadata->addEntry(ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION, + &value32, 1); + value = ANDROID_CONTROL_AE_LOCK_OFF; resultMetadata->addEntry(ANDROID_CONTROL_AE_LOCK, &value, 1);
The CaptureResultTest#testCameraCaptureResultAllKeys enforces the presence of the ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION result metadata. Report 0 as the current value for ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION in the result metadata pack. Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> --- src/android/camera_device.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)