libcamera  v0.0.0
Supporting cameras in Linux since 2019
Classes
camera.h File Reference

Camera device handling. More...

#include <memory>
#include <set>
#include <stdint.h>
#include <string>
#include <libcamera/controls.h>
#include <libcamera/request.h>
#include <libcamera/signal.h>
#include <libcamera/stream.h>

Go to the source code of this file.

Classes

class  libcamera::CameraConfiguration
 Hold configuration for streams of the camera. More...
 
class  libcamera::Camera
 Camera device. More...
 

Detailed Description

Camera device handling.

At the core of libcamera is the camera device, combining one image source with processing hardware able to provide one or multiple image streams. The Camera class represents a camera device.

A camera device contains a single image source, and separate camera device instances relate to different image sources. For instance, a phone containing front and back image sensors will be modelled with two camera devices, one for each sensor. When multiple streams can be produced from the same image source, all those streams are guaranteed to be part of the same camera device.

While not sharing image sources, separate camera devices can share other system resources, such as an ISP. For this reason camera device instances may not be fully independent, in which case usage restrictions may apply. For instance, a phone with a front and a back camera device may not allow usage of the two devices simultaneously.