libcamera
v0.3.2+116-83c5ad0f
Supporting cameras in Linux since 2019
|
Top-level libcamera namespace. More...
Namespaces | |
controls | |
Namespace for libcamera controls. | |
ipa | |
The IPA (Image Processing Algorithm) namespace. | |
properties | |
Namespace for libcamera properties. | |
Classes | |
class | Backtrace |
Representation of a call stack backtrace. More... | |
class | BayerFormat |
Class to represent a raw image Bayer format. More... | |
class | BoundMethodArgs |
class | BoundMethodBase |
class | BoundMethodFunctor |
class | BoundMethodMember |
class | BoundMethodPack |
class | BoundMethodPack< void, Args... > |
class | BoundMethodPackBase |
class | BoundMethodStatic |
class | ByteStreamBuffer |
Wrap a memory buffer and provide sequential data read and write. More... | |
class | Camera |
Camera device. More... | |
class | CameraConfiguration |
Hold configuration for streams of the camera. More... | |
class | CameraControlValidator |
A control validator for Camera instances. More... | |
class | CameraLens |
A camera lens based on V4L2 subdevices. More... | |
class | CameraManager |
Provide access and manage all cameras in the system. More... | |
class | CameraSensor |
A abstract camera sensor. More... | |
class | CameraSensorFactory |
Registration of CameraSensorFactory classes and creation of instances. More... | |
class | CameraSensorFactoryBase |
Base class for camera sensor factories. More... | |
struct | CameraSensorProperties |
Database of camera sensor properties. More... | |
class | ColorSpace |
Class to describe a color space. More... | |
class | ConditionVariable |
std::condition_variable wrapper integrating with MutexLocker More... | |
class | Control |
Describe a control and its intrinsic properties. More... | |
class | ControlId |
Control static metadata. More... | |
class | ControlInfo |
Describe the limits of valid values for a Control. More... | |
class | ControlInfoMap |
A map of ControlId to ControlInfo. More... | |
class | ControlList |
Associate a list of ControlId with their values for an object. More... | |
class | ControlSerializer |
Serializer and deserializer for control-related classes. More... | |
class | ControlValidator |
Interface for the control validator. More... | |
class | ControlValue |
Abstract type representing the value of a control. More... | |
class | Converter |
Abstract Base Class for converter. More... | |
class | ConverterFactory |
Registration of ConverterFactory classes and creation of instances. More... | |
class | ConverterFactoryBase |
Base class for converter factories. More... | |
class | Debayer |
Base debayering class. More... | |
class | DebayerCpu |
Class for debayering on the CPU. More... | |
struct | DebayerParams |
Struct to hold the debayer parameters. More... | |
class | DebugMetadata |
Helper to record metadata for later use. More... | |
class | DelayedControls |
Helper to deal with controls that take effect with a delay. More... | |
class | DeviceEnumerator |
Enumerate, store and search media devices. More... | |
class | DeviceMatch |
Description of a media device search pattern. More... | |
class | DmaBufAllocator |
Helper class for dma-buf allocations. More... | |
class | EventDispatcher |
Interface to manage the libcamera events and timers. More... | |
class | EventDispatcherPoll |
A poll-based event dispatcher. More... | |
class | EventNotifier |
Notify of activity on a file descriptor. More... | |
class | Extensible |
Base class to manage private data through a d-pointer. More... | |
class | Fence |
Synchronization primitive to manage resources. More... | |
class | File |
Interface for I/O operations on files. More... | |
class | Flags |
Type-safe container for enum-based bitfields. More... | |
class | FrameBuffer |
Frame buffer data and its associated dynamic metadata. More... | |
class | FrameBufferAllocator |
FrameBuffer allocator for applications. More... | |
struct | FrameMetadata |
Metadata related to a captured frame. More... | |
class | InvokeMessage |
A message carrying a method invocation across threads. More... | |
struct | ipa_control_info_entry |
Description of a serialized ControlInfo entry. More... | |
struct | ipa_control_value_entry |
Description of a serialized ControlValue entry. More... | |
struct | ipa_controls_header |
Serialized control packet header. More... | |
struct | IPABuffer |
Buffer information for the IPA interface. More... | |
struct | IPACameraSensorInfo |
Report the image sensor characteristics. More... | |
class | IPADataSerializer |
IPA Data Serializer. More... | |
class | IPAInterface |
C++ Interface for IPA implementation. More... | |
class | IPAManager |
Manager for IPA modules. More... | |
class | IPAModule |
Wrapper around IPA module shared object. More... | |
struct | IPAModuleInfo |
Information of an IPA module. More... | |
class | IPAProxy |
IPA Proxy. More... | |
struct | IPASettings |
IPA interface initialization settings. More... | |
struct | IPAStream |
Stream configuration for the IPA interface. More... | |
class | IPCMessage |
IPC message to be passed through IPC message pipe. More... | |
class | IPCPipe |
IPC message pipe for IPA isolation. More... | |
class | IPCUnixSocket |
IPC mechanism based on Unix sockets. More... | |
class | LogCategory |
A category of log message. More... | |
class | Loggable |
Base class to support log message extensions. More... | |
class | Logger |
Message logger. More... | |
class | LogMessage |
Internal log message representation. More... | |
class | LogOutput |
Log output. More... | |
class | MappedBuffer |
Provide an interface to support managing memory mapped buffers. More... | |
class | MappedFrameBuffer |
Map a FrameBuffer using the MappedBuffer interface. More... | |
class | MediaBusFormatInfo |
Information about media bus formats. More... | |
class | MediaDevice |
The MediaDevice represents a Media Controller device with its full graph of connected objects. More... | |
class | MediaEntity |
The MediaEntity represents an entity in the media graph. More... | |
class | MediaLink |
The MediaLink represents a link between two pads in the media graph. More... | |
class | MediaObject |
Base class for all media objects. More... | |
class | MediaPad |
The MediaPad represents a pad of an entity in the media graph. More... | |
class | MemFd |
Helper class to create anonymous files. More... | |
class | Message |
A message that can be posted to a Thread. More... | |
class | MessageQueue |
A queue of posted messages. More... | |
class | Mutex |
std::mutex wrapper with clang thread safety annotation More... | |
class | MutexLocker |
std::unique_lock wrapper with clang thread safety annotation More... | |
class | Object |
Base object to support automatic signal disconnection. More... | |
class | PipelineHandler |
Create and manage cameras based on a set of media devices. More... | |
class | PipelineHandlerFactory |
Registration of PipelineHandler classes and creation of instances. More... | |
class | PipelineHandlerFactoryBase |
Base class for pipeline handler factories. More... | |
class | PixelFormat |
libcamera image pixel format More... | |
class | PixelFormatInfo |
Information about pixel formats. More... | |
class | Point |
Describe a point in two-dimensional space. More... | |
class | Process |
Process object. More... | |
class | ProcessManager |
Manager of processes. More... | |
class | PubKey |
Public key wrapper for signature verification. More... | |
class | Rectangle |
Describe a rectangle's position and dimensions. More... | |
class | Request |
A frame capture request. More... | |
class | Semaphore |
General-purpose counting semaphore. More... | |
class | SensorConfiguration |
Camera sensor configuration. More... | |
class | SharedFD |
RAII-style wrapper for file descriptors. More... | |
class | SharedMem |
Helper class to allocate and manage memory shareable between processes. More... | |
class | SharedMemObject |
Helper class to allocate an object in shareable memory. More... | |
class | Signal |
Generic signal and slot communication mechanism. More... | |
class | SignalBase |
class | Size |
Describe a two-dimensional size. More... | |
class | SizeRange |
Describe a range of sizes. More... | |
class | SoftwareIsp |
Class for the Software ISP. More... | |
class | Stream |
Video stream for a camera. More... | |
struct | StreamConfiguration |
Configuration parameters for a stream. More... | |
class | StreamFormats |
Hold information about supported stream formats. More... | |
struct | SwIspStats |
Struct that holds the statistics for the Software ISP. More... | |
class | SwStatsCpu |
Class for gathering statistics on the CPU. More... | |
class | Thread |
A thread of execution. More... | |
class | ThreadData |
Thread-local internal data. More... | |
class | ThreadMain |
Thread wrapper for the main thread. More... | |
class | Timer |
Single-shot timer interface. More... | |
class | UniqueFD |
unique_ptr-like wrapper for a file descriptor More... | |
class | V4L2BufferCache |
Hot cache of associations between V4L2 buffer indexes and FrameBuffer. More... | |
struct | V4L2Capability |
struct v4l2_capability object wrapper and helpers More... | |
class | V4L2Device |
Base class for V4L2VideoDevice and V4L2Subdevice. More... | |
class | V4L2DeviceFormat |
The V4L2 video device image format and sizes. More... | |
class | V4L2M2MConverter |
The V4L2 M2M converter implements the converter interface based on V4L2 M2M device. More... | |
class | V4L2M2MDevice |
Memory-to-Memory video device. More... | |
class | V4L2PixelFormat |
V4L2 pixel format FourCC wrapper. More... | |
class | V4L2Subdevice |
A V4L2 subdevice as exposed by the Linux kernel. More... | |
struct | V4L2SubdeviceCapability |
struct v4l2_subdev_capability object wrapper and helpers More... | |
struct | V4L2SubdeviceFormat |
The V4L2 sub-device image format and sizes. More... | |
class | V4L2VideoDevice |
V4L2VideoDevice object and API. More... | |
class | YamlObject |
A class representing the tree structure of the YAML content. More... | |
class | YamlParser |
A helper class for parsing a YAML file. More... | |
Typedefs | |
using | ControlIdMap = std::unordered_map< unsigned int, const ControlId * > |
A map of numerical control ID to ControlId. More... | |
Functions | |
LogMessage | _log (const LogCategory *category, LogSeverity severity, const char *fileName, unsigned int line) |
Create a temporary LogMessage object to log a message. More... | |
bool | operator== (const ColorSpace &lhs, const ColorSpace &rhs) |
Compare color spaces for equality. More... | |
bool | operator== (const Point &lhs, const Point &rhs) |
Compare points for equality. More... | |
std::ostream & | operator<< (std::ostream &out, const Point &p) |
Insert a text representation of a Point into an output stream. More... | |
bool | operator== (const Size &lhs, const Size &rhs) |
Compare sizes for equality. More... | |
bool | operator< (const Size &lhs, const Size &rhs) |
Compare sizes for smaller than order. More... | |
std::ostream & | operator<< (std::ostream &out, const Size &s) |
Insert a text representation of a Size into an output stream. More... | |
bool | operator== (const SizeRange &lhs, const SizeRange &rhs) |
Compare size ranges for equality. More... | |
std::ostream & | operator<< (std::ostream &out, const SizeRange &sr) |
Insert a text representation of a SizeRange into an output stream. More... | |
bool | operator== (const Rectangle &lhs, const Rectangle &rhs) |
Compare rectangles for equality. More... | |
std::ostream & | operator<< (std::ostream &out, const Rectangle &r) |
Insert a text representation of a Rectangle into an output stream. More... | |
bool | operator== (const BayerFormat &lhs, const BayerFormat &rhs) |
Compare two BayerFormats for equality. More... | |
std::ostream & | operator<< (std::ostream &out, const BayerFormat &f) |
Insert a text representation of a BayerFormats into an output stream. More... | |
std::ostream & | operator<< (std::ostream &out, const MediaLink &link) |
Insert a text representation of a Link into an output stream. More... | |
std::ostream & | operator<< (std::ostream &out, const MediaPad &pad) |
Insert a text representation of a MediaPad into an output stream. More... | |
std::ostream & | operator<< (std::ostream &out, const V4L2PixelFormat &f) |
Insert a text representation of a V4L2PixelFormat into an output stream. More... | |
std::ostream & | operator<< (std::ostream &out, const V4L2SubdeviceFormat &f) |
Insert a text representation of a V4L2SubdeviceFormat into an output stream. More... | |
bool | operator== (const V4L2Subdevice::Stream &lhs, const V4L2Subdevice::Stream &rhs) |
Compare streams for equality. More... | |
std::ostream & | operator<< (std::ostream &out, const V4L2Subdevice::Stream &stream) |
Insert a text representation of a V4L2Subdevice::Stream into an output stream. More... | |
std::ostream & | operator<< (std::ostream &out, const V4L2Subdevice::Route &route) |
Insert a text representation of a V4L2Subdevice::Route into an output stream. More... | |
std::ostream & | operator<< (std::ostream &out, const V4L2Subdevice::Routing &routing) |
Insert a text representation of a V4L2Subdevice::Routing into an output stream. More... | |
std::ostream & | operator<< (std::ostream &out, const V4L2DeviceFormat &f) |
Insert a text representation of a V4L2DeviceFormat into an output stream. More... | |
libcamera::IPAInterface * | ipaCreate () |
Create an instance of the IPA interface. More... | |
int | logSetFile (const char *path, bool color) |
Direct logging to a file. More... | |
int | logSetStream (std::ostream *stream, bool color) |
Direct logging to a stream. More... | |
int | logSetTarget (LoggingTarget target) |
Set the logging target. More... | |
void | logSetLevel (const char *category, const char *level) |
Set the log level. More... | |
Orientation | orientationFromRotation (int angle, bool *success) |
Return the orientation representing a rotation of the given angle clockwise. More... | |
std::ostream & | operator<< (std::ostream &out, const Orientation &orientation) |
Prints human-friendly names for Orientation items. More... | |
std::ostream & | operator<< (std::ostream &out, const PixelFormat &f) |
Insert a text representation of a PixelFormat into an output stream. More... | |
std::ostream & | operator<< (std::ostream &out, const Request &r) |
Insert a text representation of a Request into an output stream. More... | |
std::ostream & | operator<< (std::ostream &out, StreamRole role) |
Insert a text representation of a StreamRole into an output stream. More... | |
constexpr Transform | operator & (Transform t0, Transform t1) |
Apply bitwise AND operator between the bits in the two transforms. More... | |
constexpr Transform | operator| (Transform t0, Transform t1) |
Apply bitwise OR operator between the bits in the two transforms. More... | |
constexpr Transform | operator^ (Transform t0, Transform t1) |
Apply bitwise XOR operator between the bits in the two transforms. More... | |
constexpr Transform & | operator &= (Transform &t0, Transform t1) |
Apply bitwise AND-assignment operator between the bits in the two transforms. More... | |
constexpr Transform & | operator|= (Transform &t0, Transform t1) |
Apply bitwise OR-assignment operator between the bits in the two transforms. More... | |
constexpr Transform & | operator^= (Transform &t0, Transform t1) |
Apply bitwise XOR-assignment operator between the bits in the two transforms. More... | |
Transform | operator* (Transform t0, Transform t1) |
Compose two transforms by applying t0 first then t1. More... | |
Transform | operator- (Transform t) |
Invert a transform. More... | |
constexpr bool | operator! (Transform t) |
Return true if the transform is the Identity , otherwise false More... | |
constexpr Transform | operator~ (Transform t) |
Return the transform with all the bits inverted individually. More... | |
Transform | transformFromRotation (int angle, bool *success) |
Return the transform representing a rotation of the given angle clockwise. More... | |
Transform | operator/ (const Orientation &o1, const Orientation &o2) |
Return the Transform that applied to o2 gives o1. More... | |
Orientation | operator* (const Orientation &o, const Transform &t) |
Apply the Transform t on the orientation o. More... | |
const char * | transformToString (Transform t) |
Return a character string describing the transform. More... | |
Variables | |
const struct IPAModuleInfo | ipaModuleInfo |
External IPA module interface. More... | |
Top-level libcamera namespace.
A map of numerical control ID to ControlId.
The map is used by ControlList instances to access controls by numerical IDs. A global map of all libcamera controls is provided by controls::controls.
Connection type for asynchronous communication.
This enumeration describes the possible types of asynchronous communication between a sender and a receiver. It applies to Signal::emit() and Object::invokeMethod().
Define the data type of a Control.
Enumerates the different control id map types.
Each ControlInfoMap and ControlList refers to a control id map that associates the ControlId references to a numerical identifier. During the serialization procedure the raw pointers to the ControlId instances cannot be transported on the wire, hence their numerical id is used to identify them in the serialized data buffer. At deserialization time it is required to associate back to the numerical id the ControlId instance it represents. This enumeration describes which ControlIdMap should be used to perform such operation.
Enumerator | |
---|---|
IPA_CONTROL_ID_MAP_CONTROLS | The numerical control identifier are resolved to a ControlId * using the global controls::controls id map. |
IPA_CONTROL_ID_MAP_PROPERTIES | The numerical control identifier are resolved to a ControlId * using the global properties::properties id map. |
IPA_CONTROL_ID_MAP_V4L2 | ControlId for V4L2 defined controls are created by the video device that enumerates them, and are not available across the IPC boundaries. The deserializer shall create new ControlId instances for them as well as store them in a dedicated ControlIdMap. Only lookup by numerical id can be performed on de-serialized ControlInfoMap that represents V4L2 controls. |
Log destination type.
Enumerator | |
---|---|
LoggingTargetNone | No logging destination.
|
LoggingTargetSyslog | Log to syslog.
|
LoggingTargetFile | Log to file.
|
LoggingTargetStream | Log to stream.
|
|
strong |
The image orientation in a memory buffer.
The Orientation enumeration describes the orientation of the images produced by the camera pipeline as they get received by the application inside memory buffers.
The image orientation expressed using the Orientation enumeration can be then inferred by applying to a naturally oriented image a multiple of a 90 degrees rotation in the clockwise direction from the origin and then by applying an optional horizontal mirroring.
The enumeration numerical values follow the ones defined by the EXIF Specification version 2.32, Tag 274 "Orientation", while the names of the enumerated values report the rotation and mirroring operations performed.
For example, Orientation::Rotate90Mirror describes the orientation obtained by rotating the image 90 degrees clockwise first and then applying a horizontal mirroring.
Enumerator | |
---|---|
Rotate0 | |
Rotate0Mirror | |
Rotate180 | |
Rotate180Mirror | |
Rotate90Mirror | |
Rotate270 | |
Rotate270Mirror | |
Rotate90 |
|
strong |
Identify the role a stream is intended to play.
The StreamRole describes how an application intends to use a stream. Roles are specified by applications and passed to cameras, that then select the most appropriate streams and their default configurations.
|
strong |
Enum to represent a 2D plane transform.
The Transform can take 8 distinct values, representing the usual 2D plane transforms listed below. Each of these transforms can be constructed out of 3 basic operations, namely a horizontal flip (mirror), a vertical flip, and a transposition (about the main diagonal). The transforms are encoded such that a single bit indicates the presence of each of the 3 basic operations:
We regard these 3 basic operations as being applied in a specific order: first the two flip operations (actually they commute, so the order between them is unimportant) and finally any transpose operation.
Functions are provided to manipulate directly the bits within the transform encoding, but there are also higher-level functions to invert and compose transforms. Transforms are composed according to the usual mathematical convention such that the right transform is applied first, and the left transform is applied second.
Finally, we have a total of 8 distinct transformations, as follows (a couple of them have additional synonyms for convenience). We illustrate each with its nominal effect on a rectangle with vertices labelled A, B, C and D.
The set of 2D plane transforms is also known as the symmetry group of a square, described in the link. Note that the group can be generated by only 2 elements (the horizontal flip and a 90 degree rotation, for example), however, the encoding used here makes the presence of the vertical flip explicit.
Enumerator | |
---|---|
Identity | Identity transform. A-B A-B Input image | | goes to output image | | C-D C-D Numeric value: 0 (no bits set). |
Rot0 | Synonym for Transform::Identity (zero degree rotation). |
HFlip | Horizontal flip. A-B B-A Input image | | goes to output image | | C-D D-C Numeric value: 1 (horizontal flip bit set only). |
VFlip | Vertical flip. A-B C-D Input image | | goes to output image | | C-D A-B Numeric value: 2 (vertical flip bit set only). |
HVFlip | Horizontal and vertical flip (identical to a 180 degree rotation). A-B D-C Input image | | goes to output image | | C-D B-A Numeric value: 3 (horizontal and vertical flip bits set). |
Rot180 | Synonym for |
Transpose | Transpose (about the main diagonal). A-B A-C Input image | | goes to output image | | C-D B-D Numeric value: 4 (transpose bit set only). |
Rot270 | Rotation by 270 degrees clockwise (90 degrees anticlockwise). A-B B-D Input image | | goes to output image | | C-D A-C Numeric value: 5 (transpose and horizontal flip bits set). |
Rot90 | Rotation by 90 degrees clockwise (270 degrees anticlockwise). A-B C-A Input image | | goes to output image | | C-D D-B Numeric value: 6 (transpose and vertical flip bits set). |
Rot180Transpose | Rotation by 180 degrees followed by transpose (alternatively, transposition about the "opposite diagonal"). A-B D-B Input image | | goes to output image | | C-D C-A Numeric value: 7 (all bits set). |
LogMessage libcamera::_log | ( | const LogCategory * | category, |
LogSeverity | severity, | ||
const char * | fileName, | ||
unsigned int | line | ||
) |
Create a temporary LogMessage object to log a message.
[in] | category | The log message category |
[in] | severity | The log message severity |
[in] | fileName | The file name where the message is logged from |
[in] | line | The line number where the message is logged from |
This function is used as a backend by the LOG() macro to create a log message for locations not inheriting from the Loggable class.
IPAInterface * libcamera::ipaCreate | ( | ) |
Create an instance of the IPA interface.
This function is the entry point of the IPA module. It is called by the IPA manager to create an instance of the IPA interface for each camera. When matched against with a pipeline handler, the IPAManager will construct an IPA instance for each associated Camera.
int libcamera::logSetFile | ( | const char * | path, |
bool | color | ||
) |
Direct logging to a file.
[in] | path | Full path to the log file |
[in] | color | True to output colored messages |
This function directs the log output to the file identified by path. The previous log target, if any, is closed, and all new log messages will be written to the new log file.
color controls whether or not the messages will be colored with standard ANSI escape codes. This is done regardless of whether path refers to a standard file or a TTY, the caller is responsible for disabling coloring when not suitable for the log target.
If the function returns an error, the log target is not changed.
void libcamera::logSetLevel | ( | const char * | category, |
const char * | level | ||
) |
Set the log level.
[in] | category | Logging category |
[in] | level | Log level |
This function sets the log level of category to level. level shall be one of the following strings:
"*" is not a valid category for this function.
int libcamera::logSetStream | ( | std::ostream * | stream, |
bool | color | ||
) |
Direct logging to a stream.
[in] | stream | Stream to send log output to |
[in] | color | True to output colored messages |
This function directs the log output to stream. The previous log target, if any, is closed, and all new log messages will be written to the new log stream.
color controls whether or not the messages will be colored with standard ANSI escape codes. This is done regardless of whether stream refers to a standard file or a TTY, the caller is responsible for disabling coloring when not suitable for the log target.
If the function returns an error, the log file is not changed
int libcamera::logSetTarget | ( | LoggingTarget | target | ) |
Set the logging target.
[in] | target | Logging destination |
This function sets the logging output to the target specified by target. The allowed values of target are LoggingTargetNone and LoggingTargetSyslog. LoggingTargetNone will send the log output to nowhere, and LoggingTargetSyslog will send the log output to syslog. The previous log target, if any, is closed, and all new log messages will be written to the new log destination.
LoggingTargetFile and LoggingTargetStream are not valid values for target. Use logSetFile() and logSetStream() instead, respectively.
If the function returns an error, the log file is not changed.
Apply bitwise AND operator between the bits in the two transforms.
[in] | t0 | The first transform |
[in] | t1 | The second transform |
Apply bitwise AND-assignment operator between the bits in the two transforms.
[in] | t0 | The first transform |
[in] | t1 | The second transform |
libcamera::operator! | ( | Transform | t | ) |
Return true
if the transform is the Identity
, otherwise false
[in] | t | The transform to be tested |
Compose two transforms by applying t0 first then t1.
[in] | t0 | The first transform to apply |
[in] | t1 | The second transform to apply |
Compose two transforms into a transform that is equivalent to first applying t0 and then applying t1. For example, HFlip * Transpose
performs HFlip
first and then the Transpose
yielding Rot270
, as shown below.
Note that composition is generally non-commutative for Transforms, and not the same as XOR-ing the underlying bit representations.
Orientation libcamera::operator* | ( | const Orientation & | o, |
const Transform & | t | ||
) |
Apply the Transform t on the orientation o.
o | The orientation |
t | The transform to apply on o |
Invert a transform.
[in] | t | The transform to be inverted |
That is, we return the transform such that t * (-t)
and (-t) * t
both yield the identity transform.
Transform libcamera::operator/ | ( | const Orientation & | o1, |
const Orientation & | o2 | ||
) |
Return the Transform that applied to o2 gives o1.
o1 | The Orientation to obtain |
o2 | The base Orientation |
This operation can be used to easily compute the Transform to apply to a base orientation o2 to get the desired orientation o1.
Compare sizes for smaller than order.
Sizes are compared on three criteria, in the following order.
std::ostream & libcamera::operator<< | ( | std::ostream & | out, |
const Orientation & | orientation | ||
) |
Prints human-friendly names for Orientation items.
[in] | out | The output stream |
[in] | orientation | The Orientation item |
std::ostream & libcamera::operator<< | ( | std::ostream & | out, |
const PixelFormat & | f | ||
) |
Insert a text representation of a PixelFormat into an output stream.
[in] | out | The output stream |
[in] | f | The PixelFormat |
std::ostream & libcamera::operator<< | ( | std::ostream & | out, |
const Point & | p | ||
) |
Insert a text representation of a Point into an output stream.
[in] | out | The output stream |
[in] | p | The point |
std::ostream & libcamera::operator<< | ( | std::ostream & | out, |
const V4L2PixelFormat & | f | ||
) |
Insert a text representation of a V4L2PixelFormat into an output stream.
[in] | out | The output stream |
[in] | f | The V4L2PixelFormat |
std::ostream & libcamera::operator<< | ( | std::ostream & | out, |
const MediaLink & | link | ||
) |
Insert a text representation of a Link into an output stream.
[in] | out | The output stream |
[in] | link | The MediaLink |
std::ostream & libcamera::operator<< | ( | std::ostream & | out, |
const V4L2SubdeviceFormat & | f | ||
) |
Insert a text representation of a V4L2SubdeviceFormat into an output stream.
[in] | out | The output stream |
[in] | f | The V4L2SubdeviceFormat |
std::ostream & libcamera::operator<< | ( | std::ostream & | out, |
StreamRole | role | ||
) |
Insert a text representation of a StreamRole into an output stream.
[in] | out | The output stream |
[in] | role | The StreamRole |
std::ostream & libcamera::operator<< | ( | std::ostream & | out, |
const BayerFormat & | f | ||
) |
Insert a text representation of a BayerFormats into an output stream.
[in] | out | The output stream |
[in] | f | The BayerFormat |
std::ostream & libcamera::operator<< | ( | std::ostream & | out, |
const Request & | r | ||
) |
std::ostream & libcamera::operator<< | ( | std::ostream & | out, |
const MediaPad & | pad | ||
) |
std::ostream & libcamera::operator<< | ( | std::ostream & | out, |
const V4L2DeviceFormat & | f | ||
) |
Insert a text representation of a V4L2DeviceFormat into an output stream.
[in] | out | The output stream |
[in] | f | The V4L2DeviceFormat |
std::ostream & libcamera::operator<< | ( | std::ostream & | out, |
const V4L2Subdevice::Stream & | stream | ||
) |
Insert a text representation of a V4L2Subdevice::Stream into an output stream.
[in] | out | The output stream |
[in] | stream | The V4L2Subdevice::Stream |
std::ostream & libcamera::operator<< | ( | std::ostream & | out, |
const V4L2Subdevice::Route & | route | ||
) |
Insert a text representation of a V4L2Subdevice::Route into an output stream.
[in] | out | The output stream |
[in] | route | The V4L2Subdevice::Route |
std::ostream & libcamera::operator<< | ( | std::ostream & | out, |
const V4L2Subdevice::Routing & | routing | ||
) |
Insert a text representation of a V4L2Subdevice::Routing into an output stream.
[in] | out | The output stream |
[in] | routing | The V4L2Subdevice::Routing |
std::ostream & libcamera::operator<< | ( | std::ostream & | out, |
const Size & | s | ||
) |
Insert a text representation of a Size into an output stream.
[in] | out | The output stream |
[in] | s | The size |
std::ostream & libcamera::operator<< | ( | std::ostream & | out, |
const SizeRange & | sr | ||
) |
Insert a text representation of a SizeRange into an output stream.
[in] | out | The output stream |
[in] | sr | The size range |
std::ostream & libcamera::operator<< | ( | std::ostream & | out, |
const Rectangle & | r | ||
) |
Insert a text representation of a Rectangle into an output stream.
[in] | out | The output stream |
[in] | r | The rectangle |
Compare points for equality.
bool libcamera::operator== | ( | const BayerFormat & | lhs, |
const BayerFormat & | rhs | ||
) |
Compare two BayerFormats for equality.
bool libcamera::operator== | ( | const ColorSpace & | lhs, |
const ColorSpace & | rhs | ||
) |
Compare color spaces for equality.
Compare sizes for equality.
bool libcamera::operator== | ( | const V4L2Subdevice::Stream & | lhs, |
const V4L2Subdevice::Stream & | rhs | ||
) |
Compare streams for equality.
Compare size ranges for equality.
Compare rectangles for equality.
Apply bitwise XOR operator between the bits in the two transforms.
[in] | t0 | The first transform |
[in] | t1 | The second transform |
Apply bitwise XOR-assignment operator between the bits in the two transforms.
[in] | t0 | The first transform |
[in] | t1 | The second transform |
Apply bitwise OR operator between the bits in the two transforms.
[in] | t0 | The first transform |
[in] | t1 | The second transform |
Apply bitwise OR-assignment operator between the bits in the two transforms.
[in] | t0 | The first transform |
[in] | t1 | The second transform |
libcamera::operator~ | ( | Transform | t | ) |
Return the transform with all the bits inverted individually.
[in] | t | The transform of which the bits will be inverted |
This inverts the bits that encode the transform in a bitwise manner. Note that this is not the proper inverse of transform t (for which use operator-).
Orientation libcamera::orientationFromRotation | ( | int | angle, |
bool * | success | ||
) |
Return the orientation representing a rotation of the given angle clockwise.
[in] | angle | The angle of rotation in a clockwise sense. Negative values can be used to represent anticlockwise rotations |
[out] | success | Set to true if the angle is a multiple of 90 degrees, otherwise false |
true
, otherwise the Rotate0
orientation Transform libcamera::transformFromRotation | ( | int | angle, |
bool * | success | ||
) |
Return the transform representing a rotation of the given angle clockwise.
[in] | angle | The angle of rotation in a clockwise sense. Negative values can be used to represent anticlockwise rotations |
[out] | success | Set to true if the angle is a multiple of 90 degrees, otherwise false |
true
, otherwise the Identity
transform const char * libcamera::transformToString | ( | Transform | t | ) |
Return a character string describing the transform.
[in] | t | The transform to be described. |
libcamera::ipaModuleInfo |
External IPA module interface.
Information of an IPA module.
The IPAModuleInfo is required to match an IPA module construction against the intented pipeline handler with the module. The API and pipeline handler versions must match the corresponding IPA interface and pipeline handler.
An IPA module must export a struct IPAModuleInfo of this name.