[libcamera-devel] [RFC PATCH] android: camera_device: Drop HAL_PIXEL_FORMAT_RAW_OPAQUE support

Laurent Pinchart laurent.pinchart at ideasonboard.com
Tue Jun 15 12:04:33 CEST 2021


Hi Hiro,

On Tue, Jun 15, 2021 at 04:44:24PM +0900, Hirokazu Honda wrote:
> On Tue, Jun 15, 2021 at 7:44 AM Laurent Pinchart wrote:
> > On Mon, Jun 14, 2021 at 07:45:53PM +0900, Hirokazu Honda wrote:
> > > HAL_PIXEL_FORMAT_RAW_OPAQUE is requested only for
> > > Zero-Shutter-Lag (ZSL). ZSL requires RAW and YUV reprocessing.
> > > Since either of them is not supported by libcamera, supporting
> > > RAW_OPAQUE format doesn't make sense. Drop the format from the
> > > supported format list.
> > >
> > > Signed-off-by: Hirokazu Honda <hiroh at chromium.org>
> >
> > This looks sensible to me. Given that the formats below are specific to
> > the IPU3, the code would need to be reworked when we'll implement ZSL
> > support anyway.
>
> Just note:
> For ZSL capture request, the format is either RAW_OPAQUE or
> IMPLEMENTATION_DEFINED.

What's the practical difference between the two ? I'd expect both to map
to the same opaque, device-specific RAW format.

> In ChromeOS, IMPLEMENTATION_DEFINED is used for ZSL.
> Besides, gralloc implementation in ChromeOS doesn't support RAW_OPAQUE.
> So we should not list this format in supported formats at least in ChromeOS.
> We may want to support RAW_OPAQUE for other platforms though.

Is there a reason why minigbm couldn't support RAW_OPAQUE ?

> > Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> >
> > I'll wait for a second tag before merging.
> >
> > > ---
> > >  src/android/camera_device.cpp | 11 -----------
> > >  1 file changed, 11 deletions(-)
> > >
> > > diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
> > > index fe332ec3..14022aed 100644
> > > --- a/src/android/camera_device.cpp
> > > +++ b/src/android/camera_device.cpp
> > > @@ -120,17 +120,6 @@ const std::map<int, const Camera3Format> camera3FormatsMap = {
> > >                       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