1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Support for Intel Camera Imaging ISP subsystem.
4  * Copyright (c) 2015, Intel Corporation.
5  */
6 
7 #ifndef __IA_CSS_TDF_TYPES_H
8 #define __IA_CSS_TDF_TYPES_H
9 
10 /* @file
11 * CSS-API header file for Transform Domain Filter parameters.
12 */
13 
14 #include "type_support.h"
15 
16 /* Transform Domain Filter configuration
17  *
18  * \brief TDF public parameters.
19  * \details Struct with all parameters for the TDF kernel that can be set
20  * from the CSS API.
21  *
22  * ISP2.6.1: TDF is used.
23  */
24 struct ia_css_tdf_config {
25 	s32 thres_flat_table[64];	/** Final optimized strength table of NR for flat region. */
26 	s32 thres_detail_table[64];	/** Final optimized strength table of NR for detail region. */
27 	s32 epsilon_0;		/** Coefficient to control variance for dark area (for flat region). */
28 	s32 epsilon_1;		/** Coefficient to control variance for bright area (for flat region). */
29 	s32 eps_scale_text;		/** Epsilon scaling coefficient for texture region. */
30 	s32 eps_scale_edge;		/** Epsilon scaling coefficient for edge region. */
31 	s32 sepa_flat;		/** Threshold to judge flat (edge < m_Flat_thre). */
32 	s32 sepa_edge;		/** Threshold to judge edge (edge > m_Edge_thre). */
33 	s32 blend_flat;		/** Blending ratio at flat region. */
34 	s32 blend_text;		/** Blending ratio at texture region. */
35 	s32 blend_edge;		/** Blending ratio at edge region. */
36 	s32 shading_gain;		/** Gain of Shading control. */
37 	s32 shading_base_gain;	/** Base Gain of Shading control. */
38 	s32 local_y_gain;		/** Gain of local luminance control. */
39 	s32 local_y_base_gain;	/** Base gain of local luminance control. */
40 	s32 rad_x_origin;		/** Initial x coord. for radius computation. */
41 	s32 rad_y_origin;		/** Initial y coord. for radius computation. */
42 };
43 
44 #endif /* __IA_CSS_TDF_TYPES_H */
45