[libcamera-devel] [PATCH v3 1/2] android: camera_capabilities: Clarify CameraMetadata allocation

Laurent Pinchart laurent.pinchart at ideasonboard.com
Thu Sep 23 12:11:54 CEST 2021


On Thu, Sep 23, 2021 at 04:33:26PM +0900, paul.elder at ideasonboard.com wrote:
> On Thu, Sep 23, 2021 at 12:54:52PM +0530, Umang Jain wrote:
> > CameraMetadata's constructor take in number of entries and number of

s/take/takes/

> > bytes to be allocated for those entries. However, CameraMetadata is
> > already capable of resizing its container on the fly, in case more
> > entries are added to it. Hence, the numbers passed in during the
> > construction acts as hint values for initialization.

s/acts/act/

> > Clarify this in CameraCapabilities::requestTemplatePreview() and
> > remove the \todo, as the arguments and the \todo gives the perspective
> > that we need to be quite accurate with the numbers of entries / bytes,
> > which is not the case.
> > 
> > Signed-off-by: Umang Jain <umang.jain at ideasonboard.com>
> > ---
> >  src/android/camera_capabilities.cpp | 8 ++++++--
> >  1 file changed, 6 insertions(+), 2 deletions(-)
> > 
> > diff --git a/src/android/camera_capabilities.cpp b/src/android/camera_capabilities.cpp
> > index e92bca42..238b44db 100644
> > --- a/src/android/camera_capabilities.cpp
> > +++ b/src/android/camera_capabilities.cpp
> > @@ -1340,8 +1340,12 @@ std::unique_ptr<CameraMetadata> CameraCapabilities::requestTemplateManual() cons
> >  std::unique_ptr<CameraMetadata> CameraCapabilities::requestTemplatePreview() const
> >  {
> >  	/*
> > -	 * \todo Keep this in sync with the actual number of entries.
> > -	 * Currently: 20 entries, 35 bytes
> > +	 * Give initial hint of entries and number of bytes to be allocated.
> > +	 * It is deliberate that the hint is slightly larger than required, to
> > +	 * avoid resizing the container.
> > +	 *
> > +	 * CameraMetadata is capable to resize the container on the fly, if the
> 
> s/to resize/of resizing/
> 
> s/the$/adding a new entry will exceed its capacity./
> 
> Reviewed-by: Paul Elder <paul.elder at ideasonboard.com>

With this,

Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

> > +	 * number of entries get exceeded.
> >  	 */
> >  	auto requestTemplate = std::make_unique<CameraMetadata>(21, 36);
> >  	if (!requestTemplate->isValid()) {

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list