libcamera  v0.3.1+1-c9152bad
Supporting cameras in Linux since 2019
Public Attributes | List of all members
libcamera::IPACameraSensorInfo Struct Reference

Report the image sensor characteristics. More...

Collaboration diagram for libcamera::IPACameraSensorInfo:
Collaboration graph
[legend]

Public Attributes

std::string model
 The image sensor model name. More...
 
uint32_t bitsPerPixel
 The number of bits per pixel of the image format produced by the image sensor.
 
uint32_t cfaPattern
 The arrangement of colour filters on the image sensor. More...
 
Size activeAreaSize
 The size of the pixel array active area of the sensor.
 
Rectangle analogCrop
 The portion of the pixel array active area which is read-out and processed. More...
 
Size outputSize
 The size of the images produced by the camera sensor. More...
 
uint64_t pixelRate
 The number of pixels produced in a second. More...
 
uint32_t minLineLength
 The minimum line length in pixels. More...
 
uint32_t maxLineLength
 The maximum line length in pixels. More...
 
uint32_t minFrameLength
 The minimum allowable frame length in units of lines. More...
 
uint32_t maxFrameLength
 The maximum allowable frame length in units of lines. More...
 

Detailed Description

Report the image sensor characteristics.

The structure reports image sensor characteristics used by IPA modules to tune their algorithms based on the image sensor model currently in use and its configuration.

The reported information describes the sensor's intrinsics characteristics, such as its pixel array size and the sensor model name, as well as information relative to the currently configured mode, such as the produced image size and the bit depth of the requested image format.

Instances of this structure are meant to be assembled by the CameraSensor class by inspecting the sensor static properties as well as information relative to the current configuration.

Member Data Documentation

◆ analogCrop

libcamera::IPACameraSensorInfo::analogCrop

The portion of the pixel array active area which is read-out and processed.

The analog crop rectangle top-left corner is defined as the displacement from the top-left corner of the pixel array active area. The rectangle horizontal and vertical sizes define the portion of the pixel array which is read-out and provided to the sensor's internal processing pipeline, before any pixel sub-sampling method, such as pixel binning, skipping and averaging take place.

◆ cfaPattern

libcamera::IPACameraSensorInfo::cfaPattern

The arrangement of colour filters on the image sensor.

This takes a value defined by properties::draft::ColorFilterArrangementEnum. For non-Bayer colour sensors, the cfaPattern will be set to properties::draft::ColorFilterArrangementEnum::RGB.

Todo:
Make this variable optional once mojom supports it, instead of using RGB for sensors that don't have a CFA.

◆ maxFrameLength

libcamera::IPACameraSensorInfo::maxFrameLength

The maximum allowable frame length in units of lines.

The sensor frame length comprises of active output lines and blanking lines in a frame. The maximum frame length value dictates the maximum allowable frame duration of the sensor mode.

To obtain the maximum frame duration:

    frameDuration(s) = maxFrameLength(lines) * maxLineLength(pixels) / pixelRate(pixels per second)

◆ maxLineLength

libcamera::IPACameraSensorInfo::maxLineLength

The maximum line length in pixels.

The maximum allowable line length in pixel clock periods, including blanking.

◆ minFrameLength

libcamera::IPACameraSensorInfo::minFrameLength

The minimum allowable frame length in units of lines.

The sensor frame length comprises of active output lines and blanking lines in a frame. The minimum frame length value dictates the minimum allowable frame duration of the sensor mode.

To obtain the minimum frame duration:

    frameDuration(s) = minFrameLength(lines) * minLineLength(pixels) / pixelRate(pixels per second)

◆ minLineLength

libcamera::IPACameraSensorInfo::minLineLength

The minimum line length in pixels.

The minimum allowable line length in pixel clock periods, including blanking.

◆ model

libcamera::IPACameraSensorInfo::model

The image sensor model name.

The sensor model name is a free-formed string that uniquely identifies the sensor model.

◆ outputSize

libcamera::IPACameraSensorInfo::outputSize

The size of the images produced by the camera sensor.

The output image size defines the horizontal and vertical sizes of the images produced by the image sensor. The output image size is defined as the end result of the sensor's internal image processing pipeline stages, applied on the pixel array portion defined by the analog crop rectangle. Each image processing stage that performs pixel sub-sampling techniques, such as pixel binning or skipping, or perform any additional digital scaling concur in the definition of the output image size.

◆ pixelRate

libcamera::IPACameraSensorInfo::pixelRate

The number of pixels produced in a second.

To obtain the read-out time in seconds of a full line:

    lineDuration(s) = lineLength(pixels) / pixelRate(pixels per second)

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