summaryrefslogtreecommitdiff
path: root/include/ia_imaging/yuvp1_b0_public.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/ia_imaging/yuvp1_b0_public.h')
-rw-r--r--include/ia_imaging/yuvp1_b0_public.h138
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