diff options
Diffstat (limited to 'include/ia_imaging/yuvp1_b0_public.h')
-rw-r--r-- | include/ia_imaging/yuvp1_b0_public.h | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/include/ia_imaging/yuvp1_b0_public.h b/include/ia_imaging/yuvp1_b0_public.h new file mode 100644 index 0000000..3e71768 --- /dev/null +++ b/include/ia_imaging/yuvp1_b0_public.h @@ -0,0 +1,138 @@ +/* + * Copyright (C) 2015 - 2017 Intel 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 _YUVP1_PUBLIC_H_ +#define _YUVP1_PUBLIC_H_ + +/** @file +* CSS-API header file for 2500/Skycam B0 specific noice reduction (YUV_P1 component) kernel/accelerator. +*/ +//#include <type_support.h> + +/* All structs in this file will be visible to the CSS API User. + * The User will be able to set each one of the config params separately by + * specifying a different config type (see sh_config_type in sh_css.h). + * If one of those config structs is not set explicitly, a default value will + * be use instead. + */ + +#include "yuvp1_common_public.h" + +struct yuvp1_y_ee_nr_lpf_public_config { + unsigned char a_diag; + unsigned char a_periph; + unsigned char a_cent; + unsigned char y_ee_nr_en; +}; + +struct yuvp1_y_ee_nr_sense_public_config { + + unsigned short edge_sense_0; + unsigned short delta_edge_sense; + unsigned short corner_sense_0; + unsigned short delta_corner_sense; + +}; + +struct yuvp1_y_ee_nr_gain_public_config { + + unsigned char gain_pos_0; + unsigned char delta_gain_posi; + unsigned char gain_neg_0; + unsigned char delta_gain_neg; + +}; + +struct yuvp1_y_ee_nr_clip_public_config { + + unsigned char clip_pos_0; + unsigned char delta_clip_posi; + unsigned char clip_neg_0; + unsigned char delta_clip_neg; + +}; + +struct yuvp1_y_ee_nr_frng_public_config { + + unsigned char gain_exp; + unsigned short min_edge; + unsigned char lin_seg_param; + unsigned char t1; + unsigned char t2; +}; + +struct yuvp1_y_ee_nr_diag_public_config { + + unsigned char diag_disc_g; + unsigned char hvw_hor; + unsigned char dw_hor; + unsigned char hvw_diag; + unsigned char dw_diag; +}; + +struct yuvp1_y_ee_nr_fc_coring_public_config { + + unsigned short pos_0; + unsigned short pos_delta; + unsigned short neg_0; + unsigned short neg_delta; + +}; + +struct yuvp1_y_ee_nr_public_config { + + struct yuvp1_y_ee_nr_lpf_public_config lpf; + struct yuvp1_y_ee_nr_sense_public_config sense; + struct yuvp1_y_ee_nr_gain_public_config gain; + struct yuvp1_y_ee_nr_clip_public_config clip; + struct yuvp1_y_ee_nr_frng_public_config frng; + struct yuvp1_y_ee_nr_diag_public_config diag; + struct yuvp1_y_ee_nr_fc_coring_public_config fc_coring; + +}; + +struct ia_css_2500_yuvp1_b0_kernel_config { + struct yuvp1_y_ee_nr_public_config y_ee_nr; + struct yuvp1_yds_public_config yds; + struct yuvp1_chnr_public_config chnr; +}; + +/** @brief Print YUVP1_B0 public configuration + * + * @param cfg The pointer to configuration data + * @return None + * + * Print YUVP1_B0 public configuration. + */ +void ia_css_yuvp1_b0_public_cfg_dump( + const struct ia_css_2500_yuvp1_b0_kernel_config *cfg); + +/** @brief Compare two YUVP1_B0 public configurations + * + * @param cfg1 The pointer to first configuration data + * @param cfg2 The pointer to second configuration data + * @param cfg_dump Configurations are printed in case of + * mismatch + * @return true - match, false - not match + * + * Compare two YUVP1_B0 public configurations + */ +bool ia_css_yuvp1_b0_public_cfg_compare( + const struct ia_css_2500_yuvp1_b0_kernel_config *cfg1, + const struct ia_css_2500_yuvp1_b0_kernel_config *cfg2, + bool cfg_dump); + +#endif |