[PATCH v1 1/6] libcamera: framebuffer: Add FrameMetadata::Status::FrameStartup
Naushir Patuck
naush at raspberrypi.com
Wed May 21 12:36:30 CEST 2025
Hi Jacopo,
On Wed, 21 May 2025 at 11:35, Jacopo Mondi <jacopo.mondi at ideasonboard.com>
wrote:
> Hi Naush
> one more question on this patch
>
> On Mon, May 19, 2025 at 10:20:49AM +0100, Naushir Patuck wrote:
> > Add a new status enum, FrameStartup, used to denote that even though
> > the frame has been successfully captured, the IQ parameters set by the
> > IPA will cause the frame to be unusable and applications are advised to
> > not consume this frame. An example of this would be on a cold-start of
> > the 3A algorithms, and there will be large oscillations to converge to
> > a stable state quickly.
> >
> > Additional, update the definition of the FrameError state to include its
> > usage when the sensor is known to produce a number of invalid/error
> > frames after stream-on.
> >
> > Signed-off-by: Naushir Patuck <naush at raspberrypi.com>
> > ---
> > include/libcamera/framebuffer.h | 1 +
> > src/libcamera/framebuffer.cpp | 11 +++++++++--
> > 2 files changed, 10 insertions(+), 2 deletions(-)
> >
> > diff --git a/include/libcamera/framebuffer.h
> b/include/libcamera/framebuffer.h
> > index ff83924300ac..e83825b466aa 100644
> > --- a/include/libcamera/framebuffer.h
> > +++ b/include/libcamera/framebuffer.h
> > @@ -26,6 +26,7 @@ struct FrameMetadata {
> > FrameSuccess,
> > FrameError,
> > FrameCancelled,
> > + FrameStartup,
> > };
> >
> > struct Plane {
> > diff --git a/src/libcamera/framebuffer.cpp
> b/src/libcamera/framebuffer.cpp
> > index 826848f75a56..36e56d593bc3 100644
> > --- a/src/libcamera/framebuffer.cpp
> > +++ b/src/libcamera/framebuffer.cpp
> > @@ -44,11 +44,18 @@ LOG_DEFINE_CATEGORY(Buffer)
> > * of the FrameMetadata structure are valid.
> > * \var FrameMetadata::FrameError
> > * An error occurred during capture of the frame. The frame data may be
> partly
> > - * or fully invalid. The sequence and timestamp fields of the
> FrameMetadata
> > - * structure is valid, the other fields may be invalid.
> > + * or fully invalid. This status may also indicate an invalid frame
> produced by
> > + * the sensor during its startup or restart phase. The sequence and
> timestamp
> > + * fields of the FrameMetadata structure is valid, the other fields may
> be
> > + * invalid.
> > * \var FrameMetadata::FrameCancelled
> > * Capture stopped before the frame completed. The frame data is not
> valid. All
> > * fields of the FrameMetadata structure but the status field are
> invalid.
> > + * \var FrameMetadata::FrameStartup The frame has been successfully
> captured.
> > + * However, the IPA is in a cold-start or reset phase and will result
> in image
> > + * quality parameters producing unusable images. Applications are
> recommended to
> > + * not consume these frames. All fields of the FrameMetadata structure
> are
> > + * valid.
>
> Will the metadata associated with a FrameStartup frame be considered
> valid ?
>
Yes, all metadata associated with FrameStartup ought to be accurate/valid.
Regards,
Naush
> > */
> >
> > /**
> > --
> > 2.43.0
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.libcamera.org/pipermail/libcamera-devel/attachments/20250521/a14f86bf/attachment.htm>
More information about the libcamera-devel
mailing list