mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-13 15:29:45 +03:00
android: camera_device: Report RAW capability if supported
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@ragnatech.se> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
parent
d4de037a8a
commit
7876d631d9
1 changed files with 12 additions and 0 deletions
|
@ -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"
|
||||
|
||||
|
@ -755,6 +756,17 @@ 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 });
|
||||
if (cameraConfig && !cameraConfig->empty()) {
|
||||
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());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue