/* 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_CSC_TYPES_H #define __IA_CSS_CSC_TYPES_H /* @file * CSS-API header file for Color Space Conversion parameters. */ /* Color Correction configuration. * * This structure is used for 3 cases. * ("YCgCo" is the output format of Demosaic.) * * 1. Color Space Conversion (YCgCo to YUV) for ISP1. * ISP block: CSC1 (Color Space Conversion) * struct ia_css_cc_config *cc_config * * 2. Color Correction Matrix (YCgCo to RGB) for ISP2. * ISP block: CCM2 (Color Correction Matrix) * struct ia_css_cc_config *yuv2rgb_cc_config * * 3. Color Space Conversion (RGB to YUV) for ISP2. * ISP block: CSC2 (Color Space Conversion) * struct ia_css_cc_config *rgb2yuv_cc_config * * default/ineffective: * 1. YCgCo -> YUV * 1 0.174 0.185 * 0 -0.66252 -0.66874 * 0 -0.83738 0.58131 * * fraction_bits = 12 * 4096 713 758 * 0 -2714 -2739 * 0 -3430 2381 * * 2. YCgCo -> RGB * 1 -1 1 * 1 1 0 * 1 -1 -1 * * fraction_bits = 12 * 4096 -4096 4096 * 4096 4096 0 * 4096 -4096 -4096 * * 3. RGB -> YUV * 0.299 0.587 0.114 * -0.16874 -0.33126 0.5 * 0.5 -0.41869 -0.08131 * * fraction_bits = 13 * 2449 4809 934 * -1382 -2714 4096 * 4096 -3430 -666 */ struct ia_css_cc_config { u32 fraction_bits;/** Fractional bits of matrix. u8.0, [0,13] */ s32 matrix[3 * 3]; /** Conversion matrix. s[13-fraction_bits].[fraction_bits], [-8192,8191] */ }; #endif /* __IA_CSS_CSC_TYPES_H */