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 #ifndef TI_CAMERA_PARAMETERS_H 18 #define TI_CAMERA_PARAMETERS_H 19 20 #include <utils/KeyedVector.h> 21 #include <utils/String8.h> 22 23 namespace Ti { 24 namespace Camera { 25 26 ///TI Specific Camera Parameters 27 class TICameraParameters 28 { 29 public: 30 31 // Supported Camera indexes 32 // Example value: "0,1,2,3", where 0-primary, 1-secondary1, 2-secondary2, 3-sterocamera 33 static const char KEY_SUPPORTED_CAMERAS[]; 34 // Select logical Camera index 35 static const char KEY_CAMERA[]; 36 static const char KEY_CAMERA_NAME[]; 37 static const char KEY_BURST[]; 38 static const char KEY_CAP_MODE[]; 39 static const char KEY_CAP_MODE_VALUES[]; 40 static const char KEY_VNF[]; 41 static const char KEY_VNF_SUPPORTED[]; 42 static const char KEY_SATURATION[]; 43 static const char KEY_BRIGHTNESS[]; 44 static const char KEY_SUPPORTED_EXPOSURE[]; 45 static const char KEY_EXPOSURE_MODE[]; 46 static const char KEY_SUPPORTED_MANUAL_EXPOSURE_MIN[]; 47 static const char KEY_SUPPORTED_MANUAL_EXPOSURE_MAX[]; 48 static const char KEY_SUPPORTED_MANUAL_EXPOSURE_STEP[]; 49 static const char KEY_SUPPORTED_MANUAL_GAIN_ISO_MIN[]; 50 static const char KEY_SUPPORTED_MANUAL_GAIN_ISO_MAX[]; 51 static const char KEY_SUPPORTED_MANUAL_GAIN_ISO_STEP[]; 52 static const char KEY_MANUAL_EXPOSURE[]; 53 static const char KEY_MANUAL_EXPOSURE_RIGHT[]; 54 static const char KEY_MANUAL_GAIN_ISO[]; 55 static const char KEY_MANUAL_GAIN_ISO_RIGHT[]; 56 static const char KEY_CONTRAST[]; 57 static const char KEY_SHARPNESS[]; 58 static const char KEY_ISO[]; 59 static const char KEY_SUPPORTED_ISO_VALUES[]; 60 static const char KEY_SUPPORTED_IPP[]; 61 static const char KEY_IPP[]; 62 static const char KEY_METERING_MODE[]; 63 static const char KEY_EXP_BRACKETING_RANGE[]; 64 static const char KEY_EXP_GAIN_BRACKETING_RANGE[]; 65 static const char KEY_ZOOM_BRACKETING_RANGE[]; 66 static const char KEY_TEMP_BRACKETING[]; 67 static const char KEY_TEMP_BRACKETING_RANGE_POS[]; 68 static const char KEY_TEMP_BRACKETING_RANGE_NEG[]; 69 static const char KEY_FLUSH_SHOT_CONFIG_QUEUE[]; 70 static const char KEY_SHUTTER_ENABLE[]; 71 static const char KEY_MEASUREMENT_ENABLE[]; 72 static const char KEY_INITIAL_VALUES[]; 73 static const char KEY_GBCE[]; 74 static const char KEY_GBCE_SUPPORTED[]; 75 static const char KEY_GLBCE[]; 76 static const char KEY_GLBCE_SUPPORTED[]; 77 static const char KEY_FRAMERATE_RANGES_EXT_SUPPORTED[]; 78 static const char KEY_FRAMERATES_EXT_SUPPORTED[]; 79 80 // TI recording hint to notify camera adapters of possible recording 81 static const char KEY_RECORDING_HINT[]; 82 static const char KEY_AUTO_FOCUS_LOCK[]; 83 static const char KEY_CURRENT_ISO[]; 84 85 static const char KEY_SENSOR_ORIENTATION[]; 86 87 //TI extensions for camera capabilies 88 static const char INITIAL_VALUES_TRUE[]; 89 static const char INITIAL_VALUES_FALSE[]; 90 91 // TI extensions to add values for ManualConvergence and AutoConvergence mode 92 static const char KEY_AUTOCONVERGENCE_MODE[]; 93 static const char KEY_AUTOCONVERGENCE_MODE_VALUES[]; 94 static const char KEY_MANUAL_CONVERGENCE[]; 95 static const char KEY_SUPPORTED_MANUAL_CONVERGENCE_MIN[]; 96 static const char KEY_SUPPORTED_MANUAL_CONVERGENCE_MAX[]; 97 static const char KEY_SUPPORTED_MANUAL_CONVERGENCE_STEP[]; 98 99 // TI extensions to add Min frame rate Values 100 static const char VIDEO_MINFRAMERATE_5[]; 101 static const char VIDEO_MINFRAMERATE_10[]; 102 static const char VIDEO_MINFRAMERATE_15[]; 103 static const char VIDEO_MINFRAMERATE_20[]; 104 static const char VIDEO_MINFRAMERATE_24[]; 105 static const char VIDEO_MINFRAMERATE_25[]; 106 static const char VIDEO_MINFRAMERATE_30[]; 107 static const char VIDEO_MINFRAMERATE_33[]; 108 109 //TI extensions for setting EXIF tags 110 static const char KEY_EXIF_MODEL[]; 111 static const char KEY_EXIF_MAKE[]; 112 113 //TI extensions for additional GPS data 114 static const char KEY_GPS_MAPDATUM[]; 115 static const char KEY_GPS_VERSION[]; 116 static const char KEY_GPS_DATESTAMP[]; 117 118 // TI extensions for VTC 119 static const char KEY_VTC_HINT[]; 120 static const char KEY_VIDEO_ENCODER_HANDLE[]; 121 static const char KEY_VIDEO_ENCODER_SLICE_HEIGHT[]; 122 123 static const char RAW_WIDTH[]; 124 static const char RAW_HEIGHT[]; 125 126 //TI extensions to Image post-processing 127 static const char IPP_LDCNSF[]; 128 static const char IPP_LDC[]; 129 static const char IPP_NSF[]; 130 static const char IPP_NONE[]; 131 132 //TI extensions to camera mode 133 static const char HIGH_PERFORMANCE_MODE[]; 134 static const char HIGH_QUALITY_MODE[]; 135 static const char HIGH_QUALITY_ZSL_MODE[]; 136 static const char CP_CAM_MODE[]; 137 static const char VIDEO_MODE[]; 138 static const char VIDEO_MODE_HQ[]; 139 static const char EXPOSURE_BRACKETING[]; 140 static const char ZOOM_BRACKETING[]; 141 static const char TEMP_BRACKETING[]; 142 143 // TI extensions to standard android pixel formats 144 static const char PIXEL_FORMAT_UNUSED[]; 145 static const char PIXEL_FORMAT_JPS[]; 146 static const char PIXEL_FORMAT_MPO[]; 147 static const char PIXEL_FORMAT_YUV422I_UYVY[]; 148 149 // TI extensions to standard android scene mode settings 150 static const char SCENE_MODE_CLOSEUP[]; 151 static const char SCENE_MODE_AQUA[]; 152 static const char SCENE_MODE_SNOWBEACH[]; 153 static const char SCENE_MODE_MOOD[]; 154 static const char SCENE_MODE_NIGHT_INDOOR[]; 155 static const char SCENE_MODE_DOCUMENT[]; 156 static const char SCENE_MODE_BARCODE[]; 157 static const char SCENE_MODE_VIDEO_SUPER_NIGHT[]; 158 static const char SCENE_MODE_VIDEO_CINE[]; 159 static const char SCENE_MODE_VIDEO_OLD_FILM[]; 160 161 // TI extensions to standard android white balance settings. 162 static const char WHITE_BALANCE_TUNGSTEN[]; 163 static const char WHITE_BALANCE_HORIZON[]; 164 static const char WHITE_BALANCE_SUNSET[]; 165 static const char WHITE_BALANCE_FACE[]; 166 167 // TI extensions to add exposure preset modes to android api 168 static const char EXPOSURE_MODE_MANUAL[]; 169 static const char EXPOSURE_MODE_AUTO[]; 170 static const char EXPOSURE_MODE_NIGHT[]; 171 static const char EXPOSURE_MODE_BACKLIGHT[]; 172 static const char EXPOSURE_MODE_SPOTLIGHT[]; 173 static const char EXPOSURE_MODE_SPORTS[]; 174 static const char EXPOSURE_MODE_SNOW[]; 175 static const char EXPOSURE_MODE_BEACH[]; 176 static const char EXPOSURE_MODE_APERTURE[]; 177 static const char EXPOSURE_MODE_SMALL_APERTURE[]; 178 static const char EXPOSURE_MODE_FACE[]; 179 180 // TI extensions to standard android focus presets. 181 static const char FOCUS_MODE_PORTRAIT[]; 182 static const char FOCUS_MODE_EXTENDED[]; 183 static const char FOCUS_MODE_FACE[]; 184 static const char FOCUS_MODE_OFF[]; 185 186 // TI extensions to add iso values 187 static const char ISO_MODE_AUTO[]; 188 static const char ISO_MODE_100[]; 189 static const char ISO_MODE_200[]; 190 static const char ISO_MODE_400[]; 191 static const char ISO_MODE_800[]; 192 static const char ISO_MODE_1000[]; 193 static const char ISO_MODE_1200[]; 194 static const char ISO_MODE_1600[]; 195 196 // TI extensions to add values for effect settings. 197 static const char EFFECT_NATURAL[]; 198 static const char EFFECT_VIVID[]; 199 static const char EFFECT_COLOR_SWAP[]; 200 static const char EFFECT_BLACKWHITE[]; 201 202 //TI extensions for stereo frame layouts 203 static const char KEY_S3D_PRV_FRAME_LAYOUT[]; 204 static const char KEY_S3D_PRV_FRAME_LAYOUT_VALUES[]; 205 static const char KEY_S3D_CAP_FRAME_LAYOUT[]; 206 static const char KEY_S3D_CAP_FRAME_LAYOUT_VALUES[]; 207 208 //TI extensions for stereo frame layouts 209 static const char S3D_NONE[]; 210 static const char S3D_TB_FULL[]; 211 static const char S3D_SS_FULL[]; 212 static const char S3D_TB_SUBSAMPLED[]; 213 static const char S3D_SS_SUBSAMPLED[]; 214 215 //TI extentions fo 3D resolutions 216 static const char KEY_SUPPORTED_PICTURE_SUBSAMPLED_SIZES[]; 217 static const char KEY_SUPPORTED_PICTURE_TOPBOTTOM_SIZES[]; 218 static const char KEY_SUPPORTED_PICTURE_SIDEBYSIDE_SIZES[]; 219 static const char KEY_SUPPORTED_PREVIEW_SUBSAMPLED_SIZES[]; 220 static const char KEY_SUPPORTED_PREVIEW_TOPBOTTOM_SIZES[]; 221 static const char KEY_SUPPORTED_PREVIEW_SIDEBYSIDE_SIZES[]; 222 223 // TI extensions to add values for AutoConvergence settings. 224 static const char AUTOCONVERGENCE_MODE_DISABLE[]; 225 static const char AUTOCONVERGENCE_MODE_FRAME[]; 226 static const char AUTOCONVERGENCE_MODE_CENTER[]; 227 static const char AUTOCONVERGENCE_MODE_TOUCH[]; 228 static const char AUTOCONVERGENCE_MODE_MANUAL[]; 229 230 //TI extensions for flash mode settings 231 static const char FLASH_MODE_FILL_IN[]; 232 233 //TI extensions to add sensor orientation parameters 234 static const char ORIENTATION_SENSOR_NONE[]; 235 static const char ORIENTATION_SENSOR_90[]; 236 static const char ORIENTATION_SENSOR_180[]; 237 static const char ORIENTATION_SENSOR_270[]; 238 239 240 //TI values for camera direction 241 static const char FACING_FRONT[]; 242 static const char FACING_BACK[]; 243 244 static const char KEY_MECHANICAL_MISALIGNMENT_CORRECTION_SUPPORTED[]; 245 static const char KEY_MECHANICAL_MISALIGNMENT_CORRECTION[]; 246 247 //TI extensions for enable/disable algos 248 static const char KEY_ALGO_EXTERNAL_GAMMA[]; 249 static const char KEY_ALGO_NSF1[]; 250 static const char KEY_ALGO_NSF2[]; 251 static const char KEY_ALGO_SHARPENING[]; 252 static const char KEY_ALGO_THREELINCOLORMAP[]; 253 static const char KEY_ALGO_GIC[]; 254 255 //Gamma table 256 static const char KEY_GAMMA_TABLE[]; 257 258 }; 259 260 } // namespace Camera 261 } // namespace Ti 262 263 #endif 264