How to use the DCMIPP ISP

Revision as of 15:14, 19 October 2023 by Registered User (→‎The software topology)
Applicable for STM32MP25x lines

1. Article purpose[edit source]

This article explains how to control the ISP block available within the DCMIPP via the kernel Video4Linux2 (V4L2) framework in Linux® OS context.

Warning white.png Warning
The software topology and controls related to the ISP are subject to modifications between the BETA and MM

2. Short description of DCMIPP ISP[edit source]

2.1. Block diagram[edit source]

Block diagram of DCMIPP ISP Block

The DCMIPP ISP capabilities, instantiated once but common to pipe1 and 2, are the following:

  • Statistic removal: to remove unused metadata (like statistics) from received pictures.
  • Bad-pixel removal: automatic detection and correction of bad pixels from sensor Array.
  • Decimation: one pixel every 1/2/4/8, allows to fit the max 2688 pixels.
  • Black level correction: correct black level on each pixels on R/G/B
  • Exposure control: amplifies the exposure from 0.0 to 255.99x
  • Demosaicing: converts RawBayer to RGB, supports NIR patterns (2x2, 4x4).
  • Statistics extract: average R,G,B,L values, dynamic bins.
  • Color conversion: color conversion with flexible (fully programmable coefficients)
  • Contrast:to enhance the contrast, via luminance.

2.2. The software topology[edit source]

The graph above shows the full media-controller topology of the DCMIPP, including the ISP sub-device dcmipp_main_isp.

2.3. The available controls[edit source]

2.4. The statistic extraction[edit source]

3. Use case examples[edit source]

3.1. Adusting a control[edit source]

4. Debug[edit source]