[libcamera-devel] [PATCH v2 2/3] android: camera_device: Map HAL RAW to libcamera RAW formats
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Wed Jul 29 18:38:08 CEST 2020
On Wed, Jul 29, 2020 at 06:21:47PM +0200, Jacopo Mondi wrote:
> On Wed, Jul 29, 2020 at 01:12:01PM +0200, Niklas Söderlund wrote:
> > Add a mapping from HAL RAW formats to the direct equivalent of libcamera
> > formats. With this change it is possible to capture RAW images as long
> > as the hardware can deliver frames in a format that is native to the
> > HAL.
> >
> > More work is needed to deal with unpacked 8, 10 and 12 RAW formats as
> > they don't directly map to a native HAL format. Nor do they belong in
> > the RAW_OPAQUE category as the content format is generic and not
> > uncommonly supported by hardware.
> >
> > Signed-off-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
> > ---
> > src/android/camera_device.cpp | 24 ++++++++++++++++++++++++
> > 1 file changed, 24 insertions(+)
> >
> > diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
> > index ce37fcb8cf5cd4b3..c31950db78a588ed 100644
> > --- a/src/android/camera_device.cpp
> > +++ b/src/android/camera_device.cpp
> > @@ -77,6 +77,30 @@ const std::map<int, const Camera3Format> camera3FormatsMap = {
> > true,
> > "IMPLEMENTATION_DEFINED"
> > }
> > + }, {
> > + HAL_PIXEL_FORMAT_RAW10, {
> > + { formats::SBGGR10_CSI2P, formats::SGBRG10_CSI2P, formats::SGRBG10_CSI2P, formats::SRGGB10_CSI2P },
I'd wrap this:
{
formats::SBGGR10_CSI2P,
formats::SGBRG10_CSI2P,
formats::SGRBG10_CSI2P,
formats::SRGGB10_CSI2P
},
Same below.
> For my own education, how does android distinguish between the diffent
> components ordering, if they just report formats as RAWxx ? They don't
> care ?
android.sensor.info.colorFilterArrangement
> The patch looks good otherwise
> Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > + false,
> > + "RAW10"
> > + }
> > + }, {
> > + HAL_PIXEL_FORMAT_RAW12, {
> > + { formats::SBGGR12_CSI2P, formats::SGBRG12_CSI2P, formats::SGRBG12_CSI2P, formats::SRGGB12_CSI2P },
> > + false,
> > + "RAW12"
> > + }
> > + }, {
> > + HAL_PIXEL_FORMAT_RAW16, {
> > + { formats::SBGGR16, formats::SGBRG16, formats::SGRBG16, formats::SRGGB16 },
> > + false,
> > + "RAW16"
> > + }
> > + }, {
> > + HAL_PIXEL_FORMAT_RAW_OPAQUE, {
> > + { formats::SBGGR10_IPU3, formats::SGBRG10_IPU3, formats::SGRBG10_IPU3, formats::SRGGB10_IPU3 },
> > + false,
> > + "RAW_OPAQUE"
> > + }
> > },
> > };
> >
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list