1 /* 2 * Copyright (C) Texas Instruments - http://www.ti.com/ 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 /** 18 * @file OMXSceneModeTables.h 19 * 20 * This holds scene mode settings for different omx cameras. 21 * 22 */ 23 24 #include "OMX_TI_IVCommon.h" 25 #include "OMX_TI_Common.h" 26 #include "OMX_TI_Index.h" 27 28 #ifndef OMXCAMERAADAPTER_SCENEMODES_H 29 #define OMXCAMERAADAPTER_SCENEMODES_H 30 31 #ifndef ARRAY_SIZE 32 #define ARRAY_SIZE(array) (sizeof((array)) / sizeof((array)[0])) 33 #endif 34 35 struct SceneModesEntry { 36 OMX_SCENEMODETYPE scene; 37 OMX_IMAGE_FLASHCONTROLTYPE flash; 38 int focus; 39 OMX_WHITEBALCONTROLTYPE wb; 40 }; 41 42 struct CameraToSensorModesLUTEntry { 43 const char* name; 44 const SceneModesEntry* Table; 45 const unsigned int size; 46 }; 47 48 static const SceneModesEntry S5K4E1GA_SceneModesLUT [] = { 49 { OMX_Closeup, 50 OMX_IMAGE_FlashControlAuto, 51 OMX_IMAGE_FocusControlAutoMacro, 52 OMX_WhiteBalControlAuto }, 53 { OMX_Landscape, 54 OMX_IMAGE_FlashControlOff, 55 OMX_IMAGE_FocusControlHyperfocal, 56 OMX_WhiteBalControlAuto }, 57 { OMX_Underwater, 58 OMX_IMAGE_FlashControlAuto, 59 OMX_IMAGE_FocusControlAutoLock, 60 OMX_WhiteBalControlSunLight }, 61 { OMX_Sport, 62 OMX_IMAGE_FlashControlOff, 63 OMX_IMAGE_FocusControlHyperfocal, 64 OMX_WhiteBalControlAuto }, 65 { OMX_Mood, 66 OMX_IMAGE_FlashControlAuto, 67 OMX_IMAGE_FocusControlAutoLock, 68 OMX_WhiteBalControlAuto }, 69 { OMX_NightPortrait, 70 OMX_IMAGE_FlashControlAuto, 71 OMX_IMAGE_FocusControlPortrait, 72 OMX_WhiteBalControlAuto }, 73 { OMX_NightIndoor, 74 OMX_IMAGE_FlashControlAuto, 75 OMX_IMAGE_FocusControlHyperfocal, 76 OMX_WhiteBalControlAuto }, 77 { OMX_Fireworks, 78 OMX_IMAGE_FlashControlOn, 79 OMX_IMAGE_FocusControlHyperfocal, 80 OMX_WhiteBalControlAuto }, 81 { OMX_Document, 82 OMX_IMAGE_FlashControlOff, 83 OMX_IMAGE_FocusControlAutoMacro, 84 OMX_WhiteBalControlAuto }, 85 { OMX_Barcode, 86 OMX_IMAGE_FlashControlAuto, 87 OMX_IMAGE_FocusControlAutoMacro, 88 OMX_WhiteBalControlAuto }, 89 { OMX_SuperNight, 90 OMX_IMAGE_FlashControlAuto, 91 OMX_IMAGE_FocusControlHyperfocal, 92 OMX_WhiteBalControlAuto }, 93 { OMX_Cine, 94 OMX_IMAGE_FlashControlAuto, 95 OMX_IMAGE_FocusControlHyperfocal, 96 OMX_WhiteBalControlAuto }, 97 { OMX_OldFilm, 98 OMX_IMAGE_FlashControlAuto, 99 OMX_IMAGE_FocusControlHyperfocal, 100 OMX_WhiteBalControlAuto }, 101 { OMX_TI_Action, 102 OMX_IMAGE_FlashControlOff, 103 OMX_IMAGE_FocusControlAuto, 104 OMX_WhiteBalControlAuto }, 105 { OMX_TI_Beach, 106 OMX_IMAGE_FlashControlOff, 107 OMX_IMAGE_FocusControlAutoLock, 108 OMX_WhiteBalControlAuto }, 109 { OMX_TI_Candlelight, 110 OMX_IMAGE_FlashControlAuto, 111 OMX_IMAGE_FocusControlHyperfocal, 112 OMX_WhiteBalControlIncandescent }, 113 { OMX_TI_Night, 114 OMX_IMAGE_FlashControlOff, 115 OMX_IMAGE_FocusControlAuto, 116 OMX_WhiteBalControlAuto }, 117 { OMX_TI_Party, 118 OMX_IMAGE_FlashControlAuto, 119 OMX_IMAGE_FocusControlAuto, 120 OMX_WhiteBalControlAuto }, 121 { OMX_TI_Portrait, 122 OMX_IMAGE_FlashControlAuto, 123 OMX_IMAGE_FocusControlPortrait, 124 OMX_WhiteBalControlAuto }, 125 { OMX_TI_Snow, 126 OMX_IMAGE_FlashControlOff, 127 OMX_IMAGE_FocusControlAutoLock, 128 OMX_WhiteBalControlAuto }, 129 { OMX_TI_Steadyphoto, 130 OMX_IMAGE_FlashControlAuto, 131 OMX_IMAGE_FocusControlHyperfocal, 132 OMX_WhiteBalControlAuto }, 133 { OMX_TI_Sunset, 134 OMX_IMAGE_FlashControlOff, 135 OMX_IMAGE_FocusControlAuto, 136 OMX_WhiteBalControlSunLight }, 137 { OMX_TI_Theatre, 138 OMX_IMAGE_FlashControlAuto, 139 OMX_IMAGE_FocusControlHyperfocal, 140 OMX_WhiteBalControlAuto }, 141 }; 142 143 static const SceneModesEntry S5K6A1GX03_SceneModesLUT [] = { 144 { OMX_Closeup, 145 OMX_IMAGE_FlashControlOff, 146 OMX_IMAGE_FocusControlHyperfocal, 147 OMX_WhiteBalControlAuto }, 148 { OMX_Landscape, 149 OMX_IMAGE_FlashControlOff, 150 OMX_IMAGE_FocusControlHyperfocal, 151 OMX_WhiteBalControlAuto }, 152 { OMX_Underwater, 153 OMX_IMAGE_FlashControlOff, 154 OMX_IMAGE_FocusControlHyperfocal, 155 OMX_WhiteBalControlSunLight }, 156 { OMX_Sport, 157 OMX_IMAGE_FlashControlOff, 158 OMX_IMAGE_FocusControlHyperfocal, 159 OMX_WhiteBalControlAuto }, 160 { OMX_SnowBeach, 161 OMX_IMAGE_FlashControlOff, 162 OMX_IMAGE_FocusControlHyperfocal, 163 OMX_WhiteBalControlAuto }, 164 { OMX_Mood, 165 OMX_IMAGE_FlashControlOff, 166 OMX_IMAGE_FocusControlHyperfocal, 167 OMX_WhiteBalControlAuto }, 168 { OMX_NightPortrait, 169 OMX_IMAGE_FlashControlOff, 170 OMX_IMAGE_FocusControlHyperfocal, 171 OMX_WhiteBalControlAuto }, 172 { OMX_NightIndoor, 173 OMX_IMAGE_FlashControlOff, 174 OMX_IMAGE_FocusControlHyperfocal, 175 OMX_WhiteBalControlAuto }, 176 { OMX_Fireworks, 177 OMX_IMAGE_FlashControlOff, 178 OMX_IMAGE_FocusControlHyperfocal, 179 OMX_WhiteBalControlAuto }, 180 { OMX_Document, 181 OMX_IMAGE_FlashControlOff, 182 OMX_IMAGE_FocusControlHyperfocal, 183 OMX_WhiteBalControlAuto }, 184 { OMX_Barcode, 185 OMX_IMAGE_FlashControlOff, 186 OMX_IMAGE_FocusControlHyperfocal, 187 OMX_WhiteBalControlAuto }, 188 { OMX_SuperNight, 189 OMX_IMAGE_FlashControlOff, 190 OMX_IMAGE_FocusControlHyperfocal, 191 OMX_WhiteBalControlAuto }, 192 { OMX_Cine, 193 OMX_IMAGE_FlashControlOff, 194 OMX_IMAGE_FocusControlHyperfocal, 195 OMX_WhiteBalControlAuto }, 196 { OMX_OldFilm, 197 OMX_IMAGE_FlashControlOff, 198 OMX_IMAGE_FocusControlHyperfocal, 199 OMX_WhiteBalControlAuto }, 200 { OMX_TI_Action, 201 OMX_IMAGE_FlashControlOff, 202 OMX_IMAGE_FocusControlHyperfocal, 203 OMX_WhiteBalControlAuto }, 204 { OMX_TI_Beach, 205 OMX_IMAGE_FlashControlOff, 206 OMX_IMAGE_FocusControlHyperfocal, 207 OMX_WhiteBalControlAuto }, 208 { OMX_TI_Candlelight, 209 OMX_IMAGE_FlashControlOff, 210 OMX_IMAGE_FocusControlHyperfocal, 211 OMX_WhiteBalControlIncandescent }, 212 { OMX_TI_Night, 213 OMX_IMAGE_FlashControlOff, 214 OMX_IMAGE_FocusControlHyperfocal, 215 OMX_WhiteBalControlAuto }, 216 { OMX_TI_Party, 217 OMX_IMAGE_FlashControlOff, 218 OMX_IMAGE_FocusControlHyperfocal, 219 OMX_WhiteBalControlAuto }, 220 { OMX_TI_Portrait, 221 OMX_IMAGE_FlashControlOff, 222 OMX_IMAGE_FocusControlHyperfocal, 223 OMX_WhiteBalControlAuto }, 224 { OMX_TI_Snow, 225 OMX_IMAGE_FlashControlOff, 226 OMX_IMAGE_FocusControlHyperfocal, 227 OMX_WhiteBalControlAuto }, 228 { OMX_TI_Steadyphoto, 229 OMX_IMAGE_FlashControlOff, 230 OMX_IMAGE_FocusControlHyperfocal, 231 OMX_WhiteBalControlAuto }, 232 { OMX_TI_Sunset, 233 OMX_IMAGE_FlashControlOff, 234 OMX_IMAGE_FocusControlHyperfocal, 235 OMX_WhiteBalControlSunLight }, 236 { OMX_TI_Theatre, 237 OMX_IMAGE_FlashControlOff, 238 OMX_IMAGE_FocusControlHyperfocal, 239 OMX_WhiteBalControlAuto }, 240 }; 241 242 static const CameraToSensorModesLUTEntry CameraToSensorModesLUT [] = { 243 { "S5K4E1GA", S5K4E1GA_SceneModesLUT, ARRAY_SIZE(S5K4E1GA_SceneModesLUT)}, 244 { "S5K6A1GX03", S5K6A1GX03_SceneModesLUT, ARRAY_SIZE(S5K6A1GX03_SceneModesLUT)}, 245 }; 246 247 #endif 248