18#include <libcamera/base/span.h>
40 Span<Plane>
planes() {
return planes_; }
41 Span<const Plane>
planes()
const {
return planes_; }
46 std::vector<Plane> planes_;
55 static constexpr unsigned int kInvalidOffset = std::numeric_limits<unsigned int>::max();
65 const std::vector<Plane> &
planes()
const;
Utilities to help constructing class interfaces.
#define LIBCAMERA_DECLARE_PRIVATE()
Declare private data for a public class.
#define LIBCAMERA_DISABLE_COPY_AND_MOVE(klass)
Disable copy and move construction and assignment of the klass.
Base class to manage private data through a d-pointer.
Definition: class.h:62
Frame buffer data and its associated dynamic metadata.
Definition: framebuffer.h:50
Request * request() const
Retrieve the request this buffer belongs to.
Definition: framebuffer.cpp:374
std::unique_ptr< Fence > releaseFence()
Extract the Fence associated with this Framebuffer.
Definition: framebuffer.cpp:431
FrameBuffer(const std::vector< Plane > &planes, unsigned int cookie=0)
Construct a FrameBuffer with an array of planes.
Definition: framebuffer.cpp:306
const FrameMetadata & metadata() const
Retrieve the dynamic metadata.
Definition: framebuffer.cpp:383
void setCookie(uint64_t cookie)
Set the cookie.
Definition: framebuffer.cpp:412
const std::vector< Plane > & planes() const
Retrieve the static plane descriptors.
Definition: framebuffer.cpp:356
uint64_t cookie() const
Retrieve the cookie.
Definition: framebuffer.cpp:398
A frame capture request.
Definition: request.h:31
RAII-style wrapper for file descriptors.
Definition: shared_fd.h:17
Top-level libcamera namespace.
Definition: backtrace.h:17
A memory region to store a single plane of a frame.
Definition: framebuffer.h:54
unsigned int length
The plane length in bytes.
Definition: framebuffer.h:58
unsigned int offset
The plane offset in bytes.
Definition: framebuffer.h:57
static constexpr unsigned int kInvalidOffset
Invalid offset value, to identify uninitialized planes.
Definition: framebuffer.h:55
SharedFD fd
The dmabuf file descriptor.
Definition: framebuffer.h:56