/* * 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 /* 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