diff options
author | Umang Jain <umang.jain@ideasonboard.com> | 2021-05-21 10:27:24 +0530 |
---|---|---|
committer | Umang Jain <umang.jain@ideasonboard.com> | 2021-06-28 14:12:06 +0530 |
commit | f21b9306a7893017b9f7e6b95001da9abade30f7 (patch) | |
tree | 82332eb640a9725ceef3ec487033b524cd49ecd7 /include/ia_imaging/yuvp1_b0_public.h | |
parent | d05fd744448d37739cf4f919578d0ac8c73bc0a1 (diff) |
include: Link to ia_imaging library and import headers
libia_imaging is provided by the ChromeOS system, however the headers
aren't installed at the system's $includedir locations. We need to carry
them in-tree, to be able to use them.
Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
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 |