hc
2024-03-22 cd2737927c6dc09973e8461fc4c9b14e8042cd17
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
/*
 *  Copyright (c) 2019 Rockchip Corporation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 */
 
#ifndef _RK_AIQ_USER_API_AHDR_H_
#define _RK_AIQ_USER_API_AHDR_H_
 
#include "RkAiqCalibDbTypes.h"
#include "uAPI2/rk_aiq_user_api2_atmo.h"
#include "uAPI2/rk_aiq_user_api2_amerge.h"
 
 
/*
typedef enum hdr_OpMode_s {
    HDR_OpMode_Api_OFF = 0, // run IQ ahdr
    HDR_OpMode_Auto = 1, //run api auto ahdr
    HDR_OpMode_MANU = 2, //run api manual ahdr
    HDR_OpMode_SET_LEVEL = 3, // its prevously fast mode, run api set level
    HDR_OpMode_DarkArea = 4, // for dark area luma inprove, no matter the scene is night, normal, or hdr
    HDR_OpMode_Tool = 5, // for dark area luma inprove, no matter the scene is night, normal, or hdr
} hdr_OpMode_t;
 
typedef struct ahdrAttr_s
{
    bool      bUpdateTmo;
    bool      bUpdateMge;
    amgeAttr_t stMgeAuto;
    atmoAttr_t stTmoAuto;
} ahdrAttr_t;
 
typedef struct mhdrAttr_s
{
    bool      bUpdateTmo;
    bool      bUpdateMge;
    mmgeAttr_t stMgeManual;
    mtmoAttr_t stTmoManual;
} mhdrAttr_t;
 
typedef struct CurrCtlData_s
{
    int SceneMode;
    float GlobalLumaMode;
    float DetailsHighLightMode;
    float DetailsLowLightMode;
    float GlobalTmoMode;
    float LocalTMOMode;
    float Envlv;
    float MoveCoef;
    float ISO;
    float OEPdf;
    float FocusLuma;
    float DarkPdf;
    float DynamicRange;
} CurrCtlData_t;
 
typedef struct CurrRegData_s
{
    float OECurve_smooth;
    float OECurve_offset;
    float MDCurveLM_smooth;
    float MDCurveLM_offset;
    float MDCurveMS_smooth;
    float MDCurveMS_offset;
 
    float GlobalLuma;
    float DetailsLowlight;
    float DetailsHighlight;
    float LocalTmoStrength;
    float GlobaltmoStrength;
} CurrRegData_t;
 
typedef struct CalibDb_HdrMerge_s
{
    float envLevel[13];
    float oeCurve_smooth[13];
    float oeCurve_offset[13];
    float moveCoef[13];
    float mdCurveLm_smooth[13];
    float mdCurveLm_offset[13];
    float mdCurveMs_smooth[13];
    float mdCurveMs_offset[13];
    float oeCurve_damp;
    float mdCurveLm_damp;
    float mdCurveMs_damp;
} CalibDb_HdrMerge_t;
 
typedef struct CalibDb_HdrTmo_s
{
    TMO_en_t en[CALIBDB_MAX_MODE_NUM];
    GlobalLuma_t luma[CALIBDB_MAX_MODE_NUM];
    DetailsHighLight_t HighLight[CALIBDB_MAX_MODE_NUM];
    DetailsLowLight_t LowLight[CALIBDB_MAX_MODE_NUM];
    LocalTMO_t LocalTMO[CALIBDB_MAX_MODE_NUM];
    GlobaTMO_t GlobaTMO[CALIBDB_MAX_MODE_NUM];
    float damp;
} CalibDb_HdrTmo_t;
 
typedef struct CalibDb_Ahdr_Para_s {
    CalibDb_HdrMerge_t merge;
    CalibDb_HdrTmo_t tmo;
} CalibDb_Ahdr_Para_t;
 
typedef struct ahdr_attrib_s
{
    hdr_OpMode_t    opMode;
    ahdrAttr_t    stAuto;
    mhdrAttr_t stManual;
    FastMode_t stSetLevel;
    DarkArea_t stDarkArea;
    CurrCtlData_t CtlInfo;
    CurrRegData_t RegInfo;
    CalibDb_Ahdr_Para_t stTool;
} ahdr_attrib_t;
 
typedef struct rk_aiq_sys_ctx_s rk_aiq_sys_ctx_t;
*/
 
RKAIQ_BEGIN_DECLARE
 
/*
XCamReturn
rk_aiq_user_api_ahdr_SetAttrib(const rk_aiq_sys_ctx_t* sys_ctx, ahdr_attrib_t attr);
XCamReturn
rk_aiq_user_api_ahdr_GetAttrib(const rk_aiq_sys_ctx_t* sys_ctx, ahdr_attrib_t* attr);
*/
 
RKAIQ_END_DECLARE
 
#endif