/* * ynr_head_v1.h * * Copyright (c) 2021 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 __CALIBDBV2_YNR_HEADER_V2_H__ #define __CALIBDBV2_YNR_HEADER_V2_H__ #include "rk_aiq_comm.h" RKAIQ_BEGIN_DECLARE ///////////////////////////ynr v1////////////////////////////////////// typedef struct CalibDbV2_YnrV2_CalibPara_Setting_ISO_s { // M4_NUMBER_MARK_DESC("iso", "f32", M4_RANGE(50, 204800), "50", M4_DIGIT(1), "index2") float iso; // M4_ARRAY_DESC("sigma_curve", "f32", M4_SIZE(1,5), M4_RANGE(-65535.0, 65535), "0.0", M4_DIGIT(6), M4_DYNAMIC(0)) double sigma_curve[5]; // M4_NUMBER_DESC("ynr_ci_l", "f32", M4_RANGE(0.0, 2.0), "0.5", M4_DIGIT(3)) float ynr_ci_l; // M4_NUMBER_DESC("ynr_ci_h", "f32", M4_RANGE(0.0, 2.0), "0.5", M4_DIGIT(3)) float ynr_ci_h; } CalibDbV2_YnrV2_CalibPara_Setting_ISO_t; typedef struct CalibDbV2_YnrV2_CalibPara_Setting_s { // M4_STRING_MARK_DESC("SNR_Mode", M4_SIZE(1,1), M4_RANGE(0, 64), "LSNR",M4_DYNAMIC(0), "index1") char *SNR_Mode; // M4_STRING_DESC("Sensor_Mode", M4_SIZE(1,1), M4_RANGE(0, 64), "lcg", M4_DYNAMIC(0)) char *Sensor_Mode; // M4_STRUCT_LIST_DESC("Calib_ISO", M4_SIZE_DYNAMIC, "double_index_list") CalibDbV2_YnrV2_CalibPara_Setting_ISO_t *Calib_ISO; int Calib_ISO_len; } CalibDbV2_YnrV2_CalibPara_Setting_t; typedef struct CalibDbV2_YnrV2_CalibPara_s { // M4_STRUCT_LIST_DESC("Setting", M4_SIZE_DYNAMIC, "double_index_list") CalibDbV2_YnrV2_CalibPara_Setting_t *Setting; int Setting_len; } CalibDbV2_YnrV2_CalibPara_t; typedef struct CalibDbV2_YnrV2_TuningPara_Setting_ISO_s { // M4_NUMBER_MARK_DESC("iso", "f32", M4_RANGE(50, 204800), "50", M4_DIGIT(1), "index2") float iso; // M4_BOOL_DESC("ynr_bft3x3_bypass", "0") float ynr_bft3x3_bypass; // M4_BOOL_DESC("ynr_lbft5x5_bypass", "0") float ynr_lbft5x5_bypass; // M4_BOOL_DESC("ynr_lgft3x3_bypass", "0") float ynr_lgft3x3_bypass; // M4_BOOL_DESC("ynr_flt1x1_bypass", "0") float ynr_flt1x1_bypass; // M4_BOOL_DESC("ynr_sft5x5_bypass", "0") float ynr_sft5x5_bypass; // M4_NUMBER_DESC("low_bf_0", "f32", M4_RANGE(0.1, 512), "0.5", M4_DIGIT(2)) float low_bf_0; // M4_NUMBER_DESC("low_bf_1", "f32", M4_RANGE(0.1, 512), "0.5", M4_DIGIT(2)) float low_bf_1; // M4_NUMBER_DESC("low_thred_adj", "f32", M4_RANGE(0.0, 31.0), "0.25", M4_DIGIT(2)) float low_thred_adj; // M4_NUMBER_DESC("low_peak_supress", "f32", M4_RANGE(0.0, 1.0), "0.5", M4_DIGIT(2)) float low_peak_supress; // M4_NUMBER_DESC("low_edge_adj_thresh", "f32", M4_RANGE(0, 1023), "7", M4_DIGIT(2)) float low_edge_adj_thresh; // M4_NUMBER_DESC("low_center_weight", "f32", M4_RANGE(0.0, 1.0), "0.5", M4_DIGIT(2)) float low_center_weight; // M4_NUMBER_DESC("low_dist_adj", "f32", M4_RANGE(0.0, 63.0), "8.0", M4_DIGIT(2)) float low_dist_adj; // M4_NUMBER_DESC("low_weight", "f32", M4_RANGE(0.0, 1.0), "0.5", M4_DIGIT(2)) float low_weight; // M4_NUMBER_DESC("low_filt_strength_0", "f32", M4_RANGE(0.0, 1.0), "0.7", M4_DIGIT(2)) float low_filt_strength_0; // M4_NUMBER_DESC("low_filt_strength_1", "f32", M4_RANGE(0.0, 1.0), "0.85", M4_DIGIT(2)) float low_filt_strength_1; // M4_NUMBER_DESC("low_bi_weight", "f32", M4_RANGE(0.0, 1.0), "0.2", M4_DIGIT(2)) float low_bi_weight; // M4_NUMBER_DESC("base_filter_weight_0", "f32", M4_RANGE(0.0, 1.0), "0.28", M4_DIGIT(2)) float base_filter_weight_0; // M4_NUMBER_DESC("base_filter_weight_1", "f32", M4_RANGE(0.0, 1.0), "0.46", M4_DIGIT(2)) float base_filter_weight_1; // M4_NUMBER_DESC("base_filter_weight_2", "f32", M4_RANGE(0.0, 1.0), "0.26", M4_DIGIT(2)) float base_filter_weight_2; // M4_NUMBER_DESC("high_thred_adj", "f32", M4_RANGE(0.0, 31.0), "0.5", M4_DIGIT(2)) float high_thred_adj; // M4_NUMBER_DESC("high_weight", "f32", M4_RANGE(0.0, 1.0), "0.5", M4_DIGIT(2)) float high_weight; // M4_NUMBER_DESC("hi_min_adj", "f32", M4_RANGE(0.0, 1), "0.9", M4_DIGIT(2)) float hi_min_adj; // M4_NUMBER_DESC("hi_edge_thed", "f32", M4_RANGE(0.0, 255.0), "100.0", M4_DIGIT(2)) float hi_edge_thed; // M4_ARRAY_DESC("high_direction_weight", "f32", M4_SIZE(1,8), M4_RANGE(0,1.0), "[1 1 1 1 0.5 0.5 0.5 0.5]", M4_DIGIT(2), M4_DYNAMIC(0)) float high_direction_weight[8]; // M4_ARRAY_DESC("rnr_strength", "f32", M4_SIZE(1,17), M4_RANGE(0,16), "1.0", M4_DIGIT(3), M4_DYNAMIC(0)) float rnr_strength[17]; } CalibDbV2_YnrV2_TuningPara_Setting_ISO_t; typedef struct CalibDbV2_YnrV2_TuningPara_Setting_s { // M4_STRING_MARK_DESC("SNR_Mode", M4_SIZE(1,1), M4_RANGE(0, 64), "LSNR",M4_DYNAMIC(0), "index1") char *SNR_Mode; // M4_STRING_DESC("Sensor_Mode", M4_SIZE(1,1), M4_RANGE(0, 64), "lcg", M4_DYNAMIC(0)) char *Sensor_Mode; // M4_STRUCT_LIST_DESC("Tuning_ISO", M4_SIZE_DYNAMIC, "double_index_list") CalibDbV2_YnrV2_TuningPara_Setting_ISO_t *Tuning_ISO; int Tuning_ISO_len; } CalibDbV2_YnrV2_TuningPara_Setting_t; typedef struct CalibDbV2_YnrV2_TuningPara_s { // M4_BOOL_DESC("enable", "1") bool enable; // M4_STRUCT_LIST_DESC("Setting", M4_SIZE_DYNAMIC, "double_index_list") CalibDbV2_YnrV2_TuningPara_Setting_t *Setting; int Setting_len; } CalibDbV2_YnrV2_TuningPara_t; typedef struct CalibDbV2_YnrV2_s { // M4_STRING_DESC("Version", M4_SIZE(1,1), M4_RANGE(0, 64), "V2", M4_DYNAMIC(0)) char *Version; // M4_STRUCT_DESC("CalibPara", "normal_ui_style") CalibDbV2_YnrV2_CalibPara_t CalibPara; // M4_STRUCT_DESC("TuningPara", "normal_ui_style") CalibDbV2_YnrV2_TuningPara_t TuningPara; } CalibDbV2_YnrV2_t; RKAIQ_END_DECLARE #endif