diff options
author | Jacopo Mondi <jacopo.mondi@ideasonboard.com> | 2023-01-18 14:42:41 +0100 |
---|---|---|
committer | Jacopo Mondi <jacopo.mondi@ideasonboard.com> | 2023-04-30 18:41:17 +0200 |
commit | 680cde6005096677688ed976bdc758763774036c (patch) | |
tree | 97a981e515e439ae5a1bb3dee9fbc3d5633a13c5 /src/android/mm/generic_frame_buffer_allocator.cpp | |
parent | 608af3127cd2be4540121cc16ee43b8bc4ac009d (diff) |
libcamera: imx8-isi: Split Bayer/YUV config generation
At generateConfiguration() a YUV/RGB pixel format is preferred for the
StillCapture/VideoRecording/Viewfinder roles, but currently there are no
guarantees in place that the sensor provides a non-Bayer bus format from
which YUV/RGB can be generated.
This makes the default configuration generated for those roles not to
work if the sensor is a RAW-only one.
To improve the situation split the configuration generation in two,
one for YUV modes and one for Raw Bayer mode.
StreamRoles assigned to a YUV mode will try to first generate a YUV
configuration and then fallback to RAW if that's what the sensor can
provide.
As an additional requirement, for YUV streams, the generated mode has to
be validated with the sensor to confirm the desired sizes can be
generated as the ISI cannot up-scale. In order to test a format use the
newly introduced CameraSensor::tryFormat().
Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com>
Tested-by: Daniel Scally <dan.scally@ideasonboard.com>
Diffstat (limited to 'src/android/mm/generic_frame_buffer_allocator.cpp')
0 files changed, 0 insertions, 0 deletions