From f21b9306a7893017b9f7e6b95001da9abade30f7 Mon Sep 17 00:00:00 2001 From: Umang Jain Date: Fri, 21 May 2021 10:27:24 +0530 Subject: 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 --- include/ia_imaging/dpc_public.h | 91 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 include/ia_imaging/dpc_public.h (limited to 'include/ia_imaging/dpc_public.h') diff --git a/include/ia_imaging/dpc_public.h b/include/ia_imaging/dpc_public.h new file mode 100644 index 0000000..f9dbae1 --- /dev/null +++ b/include/ia_imaging/dpc_public.h @@ -0,0 +1,91 @@ +/* + * 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. + */ + +/** @file +* CSS-API header file for 2500/Skycam Defect Pixel Correction (DPC) kernel/accelerator. +*/ +//#include + +#ifndef DPC_PUBLIC_H_ +#define DPC_PUBLIC_H_ + +/** DPC can correct due to hardware limitations up to 192 pixels per 50 lines. + * So for an input height of 3840 lines this results into 77 sets of 50 lines. + * As a result the maximum number of dead pixels is 192*77. + */ +#define DPC_MAX_NUMBER_OF_DP 14784 + +// lut entry +typedef struct dpc_public_lut_elem { + + unsigned int nghbr_sts:5; + unsigned int skip:1; + unsigned int nghbr_order:1; + unsigned int column:13; + unsigned int row_pair_delta:4; + unsigned int spare0:8; + +} dpc_public_lut_elem_t; + + +typedef struct dpc_public_lut { + + dpc_public_lut_elem_t elems[DPC_MAX_NUMBER_OF_DP]; + +} dpc_public_lut_t; + +struct dpc_public_config { + + unsigned int grad_threshold; + unsigned int num_of_dp_gr; + unsigned int num_of_dp_bg; + dpc_public_lut_t lut_gr; + dpc_public_lut_t lut_bg; + +}; + +struct ia_css_2500_dpc_kernel_config { + + struct dpc_public_config dpc; + +}; + +/** @brief Print DPC public configuration + * + * @param cfg The pointer to configuration data + * @return None + * + * Print DPC public configuration. + */ +void ia_css_dpc_public_cfg_dump( + const struct ia_css_2500_dpc_kernel_config *cfg); + +/** @brief Compare two DPC 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 DPC public configurations + */ +bool ia_css_dpc_public_cfg_compare( + const struct ia_css_2500_dpc_kernel_config *cfg1, + const struct ia_css_2500_dpc_kernel_config *cfg2, + bool cfg_dump); + +#endif /* DPC_PUBLIC_H_ */ -- cgit v1.2.1