1 /* 2 *rk_aiq_types_alsc_hw.h 3 * 4 * Copyright (c) 2019 Rockchip Corporation 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 */ 19 20 #ifndef _RK_AIQ_TYPE_AYNR_HW_V22_H_ 21 #define _RK_AIQ_TYPE_AYNR_HW_V22_H_ 22 #include "rk_aiq_comm.h" 23 24 25 26 typedef struct RK_YNR_Fix_V22_s { 27 /* YNR_GLOBAL_CTRL */ 28 uint8_t rnr_en; 29 uint8_t gate_dis; 30 uint8_t thumb_mix_cur_en; 31 uint8_t global_gain_alpha; 32 uint16_t global_gain; 33 uint8_t flt1x1_bypass_sel; 34 uint8_t nlm11x11_bypass; 35 uint8_t flt1x1_bypass; 36 uint8_t lgft3x3_bypass; 37 uint8_t lbft5x5_bypass; 38 uint8_t bft3x3_bypass; 39 uint8_t ynr_en; 40 41 42 /* YNR_RNR_MAX_R */ 43 uint16_t rnr_max_r; 44 uint16_t local_gainscale; 45 46 /* YNR_RNR_CENTER_COOR */ 47 uint16_t rnr_center_coorh; 48 uint16_t rnr_center_coorv; 49 50 /* YNR_LOCAL_GAIN_CTRL */ 51 uint16_t localgain_adj_thresh; 52 uint16_t localgain_adj; 53 54 /* YNR_LOWNR_CTRL0 */ 55 uint16_t low_bf_inv1; 56 uint16_t low_bf_inv0; 57 58 /* YNR_LOWNR_CTRL1 */ 59 uint16_t low_peak_supress; 60 uint16_t low_thred_adj; 61 62 /* YNR_LOWNR_CTRL2 */ 63 uint16_t low_dist_adj; 64 uint16_t low_edge_adj_thresh; 65 66 /* YNR_LOWNR_CTRL3 */ 67 uint16_t low_bi_weight; 68 uint16_t low_weight; 69 uint16_t low_center_weight; 70 71 /* YNR_LOWNR_CTRL4 */ 72 uint16_t frame_full_size; 73 uint16_t lbf_weight_thres; 74 75 /* YNR_GAUSS1_COEFF */ 76 uint16_t low_gauss1_coeff2; 77 uint16_t low_gauss1_coeff1; 78 uint16_t low_gauss1_coeff0; 79 80 /* YNR_GAUSS2_COEFF */ 81 uint16_t low_gauss2_coeff2; 82 uint16_t low_gauss2_coeff1; 83 uint16_t low_gauss2_coeff0; 84 85 /* YNR_SGM_DX */ 86 uint16_t luma_points_x[17]; 87 /* YNR_LSGM_Y */ 88 uint16_t lsgm_y[17]; 89 90 /* YNR_RNR_STRENGTH */ 91 uint8_t rnr_strength[17]; 92 93 /* YNR_NLM_SIGMA_GAIN */ 94 uint16_t nlm_min_sigma; 95 uint8_t nlm_hi_gain_alpha; 96 uint16_t nlm_hi_bf_scale; 97 98 /* YNR_NLM_COE */ 99 uint8_t nlm_coe_0; 100 uint8_t nlm_coe_1; 101 uint8_t nlm_coe_2; 102 uint8_t nlm_coe_3; 103 uint8_t nlm_coe_4; 104 uint8_t nlm_coe_5; 105 106 /* YNR_NLM_WEIGHT */ 107 uint32_t nlm_center_weight; 108 uint16_t nlm_weight_offset; 109 110 /* YNR_NLM_NR_WEIGHT */ 111 uint16_t nlm_nr_weight; 112 113 } RK_YNR_Fix_V22_t; 114 115 116 #endif 117 118 119 120