blob: 95540ab22e39334a7aaed8b8b849beace8667227 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
/* SPDX-License-Identifier: Apache-2.0 */
/*
* IPU3ISPPipe: Derived class from ISPPipe storing the AIC config
*/
#ifndef IPU3ISPPIPE_H
#define IPU3ISPPIPE_H
/* Included first to bring in our type wrapper */
#include "kbl_aic.h"
#include "IPU3AICCommon.h"
#include "Pipe.h"
namespace libcamera::ipa::ipu3::aic {
#define NUM_ISP_PIPES 1
typedef enum AicMode {
AIC_MODE_STILL = 0,
AIC_MODE_VIDEO,
AIC_MODE_MAX,
} AicMode;
class IPU3ISPPipe : public ISPPipe
{
public:
IPU3ISPPipe();
public:
// This function configures the HW/FW pipe via CSS interface
virtual void SetPipeConfig(const aic_output_t pipe_config);
virtual pipe_ver GetPipeVer() { return Czero; }
virtual const ia_aiq_rgbs_grid *GetAWBStats();
virtual const ia_aiq_af_grid *GetAFStats();
virtual const ia_aiq_histogram *GetAEStats();
virtual aic_config *GetAicConfig();
virtual void dump();
private:
aic_output_t AicOutput;
aic_config AicConfig; /* Config to driver */
};
} /* namespace libcamera::ipa::ipu3::aic */
#endif /* IPU3ISPPIPE_H */
|