Home | History | Annotate | Download | only in inc
      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