<div dir="ltr"><div dir="ltr">Hi Laurent, </div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jun 15, 2021 at 7:04 PM Laurent Pinchart <<a href="mailto:laurent.pinchart@ideasonboard.com">laurent.pinchart@ideasonboard.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Hiro,<br>
<br>
On Tue, Jun 15, 2021 at 04:44:24PM +0900, Hirokazu Honda wrote:<br>
> On Tue, Jun 15, 2021 at 7:44 AM Laurent Pinchart wrote:<br>
> > On Mon, Jun 14, 2021 at 07:45:53PM +0900, Hirokazu Honda wrote:<br>
> > > HAL_PIXEL_FORMAT_RAW_OPAQUE is requested only for<br>
> > > Zero-Shutter-Lag (ZSL). ZSL requires RAW and YUV reprocessing.<br>
> > > Since either of them is not supported by libcamera, supporting<br>
> > > RAW_OPAQUE format doesn't make sense. Drop the format from the<br>
> > > supported format list.<br>
> > ><br>
> > > Signed-off-by: Hirokazu Honda <<a href="mailto:hiroh@chromium.org" target="_blank">hiroh@chromium.org</a>><br>
> ><br>
> > This looks sensible to me. Given that the formats below are specific to<br>
> > the IPU3, the code would need to be reworked when we'll implement ZSL<br>
> > support anyway.<br>
><br>
> Just note:<br>
> For ZSL capture request, the format is either RAW_OPAQUE or<br>
> IMPLEMENTATION_DEFINED.<br>
<br>
What's the practical difference between the two ? I'd expect both to map<br>
to the same opaque, device-specific RAW format.<br>
<br></blockquote><div> </div><div><a class="gmail_plusreply" id="plusReplyChip-1" href="mailto:tfiga@chromium.org" tabindex="-1">+Tomasz Figa</a> </div><div><br></div><div>I am not sure honestly as it is not documented anywhere.</div><div>ChromeOS camera people told me that RAW_OPAQUE is optional to support and meant for vendor app use only.</div><div>Only IMPLEMENTATION_DEFINED needs to be supported for PRIVATE reprocessing.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> In ChromeOS, IMPLEMENTATION_DEFINED is used for ZSL.<br>
> Besides, gralloc implementation in ChromeOS doesn't support RAW_OPAQUE.<br>
> So we should not list this format in supported formats at least in ChromeOS.<br>
> We may want to support RAW_OPAQUE for other platforms though.<br>
<br>
Is there a reason why minigbm couldn't support RAW_OPAQUE ?<br>
<br></blockquote><div><br></div><div>It must be because we don't use the RAW_OPAQUE buffer.</div><div>Thus we don't need to support it at all.</div><div><br></div><div>-Hiro</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> > Reviewed-by: Laurent Pinchart <<a href="mailto:laurent.pinchart@ideasonboard.com" target="_blank">laurent.pinchart@ideasonboard.com</a>><br>
> ><br>
> > I'll wait for a second tag before merging.<br>
> ><br>
> > > ---<br>
> > > src/android/camera_device.cpp | 11 -----------<br>
> > > 1 file changed, 11 deletions(-)<br>
> > ><br>
> > > diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp<br>
> > > index fe332ec3..14022aed 100644<br>
> > > --- a/src/android/camera_device.cpp<br>
> > > +++ b/src/android/camera_device.cpp<br>
> > > @@ -120,17 +120,6 @@ const std::map<int, const Camera3Format> camera3FormatsMap = {<br>
> > > false,<br>
> > > "RAW16"<br>
> > > }<br>
> > > - }, {<br>
> > > - HAL_PIXEL_FORMAT_RAW_OPAQUE, {<br>
> > > - {<br>
> > > - formats::SBGGR10_IPU3,<br>
> > > - formats::SGBRG10_IPU3,<br>
> > > - formats::SGRBG10_IPU3,<br>
> > > - formats::SRGGB10_IPU3<br>
> > > - },<br>
> > > - false,<br>
> > > - "RAW_OPAQUE"<br>
> > > - }<br>
> > > },<br>
> > > };<br>
> > ><br>
<br>
-- <br>
Regards,<br>
<br>
Laurent Pinchart<br>
</blockquote></div></div>