Message ID | 20200729111202.3812677-2-niklas.soderlund@ragnatech.se |
---|---|
State | Superseded |
Headers | show |
Series |
|
Related | show |
Hi Niklas, On Wed, Jul 29, 2020 at 01:12:00PM +0200, Niklas Söderlund wrote: > When probing what formats a libcamera Camera supports we want to allow > to probe for none-mandatory formats. Add a new flag to indicate if a s/none/not > format in camera3FormatsMap is mandatory or not. > > All current defined formats are mandatory. Nice, this makes sense. In the future we might want to define if a format is mandatory depending on the reported hw level, but at this time this is a good step forward Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Thanks j > > Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> > --- > src/android/camera_device.cpp | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp > index b49d6681e5a52d32..ce37fcb8cf5cd4b3 100644 > --- a/src/android/camera_device.cpp > +++ b/src/android/camera_device.cpp > @@ -46,6 +46,7 @@ const std::vector<Size> camera3Resolutions = { > */ > struct Camera3Format { > std::vector<PixelFormat> libcameraFormats; > + bool mandatory; > const char *name; > }; > > @@ -57,11 +58,13 @@ const std::map<int, const Camera3Format> camera3FormatsMap = { > { > HAL_PIXEL_FORMAT_BLOB, { > { formats::MJPEG }, > + true, > "BLOB" > } > }, { > HAL_PIXEL_FORMAT_YCbCr_420_888, { > { formats::NV12, formats::NV21 }, > + true, > "YCbCr_420_888" > } > }, { > @@ -71,6 +74,7 @@ const std::map<int, const Camera3Format> camera3FormatsMap = { > */ > HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED, { > { formats::NV12, formats::NV21 }, > + true, > "IMPLEMENTATION_DEFINED" > } > }, > @@ -281,7 +285,7 @@ int CameraDevice::initializeStreamConfigurations() > break; > } > } > - if (!mappedFormat.isValid()) { > + if (format.mandatory && !mappedFormat.isValid()) { > LOG(HAL, Error) << "Failed to map Android format " > << camera3Format.name << " (" > << utils::hex(androidFormat) << ")"; > -- > 2.27.0 > > _______________________________________________ > libcamera-devel mailing list > libcamera-devel@lists.libcamera.org > https://lists.libcamera.org/listinfo/libcamera-devel
diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp index b49d6681e5a52d32..ce37fcb8cf5cd4b3 100644 --- a/src/android/camera_device.cpp +++ b/src/android/camera_device.cpp @@ -46,6 +46,7 @@ const std::vector<Size> camera3Resolutions = { */ struct Camera3Format { std::vector<PixelFormat> libcameraFormats; + bool mandatory; const char *name; }; @@ -57,11 +58,13 @@ const std::map<int, const Camera3Format> camera3FormatsMap = { { HAL_PIXEL_FORMAT_BLOB, { { formats::MJPEG }, + true, "BLOB" } }, { HAL_PIXEL_FORMAT_YCbCr_420_888, { { formats::NV12, formats::NV21 }, + true, "YCbCr_420_888" } }, { @@ -71,6 +74,7 @@ const std::map<int, const Camera3Format> camera3FormatsMap = { */ HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED, { { formats::NV12, formats::NV21 }, + true, "IMPLEMENTATION_DEFINED" } }, @@ -281,7 +285,7 @@ int CameraDevice::initializeStreamConfigurations() break; } } - if (!mappedFormat.isValid()) { + if (format.mandatory && !mappedFormat.isValid()) { LOG(HAL, Error) << "Failed to map Android format " << camera3Format.name << " (" << utils::hex(androidFormat) << ")";
When probing what formats a libcamera Camera supports we want to allow to probe for none-mandatory formats. Add a new flag to indicate if a format in camera3FormatsMap is mandatory or not. All current defined formats are mandatory. Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> --- src/android/camera_device.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)