1 // SPDX-License-Identifier: GPL-2.0 2 /* 3 * Support for Intel Camera Imaging ISP subsystem. 4 * Copyright (c) 2015, Intel Corporation. 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms and conditions of the GNU General Public License, 8 * version 2, as published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope it will be useful, but WITHOUT 11 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 13 * more details. 14 */ 15 16 #include "ia_css_types.h" 17 #include "sh_css_defs.h" 18 #ifndef IA_CSS_NO_DEBUG 19 /* FIXME: See BZ 4427 */ 20 #include "ia_css_debug.h" 21 #endif 22 #include "csc/csc_1.0/ia_css_csc.host.h" 23 #include "vamem.h" 24 25 #include "ia_css_gc2.host.h" 26 27 const struct ia_css_cc_config default_yuv2rgb_cc_config = { 28 12, 29 {4096, -4096, 4096, 4096, 4096, 0, 4096, -4096, -4096} 30 }; 31 32 const struct ia_css_cc_config default_rgb2yuv_cc_config = { 33 13, 34 {2449, 4809, 934, -1382, -2714, 4096, 4096, -3430, -666} 35 }; 36 37 void 38 ia_css_yuv2rgb_encode( 39 struct sh_css_isp_csc_params *to, 40 const struct ia_css_cc_config *from, 41 unsigned int size) 42 { 43 ia_css_encode_cc(to, from, size); 44 } 45 46 void 47 ia_css_rgb2yuv_encode( 48 struct sh_css_isp_csc_params *to, 49 const struct ia_css_cc_config *from, 50 unsigned int size) 51 { 52 ia_css_encode_cc(to, from, size); 53 } 54 55 void 56 ia_css_r_gamma_vamem_encode( 57 struct sh_css_isp_rgb_gamma_vamem_params *to, 58 const struct ia_css_rgb_gamma_table *from, 59 unsigned int size) 60 { 61 (void)size; 62 memcpy(&to->gc, &from->data, sizeof(to->gc)); 63 } 64 65 void 66 ia_css_g_gamma_vamem_encode( 67 struct sh_css_isp_rgb_gamma_vamem_params *to, 68 const struct ia_css_rgb_gamma_table *from, 69 unsigned int size) 70 { 71 (void)size; 72 memcpy(&to->gc, &from->data, sizeof(to->gc)); 73 } 74 75 void 76 ia_css_b_gamma_vamem_encode( 77 struct sh_css_isp_rgb_gamma_vamem_params *to, 78 const struct ia_css_rgb_gamma_table *from, 79 unsigned int size) 80 { 81 (void)size; 82 memcpy(&to->gc, &from->data, sizeof(to->gc)); 83 } 84 85 #ifndef IA_CSS_NO_DEBUG 86 void 87 ia_css_yuv2rgb_dump( 88 const struct sh_css_isp_csc_params *yuv2rgb, 89 unsigned int level) 90 { 91 ia_css_cc_dump(yuv2rgb, level, "YUV to RGB Conversion"); 92 } 93 94 void 95 ia_css_rgb2yuv_dump( 96 const struct sh_css_isp_csc_params *rgb2yuv, 97 unsigned int level) 98 { 99 ia_css_cc_dump(rgb2yuv, level, "RGB to YUV Conversion"); 100 } 101 102 void 103 ia_css_rgb_gamma_table_debug_dtrace( 104 const struct ia_css_rgb_gamma_table *config, 105 unsigned int level) 106 { 107 (void)config; 108 (void)level; 109 } 110 #endif 111