| /* SPDX-License-Identifier: GPL-2.0 */ |
| /* |
| * Support for Intel Camera Imaging ISP subsystem. |
| * Copyright (c) 2015, Intel Corporation. |
| * |
| * This program is free software; you can redistribute it and/or modify it |
| * under the terms and conditions of the GNU General Public License, |
| * version 2, as published by the Free Software Foundation. |
| * |
| * This program is distributed in the hope it will be useful, but WITHOUT |
| * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
| * more details. |
| */ |
| |
| #ifndef __IA_CSS_TNR_TYPES_H |
| #define __IA_CSS_TNR_TYPES_H |
| |
| /* @file |
| * CSS-API header file for Temporal Noise Reduction (TNR) parameters. |
| */ |
| |
| /* Temporal Noise Reduction (TNR) configuration. |
| * |
| * When difference between current frame and previous frame is less than or |
| * equal to threshold, TNR works and current frame is mixed |
| * with previous frame. |
| * When difference between current frame and previous frame is greater |
| * than threshold, we judge motion is detected. Then, TNR does not work and |
| * current frame is outputted as it is. |
| * Therefore, when threshold_y and threshold_uv are set as 0, TNR can be disabled. |
| * |
| * ISP block: TNR1 |
| * ISP1: TNR1 is used. |
| * ISP2: TNR1 is used. |
| */ |
| |
| struct ia_css_tnr_config { |
| ia_css_u0_16 gain; /** Interpolation ratio of current frame |
| and previous frame. |
| gain=0.0 -> previous frame is outputted. |
| gain=1.0 -> current frame is outputted. |
| u0.16, [0,65535], |
| default 32768(0.5), ineffective 65535(almost 1.0) */ |
| ia_css_u0_16 threshold_y; /** Threshold to enable interpolation of Y. |
| If difference between current frame and |
| previous frame is greater than threshold_y, |
| TNR for Y is disabled. |
| u0.16, [0,65535], default/ineffective 0 */ |
| ia_css_u0_16 threshold_uv; /** Threshold to enable interpolation of |
| U/V. |
| If difference between current frame and |
| previous frame is greater than threshold_uv, |
| TNR for UV is disabled. |
| u0.16, [0,65535], default/ineffective 0 */ |
| }; |
| |
| #endif /* __IA_CSS_TNR_TYPES_H */ |