1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Support for Medifield PNW Camera Imaging ISP subsystem. 4 * 5 * Copyright (c) 2010 Intel Corporation. All Rights Reserved. 6 * 7 * Copyright (c) 2010 Silicon Hive www.siliconhive.com. 8 * 9 * This program is free software; you can redistribute it and/or 10 * modify it under the terms of the GNU General Public License version 11 * 2 as published by the Free Software Foundation. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * 19 */ 20 #ifndef __ATOMISP_TABLES_H__ 21 #define __ATOMISP_TABLES_H__ 22 23 #include "sh_css_params.h" 24 25 /*Sepia image effect table*/ 26 static struct ia_css_cc_config sepia_cc_config = { 27 .fraction_bits = 8, 28 .matrix = {141, 18, 68, -40, -5, -19, 35, 4, 16}, 29 }; 30 31 /*Negative image effect table*/ 32 static struct ia_css_cc_config nega_cc_config = { 33 .fraction_bits = 8, 34 .matrix = {255, 29, 120, 0, 374, 342, 0, 672, -301}, 35 }; 36 37 /*Mono image effect table*/ 38 static struct ia_css_cc_config mono_cc_config = { 39 .fraction_bits = 8, 40 .matrix = {255, 29, 120, 0, 0, 0, 0, 0, 0}, 41 }; 42 43 /*Skin whiten image effect table*/ 44 static struct ia_css_macc_table skin_low_macc_table = { 45 .data = { 46 8192, 0, 0, 8192, 47 8192, 0, 0, 8192, 48 8192, 0, 0, 8192, 49 8192, 0, 0, 8192, 50 7168, 0, 2048, 8192, 51 5120, -1024, 2048, 8192, 52 8192, 2048, -1024, 5120, 53 8192, 2048, 0, 7168, 54 8192, 0, 0, 8192, 55 8192, 0, 0, 8192, 56 8192, 0, 0, 8192, 57 8192, 0, 0, 8192, 58 8192, 0, 0, 8192, 59 8192, 0, 0, 8192, 60 8192, 0, 0, 8192, 61 8192, 0, 0, 8192 62 } 63 }; 64 65 static struct ia_css_macc_table skin_medium_macc_table = { 66 .data = { 67 8192, 0, 0, 8192, 68 8192, 0, 0, 8192, 69 8192, 0, 0, 8192, 70 8192, 0, 0, 8192, 71 5120, 0, 6144, 8192, 72 3072, -1024, 2048, 6144, 73 6144, 2048, -1024, 3072, 74 8192, 6144, 0, 5120, 75 8192, 0, 0, 8192, 76 8192, 0, 0, 8192, 77 8192, 0, 0, 8192, 78 8192, 0, 0, 8192, 79 8192, 0, 0, 8192, 80 8192, 0, 0, 8192, 81 8192, 0, 0, 8192, 82 8192, 0, 0, 8192 83 } 84 }; 85 86 static struct ia_css_macc_table skin_high_macc_table = { 87 .data = { 88 8192, 0, 0, 8192, 89 8192, 0, 0, 8192, 90 8192, 0, 0, 8192, 91 8192, 0, 0, 8192, 92 4096, 0, 8192, 8192, 93 0, -2048, 4096, 6144, 94 6144, 4096, -2048, 0, 95 8192, 8192, 0, 4096, 96 8192, 0, 0, 8192, 97 8192, 0, 0, 8192, 98 8192, 0, 0, 8192, 99 8192, 0, 0, 8192, 100 8192, 0, 0, 8192, 101 8192, 0, 0, 8192, 102 8192, 0, 0, 8192, 103 8192, 0, 0, 8192 104 } 105 }; 106 107 /*Blue enhencement image effect table*/ 108 static struct ia_css_macc_table blue_macc_table = { 109 .data = { 110 9728, -3072, 0, 8192, 111 8192, 0, 0, 8192, 112 8192, 0, 0, 8192, 113 8192, 0, 0, 8192, 114 8192, 0, 0, 8192, 115 8192, 0, 0, 8192, 116 8192, 0, 0, 8192, 117 8192, 0, 0, 8192, 118 8192, 0, 0, 8192, 119 8192, 0, 0, 8192, 120 8192, 0, 0, 8192, 121 8192, 0, 0, 8192, 122 9728, 0, -3072, 8192, 123 12800, 1536, -3072, 8192, 124 11264, 0, 0, 11264, 125 9728, -3072, 0, 11264 126 } 127 }; 128 129 /*Green enhencement image effect table*/ 130 static struct ia_css_macc_table green_macc_table = { 131 .data = { 132 8192, 0, 0, 8192, 133 8192, 0, 0, 8192, 134 8192, 0, 0, 8192, 135 8192, 0, 0, 8192, 136 8192, 0, 0, 8192, 137 8192, 0, 0, 8192, 138 8192, 0, 0, 8192, 139 10240, 4096, 0, 8192, 140 10240, 4096, 0, 12288, 141 12288, 0, 0, 12288, 142 14336, -2048, 4096, 8192, 143 10240, 0, 4096, 8192, 144 8192, 0, 0, 8192, 145 8192, 0, 0, 8192, 146 8192, 0, 0, 8192, 147 8192, 0, 0, 8192 148 } 149 }; 150 151 static struct ia_css_ctc_table vivid_ctc_table = { 152 .data.vamem_2 = { 153 0, 384, 837, 957, 1011, 1062, 1083, 1080, 154 1078, 1077, 1053, 1039, 1012, 992, 969, 951, 155 929, 906, 886, 866, 845, 823, 809, 790, 156 772, 758, 741, 726, 711, 701, 688, 675, 157 666, 656, 648, 639, 633, 626, 618, 612, 158 603, 594, 582, 572, 557, 545, 529, 516, 159 504, 491, 480, 467, 459, 447, 438, 429, 160 419, 412, 404, 397, 389, 382, 376, 368, 161 363, 357, 351, 345, 340, 336, 330, 326, 162 321, 318, 312, 308, 304, 300, 297, 294, 163 291, 286, 284, 281, 278, 275, 271, 268, 164 261, 257, 251, 245, 240, 235, 232, 225, 165 223, 218, 213, 209, 206, 204, 199, 197, 166 193, 189, 186, 185, 183, 179, 177, 175, 167 172, 170, 169, 167, 164, 164, 162, 160, 168 158, 157, 156, 154, 154, 152, 151, 150, 169 149, 148, 146, 147, 146, 144, 143, 143, 170 142, 141, 140, 141, 139, 138, 138, 138, 171 137, 136, 136, 135, 134, 134, 134, 133, 172 132, 132, 131, 130, 131, 130, 129, 128, 173 129, 127, 127, 127, 127, 125, 125, 125, 174 123, 123, 122, 120, 118, 115, 114, 111, 175 110, 108, 106, 105, 103, 102, 100, 99, 176 97, 97, 96, 95, 94, 93, 93, 91, 177 91, 91, 90, 90, 89, 89, 88, 88, 178 89, 88, 88, 87, 87, 87, 87, 86, 179 87, 87, 86, 87, 86, 86, 84, 84, 180 82, 80, 78, 76, 74, 72, 70, 68, 181 67, 65, 62, 60, 58, 56, 55, 54, 182 53, 51, 49, 49, 47, 45, 45, 45, 183 41, 40, 39, 39, 34, 33, 34, 32, 184 25, 23, 24, 20, 13, 9, 12, 0, 185 0 186 } 187 }; 188 #endif 189