1 /* SPDX-License-Identifier: GPL-2.0 */
2 /* Release Version: irci_stable_candrpv_0415_20150521_0458 */
3 /* Release Version: irci_ecr-master_20150911_0724 */
4 /*
5  * Support for Intel Camera Imaging ISP subsystem.
6  * Copyright (c) 2015, Intel Corporation.
7  *
8  * This program is free software; you can redistribute it and/or modify it
9  * under the terms and conditions of the GNU General Public License,
10  * version 2, as published by the Free Software Foundation.
11  *
12  * This program is distributed in the hope it will be useful, but WITHOUT
13  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
15  * more details.
16  */
17 
18 #ifndef __IA_CSS_HDR_TYPES_H
19 #define __IA_CSS_HDR_TYPES_H
20 
21 #define IA_CSS_HDR_MAX_NUM_INPUT_FRAMES         (3)
22 
23 /**
24  * \brief HDR Irradiance Parameters
25  * \detail Currently HDR parameters are used only for testing purposes
26  */
27 struct ia_css_hdr_irradiance_params {
28 	int test_irr;                                          /** Test parameter */
29 	int match_shift[IA_CSS_HDR_MAX_NUM_INPUT_FRAMES -
30 							1];  /** Histogram matching shift parameter */
31 	int match_mul[IA_CSS_HDR_MAX_NUM_INPUT_FRAMES -
32 						      1];    /** Histogram matching multiplication parameter */
33 	int thr_low[IA_CSS_HDR_MAX_NUM_INPUT_FRAMES -
34 						    1];      /** Weight map soft threshold low bound parameter */
35 	int thr_high[IA_CSS_HDR_MAX_NUM_INPUT_FRAMES -
36 						     1];     /** Weight map soft threshold high bound parameter */
37 	int thr_coeff[IA_CSS_HDR_MAX_NUM_INPUT_FRAMES -
38 						      1];    /** Soft threshold linear function coefficien */
39 	int thr_shift[IA_CSS_HDR_MAX_NUM_INPUT_FRAMES -
40 						      1];    /** Soft threshold precision shift parameter */
41 	int weight_bpp;                                        /** Weight map bits per pixel */
42 };
43 
44 /**
45  * \brief HDR Deghosting Parameters
46  * \detail Currently HDR parameters are used only for testing purposes
47  */
48 struct ia_css_hdr_deghost_params {
49 	int test_deg; /** Test parameter */
50 };
51 
52 /**
53  * \brief HDR Exclusion Parameters
54  * \detail Currently HDR parameters are used only for testing purposes
55  */
56 struct ia_css_hdr_exclusion_params {
57 	int test_excl; /** Test parameter */
58 };
59 
60 /**
61  * \brief HDR public paramterers.
62  * \details Struct with all parameters for HDR that can be seet from
63  * the CSS API. Currenly, only test parameters are defined.
64  */
65 struct ia_css_hdr_config {
66 	struct ia_css_hdr_irradiance_params irradiance; /** HDR irradiance parameters */
67 	struct ia_css_hdr_deghost_params    deghost;    /** HDR deghosting parameters */
68 	struct ia_css_hdr_exclusion_params  exclusion; /** HDR exclusion parameters */
69 };
70 
71 #endif /* __IA_CSS_HDR_TYPES_H */
72