mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-13 15:29:45 +03:00
android: camera_device: Report number of out streams
Report the number of supported output streams through the ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS static metadata. The camera HAL currently supports: - 1 optional RAW stream - 2 YUV streams - 1 JPEG stream Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
parent
3535e0c104
commit
eec6c54134
1 changed files with 13 additions and 4 deletions
|
@ -675,10 +675,10 @@ std::tuple<uint32_t, uint32_t> CameraDevice::calculateStaticMetadataSize()
|
|||
{
|
||||
/*
|
||||
* \todo Keep this in sync with the actual number of entries.
|
||||
* Currently: 52 entries, 698 bytes of static metadata
|
||||
* Currently: 53 entries, 714 bytes of static metadata
|
||||
*/
|
||||
uint32_t numEntries = 52;
|
||||
uint32_t byteSize = 698;
|
||||
uint32_t numEntries = 53;
|
||||
uint32_t byteSize = 714;
|
||||
|
||||
/*
|
||||
* Calculate space occupation in bytes for dynamically built metadata
|
||||
|
@ -1090,15 +1090,23 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()
|
|||
};
|
||||
|
||||
/* Report if camera supports RAW. */
|
||||
bool rawStreamAvailable = false;
|
||||
std::unique_ptr<CameraConfiguration> cameraConfig =
|
||||
camera_->generateConfiguration({ StreamRole::Raw });
|
||||
if (cameraConfig && !cameraConfig->empty()) {
|
||||
const PixelFormatInfo &info =
|
||||
PixelFormatInfo::info(cameraConfig->at(0).pixelFormat);
|
||||
if (info.colourEncoding == PixelFormatInfo::ColourEncodingRAW)
|
||||
if (info.colourEncoding == PixelFormatInfo::ColourEncodingRAW) {
|
||||
rawStreamAvailable = true;
|
||||
availableCapabilities.push_back(ANDROID_REQUEST_AVAILABLE_CAPABILITIES_RAW);
|
||||
}
|
||||
}
|
||||
|
||||
/* Number of { RAW, YUV, JPEG } supported output streams */
|
||||
int32_t numOutStreams[] = { rawStreamAvailable, 2, 1 };
|
||||
staticMetadata_->addEntry(ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS,
|
||||
&numOutStreams, 3);
|
||||
|
||||
staticMetadata_->addEntry(ANDROID_REQUEST_AVAILABLE_CAPABILITIES,
|
||||
availableCapabilities.data(),
|
||||
availableCapabilities.size());
|
||||
|
@ -1150,6 +1158,7 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()
|
|||
ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL,
|
||||
ANDROID_REQUEST_PARTIAL_RESULT_COUNT,
|
||||
ANDROID_REQUEST_PIPELINE_MAX_DEPTH,
|
||||
ANDROID_REQUEST_MAX_NUM_OUTPUT_STREAMS,
|
||||
ANDROID_REQUEST_MAX_NUM_INPUT_STREAMS,
|
||||
ANDROID_REQUEST_AVAILABLE_CAPABILITIES,
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue