<div dir="ltr"><div>Hi Jacopo,</div><div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Wed, 21 May 2025 at 11:35, Jacopo Mondi <<a href="mailto:jacopo.mondi@ideasonboard.com">jacopo.mondi@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 Naush<br>
one more question on this patch<br>
<br>
On Mon, May 19, 2025 at 10:20:49AM +0100, Naushir Patuck wrote:<br>
> Add a new status enum, FrameStartup, used to denote that even though<br>
> the frame has been successfully captured, the IQ parameters set by the<br>
> IPA will cause the frame to be unusable and applications are advised to<br>
> not consume this frame. An example of this would be on a cold-start of<br>
> the 3A algorithms, and there will be large oscillations to converge to<br>
> a stable state quickly.<br>
><br>
> Additional, update the definition of the FrameError state to include its<br>
> usage when the sensor is known to produce a number of invalid/error<br>
> frames after stream-on.<br>
><br>
> Signed-off-by: Naushir Patuck <<a href="mailto:naush@raspberrypi.com" target="_blank">naush@raspberrypi.com</a>><br>
> ---<br>
> include/libcamera/framebuffer.h | 1 +<br>
> src/libcamera/framebuffer.cpp | 11 +++++++++--<br>
> 2 files changed, 10 insertions(+), 2 deletions(-)<br>
><br>
> diff --git a/include/libcamera/framebuffer.h b/include/libcamera/framebuffer.h<br>
> index ff83924300ac..e83825b466aa 100644<br>
> --- a/include/libcamera/framebuffer.h<br>
> +++ b/include/libcamera/framebuffer.h<br>
> @@ -26,6 +26,7 @@ struct FrameMetadata {<br>
> FrameSuccess,<br>
> FrameError,<br>
> FrameCancelled,<br>
> + FrameStartup,<br>
> };<br>
><br>
> struct Plane {<br>
> diff --git a/src/libcamera/framebuffer.cpp b/src/libcamera/framebuffer.cpp<br>
> index 826848f75a56..36e56d593bc3 100644<br>
> --- a/src/libcamera/framebuffer.cpp<br>
> +++ b/src/libcamera/framebuffer.cpp<br>
> @@ -44,11 +44,18 @@ LOG_DEFINE_CATEGORY(Buffer)<br>
> * of the FrameMetadata structure are valid.<br>
> * \var FrameMetadata::FrameError<br>
> * An error occurred during capture of the frame. The frame data may be partly<br>
> - * or fully invalid. The sequence and timestamp fields of the FrameMetadata<br>
> - * structure is valid, the other fields may be invalid.<br>
> + * or fully invalid. This status may also indicate an invalid frame produced by<br>
> + * the sensor during its startup or restart phase. The sequence and timestamp<br>
> + * fields of the FrameMetadata structure is valid, the other fields may be<br>
> + * invalid.<br>
> * \var FrameMetadata::FrameCancelled<br>
> * Capture stopped before the frame completed. The frame data is not valid. All<br>
> * fields of the FrameMetadata structure but the status field are invalid.<br>
> + * \var FrameMetadata::FrameStartup The frame has been successfully captured.<br>
> + * However, the IPA is in a cold-start or reset phase and will result in image<br>
> + * quality parameters producing unusable images. Applications are recommended to<br>
> + * not consume these frames. All fields of the FrameMetadata structure are<br>
> + * valid.<br>
<br>
Will the metadata associated with a FrameStartup frame be considered<br>
valid ?<br></blockquote><div><br></div><div>Yes, all metadata associated with
FrameStartup
ought to be accurate/valid.</div><div><br></div><div>Regards,</div><div>Naush</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
> */<br>
><br>
> /**<br>
> --<br>
> 2.43.0<br>
><br>
</blockquote></div></div>