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