libcamera v0.0.0
Supporting cameras in Linux since 2019
ipa_context.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: LGPL-2.1-or-later */
2/*
3 * Copyright (C) 2021, Google Inc.
4 *
5 * ipa_context.h - IPU3 IPA Context
6 *
7 */
8
9#pragma once
10
11#include <linux/intel-ipu3.h>
12
14
15#include <libcamera/geometry.h>
16
17namespace libcamera {
18
19namespace ipa::ipu3 {
20
22 struct {
23 ipu3_uapi_grid_config bdsGrid;
25 uint32_t stride;
27
28 struct {
33 } agc;
34};
35
37 struct {
38 uint32_t exposure;
39 double gain;
40 } agc;
41
42 struct {
43 struct {
44 double red;
45 double green;
46 double blue;
47 } gains;
48
50 } awb;
51
52 struct {
53 uint32_t exposure;
54 double gain;
56
57 struct {
58 double gamma;
59 struct ipu3_uapi_gamma_corr_lut gammaCorrection;
61};
62
63struct IPAContext {
66};
67
68} /* namespace ipa::ipu3 */
69
70} /* namespace libcamera*/
Describe a two-dimensional size.
Definition: geometry.h:50
Helper class from std::chrono::duration that represents a time duration in nanoseconds with double pr...
Definition: utils.h:324
Data structures related to geometric objects.
Top-level libcamera namespace.
Definition: backtrace.h:17
White balance gains.
Global IPA context data shared between all algorithms.
Definition: ipa_context.h:63
IPASessionConfiguration configuration
The IPA session configuration, immutable during the session.
Definition: ipa_context.h:64
IPAFrameContext frameContext
The frame context for the frame being processed.
Definition: ipa_context.h:65
Per-frame context for algorithms.
Definition: ipa_context.h:36
struct libcamera::ipa::ipu3::IPAFrameContext::@8 sensor
Effective sensor values.
double green
White balance gain for G channel.
Definition: ipa_context.h:45
double temperatureK
Estimated color temperature.
Definition: ipa_context.h:49
double red
White balance gain for R channel.
Definition: ipa_context.h:44
struct ipu3_uapi_gamma_corr_lut gammaCorrection
Per-pixel tone mapping implemented as a LUT.
Definition: ipa_context.h:59
double gain
Analogue gain multiplier.
Definition: ipa_context.h:39
uint32_t exposure
Exposure time expressed as a number of lines.
Definition: ipa_context.h:38
double gamma
Gamma value for the LUT.
Definition: ipa_context.h:58
struct libcamera::ipa::ipu3::IPAFrameContext::@6 agc
Context for the Automatic Gain Control algorithm.
struct libcamera::ipa::ipu3::IPAFrameContext::@9 toneMapping
Context for ToneMapping and Gamma control.
struct libcamera::ipa::ipu3::IPAFrameContext::@7 awb
Context for the Automatic White Balance algorithm.
double blue
White balance gain for B channel.
Definition: ipa_context.h:46
Session configuration for the IPA module.
Definition: ipa_context.h:21
double maxAnalogueGain
Maximum analogue gain supported with the configured sensor.
Definition: ipa_context.h:32
utils::Duration maxShutterSpeed
Maximum shutter speed supported with the configured sensor.
Definition: ipa_context.h:30
uint32_t stride
Number of cells on one line including the ImgU padding.
Definition: ipa_context.h:25
ipu3_uapi_grid_config bdsGrid
Bayer Down Scaler grid plane config used by the kernel.
Definition: ipa_context.h:23
double minAnalogueGain
Minimum analogue gain supported with the configured sensor.
Definition: ipa_context.h:31
utils::Duration minShutterSpeed
Minimum shutter speed supported with the configured sensor.
Definition: ipa_context.h:29
Size bdsOutputSize
BDS output size configured by the pipeline handler.
Definition: ipa_context.h:24
struct libcamera::ipa::ipu3::IPASessionConfiguration::@4 grid
Grid configuration of the IPA.
struct libcamera::ipa::ipu3::IPASessionConfiguration::@5 agc
AGC parameters configuration of the IPA.
Miscellaneous utility functions.