xref: /OK3568_Linux_fs/external/camera_engine_rkaiq/rkaiq/include/algos/acac/rk_aiq_types_acac_hw.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /*
2  * rk_aiq_types_acac_hw.h
3  *
4  *  Copyright (c) 2021 Rockchip Electronics Co., Ltd
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *      http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  * Author: Cody Xie <cody.xie@rock-chips.com>
19  */
20 
21 #ifndef _RK_AIQ_TYPE_ACAC_HW_H_
22 #define _RK_AIQ_TYPE_ACAC_HW_H_
23 
24 #include <stdint.h>
25 
26 #include "rk_aiq_comm.h"
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
32 #ifndef ISP3X_CAC_STRENGTH_NUM
33 #define ISP3X_CAC_STRENGTH_NUM 22
34 #endif
35 
36 #ifndef ISP32_CAC_STRENGTH_NUM
37 #define ISP32_CAC_STRENGTH_NUM ISP3X_CAC_STRENGTH_NUM
38 #endif
39 
40 typedef struct rkaiq_cac_v10_hw_param_s {
41     uint8_t bypass_en;
42     uint8_t center_en;
43 
44     uint8_t psf_sft_bit;
45     uint16_t cfg_num;
46 
47     uint16_t center_width;
48     uint16_t center_height;
49 
50     uint16_t strength[ISP3X_CAC_STRENGTH_NUM];
51 
52     uint32_t hsize;
53     uint32_t vsize;
54     int32_t buf_fd;
55 } __attribute__((packed)) rkaiq_cac_v10_hw_param_t;
56 
57 typedef struct rkaiq_cac_v11_hw_param_s {
58     uint8_t bypass_en;
59     uint8_t center_en;
60     uint8_t clip_g_mode;
61     uint8_t edge_detect_en;
62     uint8_t neg_clip0_en;
63 
64     uint8_t flat_thed_b;
65     uint8_t flat_thed_r;
66 
67     uint8_t psf_sft_bit;
68     uint16_t cfg_num;
69 
70     uint16_t center_width;
71     uint16_t center_height;
72 
73     uint16_t strength[ISP32_CAC_STRENGTH_NUM];
74 
75     uint16_t offset_b;
76     uint16_t offset_r;
77 
78     uint32_t expo_thed_b;
79     uint32_t expo_thed_r;
80     uint32_t expo_adj_b;
81     uint32_t expo_adj_r;
82 
83     uint32_t hsize;
84     uint32_t vsize;
85 
86     int32_t buf_fd;
87 } __attribute__((packed)) rkaiq_cac_v11_hw_param_t;
88 
89 #ifdef __cplusplus
90 }
91 #endif
92 
93 #endif
94