Files
external_libcamera/src/ipa/mali-c55/ipa_context.h
T
Laurent Pinchart cdc523225c libcamera: Drop remaining file names from header comment blocks
Header comment blocks used to contain the file name. Considered as
useless information, the names have been removed, with the last ones
supposed to be dropped in commit d3bf27180e ("libcamera: Drop
remaining file names from header comment blocks"). A few have however
been forgotten, and more crept back since. Remove them.

While at it, fix one typo in a header comment block by replacing
'MaliC55 with Mali-C55', and add a missing blank line in
src/ipa/rpi/pisp/pisp.cpp.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com>
2025-07-24 21:04:09 +03:00

91 lines
1.5 KiB
C++

/* SPDX-License-Identifier: LGPL-2.1-or-later */
/*
* Copyright (C) 2024, Ideas On Board
*
* Mali-C55 IPA Context
*/
#pragma once
#include <libcamera/base/utils.h>
#include <libcamera/controls.h>
#include "libcamera/internal/bayer_format.h"
#include <libipa/fc_queue.h>
namespace libcamera {
namespace ipa::mali_c55 {
struct IPASessionConfiguration {
struct {
utils::Duration minShutterSpeed;
utils::Duration maxShutterSpeed;
uint32_t defaultExposure;
double minAnalogueGain;
double maxAnalogueGain;
} agc;
struct {
BayerFormat::Order bayerOrder;
utils::Duration lineDuration;
uint32_t blackLevel;
} sensor;
};
struct IPAActiveState {
struct {
struct {
uint32_t exposure;
double sensorGain;
double ispGain;
} automatic;
struct {
uint32_t exposure;
double sensorGain;
double ispGain;
} manual;
bool autoEnabled;
uint32_t constraintMode;
uint32_t exposureMode;
uint32_t temperatureK;
} agc;
struct {
double rGain;
double bGain;
} awb;
};
struct IPAFrameContext : public FrameContext {
struct {
uint32_t exposure;
double sensorGain;
double ispGain;
} agc;
struct {
double rGain;
double bGain;
} awb;
};
struct IPAContext {
IPAContext(unsigned int frameContextSize)
: frameContexts(frameContextSize)
{
}
IPASessionConfiguration configuration;
IPAActiveState activeState;
FCQueue<IPAFrameContext> frameContexts;
ControlInfoMap::Map ctrlMap;
};
} /* namespace ipa::mali_c55 */
} /* namespace libcamera*/