[libcamera-devel] [PATCH v2 3/3] android: camera_device: Report RAW capability if supported
Niklas Söderlund
niklas.soderlund at ragnatech.se
Wed Jul 29 13:12:02 CEST 2020
Probe the libcamera Camera for RAW support and if supported report RAW
capability in the static metadata reported to Android.
Signed-off-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
---
src/android/camera_device.cpp | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
index c31950db78a588ed..7764c6aee9b8e587 100644
--- a/src/android/camera_device.cpp
+++ b/src/android/camera_device.cpp
@@ -15,6 +15,7 @@
#include <libcamera/formats.h>
#include <libcamera/property_ids.h>
+#include "libcamera/internal/formats.h"
#include "libcamera/internal/log.h"
#include "libcamera/internal/utils.h"
@@ -735,6 +736,15 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()
std::vector<uint8_t> availableCapabilities = {
ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE,
};
+
+ /* Report if camera supports RAW. */
+ std::unique_ptr<CameraConfiguration> cameraConfig =
+ camera_->generateConfiguration({ StillCaptureRaw });
+ const PixelFormatInfo &info =
+ PixelFormatInfo::info(cameraConfig->at(0).pixelFormat);
+ if (info.colourEncoding == PixelFormatInfo::ColourEncodingRAW)
+ availableCapabilities.push_back(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_RAW);
+
staticMetadata_->addEntry(ANDROID_REQUEST_AVAILABLE_CAPABILITIES,
availableCapabilities.data(),
availableCapabilities.size());
--
2.27.0
More information about the libcamera-devel
mailing list