libcamera v0.6.0 Supporting cameras in Linux since 2019

Loading...
Searching...
No Matches
libcamera::IPACameraSensorInfo Struct Reference

Report the image sensor characteristics. More...

Collaboration diagram for libcamera::IPACameraSensorInfo:
[legend]

## Public Attributes
std::string | model
| The image sensor model name.
uint32_t | bitsPerPixel { 0 }
| The number of bits per pixel of the image format produced by the image sensor.
uint32_t | cfaPattern { 0 }
| The arrangement of colour filters on the image sensor.
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.
Size | outputSize
| The size of the images produced by the camera sensor.
uint64_t | pixelRate { 0 }
| The number of pixels produced in a second.
uint32_t | minLineLength { 0 }
| The minimum line length in pixels.
uint32_t | maxLineLength { 0 }
| The maximum line length in pixels.
uint32_t | minFrameLength { 0 }
| The minimum allowable frame length in units of lines.
uint32_t | maxFrameLength { 0 }
| The maximum allowable frame length in units of lines.

## 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

Rectangle 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

uint32_t libcamera::IPACameraSensorInfo::cfaPattern { 0 }

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

uint32_t libcamera::IPACameraSensorInfo::maxFrameLength { 0 }

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

uint32_t libcamera::IPACameraSensorInfo::maxLineLength { 0 }

The maximum line length in pixels.

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

## ◆ minFrameLength

uint32_t libcamera::IPACameraSensorInfo::minFrameLength { 0 }

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

uint32_t libcamera::IPACameraSensorInfo::minLineLength { 0 }

The minimum line length in pixels.

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

## ◆ model

std::string libcamera::IPACameraSensorInfo::model

The image sensor model name.

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

## ◆ outputSize

Size 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

uint64_t libcamera::IPACameraSensorInfo::pixelRate { 0 }

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:

- /build/libcamera/src/build/include/libcamera/ipa/core_ipa_interface.h
- /build/libcamera/src/build/src/libcamera/ipa/core_ipa_interface.cpp