libcamera  v0.4.0
Supporting cameras in Linux since 2019
Classes | Public Types | Public Member Functions | Public Attributes | Friends | List of all members
libcamera::FrameMetadata Struct Reference

Metadata related to a captured frame. More...

Classes

struct  Plane
 Per-plane frame metadata. More...
 

Public Types

enum  Status { FrameSuccess, FrameError, FrameCancelled }
 Define the frame completion status. More...
 

Public Member Functions

Span< Planeplanes ()
 Retrieve the array of per-plane metadata. More...
 
Span< const Planeplanes () const
 Retrieve the array of per-plane metadata. More...
 

Public Attributes

Status status
 Status of the frame. More...
 
unsigned int sequence
 Frame sequence number. More...
 
uint64_t timestamp
 Time when the frame was captured. More...
 

Friends

class FrameBuffer
 

Detailed Description

Metadata related to a captured frame.

The FrameMetadata structure stores all metadata related to a captured frame, as stored in a FrameBuffer, such as capture status, timestamp and bytes used.

Member Enumeration Documentation

◆ Status

Define the frame completion status.

Enumerator
FrameSuccess 

The frame has been captured with success and contains valid data. All fields of the FrameMetadata structure are valid.

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.

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.

Member Function Documentation

◆ planes() [1/2]

libcamera::FrameMetadata::planes ( )
inline

Retrieve the array of per-plane metadata.

Returns
The array of per-plane metadata

◆ planes() [2/2]

libcamera::FrameMetadata::planes ( ) const
inline

Retrieve the array of per-plane metadata.

Returns
The array of per-plane metadata

Member Data Documentation

◆ sequence

libcamera::FrameMetadata::sequence

Frame sequence number.

The sequence number is a monotonically increasing number assigned to the frames captured by the stream. The value is increased by one for each frame. Gaps in the sequence numbers indicate dropped frames.

◆ status

libcamera::FrameMetadata::status

Status of the frame.

The validity of other fields of the FrameMetadata structure depends on the status value.

◆ timestamp

libcamera::FrameMetadata::timestamp

Time when the frame was captured.

The timestamp is expressed as a number of nanoseconds relative to the system clock since an unspecified time point.

Todo:
Be more precise on what timestamps refer to.

The documentation for this struct was generated from the following files: