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