summaryrefslogtreecommitdiff
path: root/src/android/camera_capabilities.h
diff options
context:
space:
mode:
authorPaul Elder <paul.elder@ideasonboard.com>2021-03-25 18:19:56 +0900
committerPaul Elder <paul.elder@ideasonboard.com>2021-08-02 18:07:27 +0900
commit1c8140ba020d1e1b01a48c147f4253046e2567df (patch)
tree056e7ae68d8975f6f9bc228b894664eee18edb8d /src/android/camera_capabilities.h
parentad2105c2a7aa019c73e89effb23cd10a8115e17c (diff)
android: Add infrastructure for determining capabilities and hardware level
Add the infrastructure for checking and reporting capabilities. Use these capabilities to determine the hardware level as well. Bug: https://bugs.libcamera.org/show_bug.cgi?id=55 Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/android/camera_capabilities.h')
-rw-r--r--src/android/camera_capabilities.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/android/camera_capabilities.h b/src/android/camera_capabilities.h
index 42a976d3..c7a966ce 100644
--- a/src/android/camera_capabilities.h
+++ b/src/android/camera_capabilities.h
@@ -42,6 +42,16 @@ private:
int androidFormat;
};
+ bool validateManualSensorCapability();
+ bool validateManualPostProcessingCapability();
+ bool validateBurstCaptureCapability();
+
+ std::set<camera_metadata_enum_android_request_available_capabilities>
+ computeCapabilities();
+
+ void computeHwLevel(
+ const std::set<camera_metadata_enum_android_request_available_capabilities> &caps);
+
std::vector<libcamera::Size>
initializeYUVResolutions(const libcamera::PixelFormat &pixelFormat,
const std::vector<libcamera::Size> &resolutions);
@@ -56,6 +66,7 @@ private:
int facing_;
int orientation_;
bool rawStreamAvailable_;
+ camera_metadata_enum_android_info_supported_hardware_level hwLevel_;
std::vector<Camera3StreamConfiguration> streamConfigurations_;
std::map<int, libcamera::PixelFormat> formatsMap_;