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

Hirokazu Honda hiroh at chromium.org
Tue Jun 15 12:15:39 CEST 2021


Hi Laurent,

On Tue, Jun 15, 2021 at 7:04 PM Laurent Pinchart <
laurent.pinchart at ideasonboard.com> wrote:

> 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.
>
>
+Tomasz Figa <tfiga at chromium.org>

I am not sure honestly as it is not documented anywhere.
ChromeOS camera people told me that RAW_OPAQUE is optional to support and
meant for vendor app use only.
Only IMPLEMENTATION_DEFINED needs to be supported for PRIVATE reprocessing.


> > 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 ?
>
>
It must be because we don't use the RAW_OPAQUE buffer.
Thus we don't need to support it at all.

-Hiro

> > > 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.libcamera.org/pipermail/libcamera-devel/attachments/20210615/1ce4315b/attachment.htm>


More information about the libcamera-devel mailing list