Ajay Dudani | bf1bd91 | 2012-07-05 21:37:20 -0700 | [diff] [blame] | 1 | /* |
| 2 | ** |
| 3 | ** Copyright 2008, The Android Open Source Project |
| 4 | ** |
| 5 | ** Licensed under the Apache License, Version 2.0 (the "License"); |
| 6 | ** you may not use this file except in compliance with the License. |
| 7 | ** You may obtain a copy of the License at |
| 8 | ** |
| 9 | ** http://www.apache.org/licenses/LICENSE-2.0 |
| 10 | ** |
| 11 | ** Unless required by applicable law or agreed to in writing, software |
| 12 | ** distributed under the License is distributed on an "AS IS" BASIS, |
| 13 | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 14 | ** See the License for the specific language governing permissions and |
| 15 | ** limitations under the License. |
| 16 | */ |
| 17 | #ifndef ANDROID_HARDWARE_QCAMERA_PARAMETERS_H |
| 18 | #define ANDROID_HARDWARE_QCAMERA_PARAMETERS_H |
| 19 | |
| 20 | //#include <utils/KeyedVector.h> |
| 21 | //#include <utils/String8.h> |
| 22 | #include <camera/CameraParameters.h> |
| 23 | |
| 24 | namespace android { |
| 25 | |
| 26 | struct FPSRange{ |
| 27 | int minFPS; |
| 28 | int maxFPS; |
| 29 | FPSRange(){ |
| 30 | minFPS=0; |
| 31 | maxFPS=0; |
| 32 | }; |
| 33 | FPSRange(int min,int max){ |
| 34 | minFPS=min; |
| 35 | maxFPS=max; |
| 36 | }; |
| 37 | }; |
| 38 | class QCameraParameters: public CameraParameters |
| 39 | { |
| 40 | public: |
| 41 | #if 1 |
| 42 | QCameraParameters() : CameraParameters() {}; |
| 43 | QCameraParameters(const String8 ¶ms): CameraParameters(params) {}; |
| 44 | #else |
| 45 | QCameraParameters() : CameraParameters() {}; |
| 46 | QCameraParameters(const String8 ¶ms) { unflatten(params); } |
| 47 | #endif |
| 48 | ~QCameraParameters(); |
| 49 | |
| 50 | // Supported PREVIEW/RECORDING SIZES IN HIGH FRAME RATE recording, sizes in pixels. |
| 51 | // Example value: "800x480,432x320". Read only. |
| 52 | static const char KEY_SUPPORTED_HFR_SIZES[]; |
| 53 | // The mode of preview frame rate. |
| 54 | // Example value: "frame-rate-auto, frame-rate-fixed". |
| 55 | static const char KEY_PREVIEW_FRAME_RATE_MODE[]; |
| 56 | static const char KEY_SUPPORTED_PREVIEW_FRAME_RATE_MODES[]; |
| 57 | static const char KEY_PREVIEW_FRAME_RATE_AUTO_MODE[]; |
| 58 | static const char KEY_PREVIEW_FRAME_RATE_FIXED_MODE[]; |
| 59 | |
| 60 | static const char KEY_SKIN_TONE_ENHANCEMENT[] ; |
| 61 | static const char KEY_SUPPORTED_SKIN_TONE_ENHANCEMENT_MODES[] ; |
| 62 | |
| 63 | //Touch Af/AEC settings. |
| 64 | static const char KEY_TOUCH_AF_AEC[]; |
| 65 | static const char KEY_SUPPORTED_TOUCH_AF_AEC[]; |
| 66 | //Touch Index for AEC. |
| 67 | static const char KEY_TOUCH_INDEX_AEC[]; |
| 68 | //Touch Index for AF. |
| 69 | static const char KEY_TOUCH_INDEX_AF[]; |
| 70 | // Current auto scene detection mode. |
| 71 | // Example value: "off" or SCENE_DETECT_XXX constants. Read/write. |
| 72 | static const char KEY_SCENE_DETECT[]; |
| 73 | // Supported auto scene detection settings. |
| 74 | // Example value: "off,backlight,snow/cloudy". Read only. |
| 75 | static const char KEY_SUPPORTED_SCENE_DETECT[]; |
| 76 | // Returns true if video snapshot is supported. That is, applications |
| 77 | static const char KEY_FULL_VIDEO_SNAP_SUPPORTED[]; |
| 78 | static const char KEY_POWER_MODE_SUPPORTED[]; |
| 79 | |
| 80 | static const char KEY_ISO_MODE[]; |
| 81 | static const char KEY_SUPPORTED_ISO_MODES[]; |
| 82 | static const char KEY_LENSSHADE[] ; |
| 83 | static const char KEY_SUPPORTED_LENSSHADE_MODES[] ; |
| 84 | |
| 85 | static const char KEY_AUTO_EXPOSURE[]; |
| 86 | static const char KEY_SUPPORTED_AUTO_EXPOSURE[]; |
| 87 | |
| 88 | static const char KEY_GPS_LATITUDE_REF[]; |
| 89 | static const char KEY_GPS_LONGITUDE_REF[]; |
| 90 | static const char KEY_GPS_ALTITUDE_REF[]; |
| 91 | static const char KEY_GPS_STATUS[]; |
| 92 | static const char KEY_EXIF_DATETIME[]; |
| 93 | static const char KEY_MEMORY_COLOR_ENHANCEMENT[]; |
| 94 | static const char KEY_SUPPORTED_MEM_COLOR_ENHANCE_MODES[]; |
| 95 | |
| 96 | |
| 97 | static const char KEY_POWER_MODE[]; |
| 98 | |
| 99 | static const char KEY_ZSL[]; |
| 100 | static const char KEY_SUPPORTED_ZSL_MODES[]; |
| 101 | |
| 102 | static const char KEY_CAMERA_MODE[]; |
| 103 | |
| 104 | static const char KEY_VIDEO_HIGH_FRAME_RATE[]; |
| 105 | static const char KEY_SUPPORTED_VIDEO_HIGH_FRAME_RATE_MODES[]; |
| 106 | static const char KEY_HIGH_DYNAMIC_RANGE_IMAGING[]; |
| 107 | static const char KEY_SUPPORTED_HDR_IMAGING_MODES[]; |
| 108 | static const char KEY_AE_BRACKET_HDR[]; |
| 109 | |
| 110 | |
| 111 | // DENOISE |
| 112 | static const char KEY_DENOISE[]; |
| 113 | static const char KEY_SUPPORTED_DENOISE[]; |
| 114 | |
| 115 | //Selectable zone AF. |
| 116 | static const char KEY_SELECTABLE_ZONE_AF[]; |
| 117 | static const char KEY_SUPPORTED_SELECTABLE_ZONE_AF[]; |
| 118 | |
| 119 | //Face Detection |
| 120 | static const char KEY_FACE_DETECTION[]; |
| 121 | static const char KEY_SUPPORTED_FACE_DETECTION[]; |
| 122 | |
| 123 | //Redeye Reduction |
| 124 | static const char KEY_REDEYE_REDUCTION[]; |
| 125 | static const char KEY_SUPPORTED_REDEYE_REDUCTION[]; |
| 126 | static const char EFFECT_EMBOSS[]; |
| 127 | static const char EFFECT_SKETCH[]; |
| 128 | static const char EFFECT_NEON[]; |
| 129 | |
| 130 | // Values for Touch AF/AEC |
| 131 | static const char TOUCH_AF_AEC_OFF[] ; |
| 132 | static const char TOUCH_AF_AEC_ON[] ; |
| 133 | static const char SCENE_MODE_ASD[]; |
| 134 | static const char SCENE_MODE_BACKLIGHT[]; |
| 135 | static const char SCENE_MODE_FLOWERS[]; |
| 136 | static const char SCENE_MODE_AR[]; |
Mansoor Aftab | 44131c1 | 2012-09-07 11:42:16 -0700 | [diff] [blame] | 137 | static const char SCENE_MODE_HDR[]; |
Ajay Dudani | bf1bd91 | 2012-07-05 21:37:20 -0700 | [diff] [blame] | 138 | static const char SCENE_DETECT_OFF[]; |
| 139 | static const char SCENE_DETECT_ON[]; |
| 140 | static const char PIXEL_FORMAT_YUV420SP_ADRENO[]; // ADRENO |
| 141 | static const char PIXEL_FORMAT_RAW[]; |
| 142 | static const char PIXEL_FORMAT_YV12[]; // NV12 |
| 143 | static const char PIXEL_FORMAT_NV12[]; //NV12 |
| 144 | // Normal focus mode. Applications should call |
| 145 | // CameraHardwareInterface.autoFocus to start the focus in this mode. |
| 146 | static const char FOCUS_MODE_NORMAL[]; |
| 147 | static const char ISO_AUTO[]; |
| 148 | static const char ISO_HJR[] ; |
| 149 | static const char ISO_100[]; |
| 150 | static const char ISO_200[] ; |
| 151 | static const char ISO_400[]; |
| 152 | static const char ISO_800[]; |
| 153 | static const char ISO_1600[]; |
| 154 | // Values for Lens Shading |
| 155 | static const char LENSSHADE_ENABLE[] ; |
| 156 | static const char LENSSHADE_DISABLE[] ; |
| 157 | |
| 158 | // Values for auto exposure settings. |
| 159 | static const char AUTO_EXPOSURE_FRAME_AVG[]; |
| 160 | static const char AUTO_EXPOSURE_CENTER_WEIGHTED[]; |
| 161 | static const char AUTO_EXPOSURE_SPOT_METERING[]; |
| 162 | |
| 163 | static const char KEY_SHARPNESS[]; |
| 164 | static const char KEY_MAX_SHARPNESS[]; |
| 165 | static const char KEY_CONTRAST[]; |
| 166 | static const char KEY_MAX_CONTRAST[]; |
| 167 | static const char KEY_SATURATION[]; |
| 168 | static const char KEY_MAX_SATURATION[]; |
| 169 | |
| 170 | static const char KEY_HISTOGRAM[] ; |
| 171 | static const char KEY_SUPPORTED_HISTOGRAM_MODES[] ; |
| 172 | // Values for HISTOGRAM |
| 173 | static const char HISTOGRAM_ENABLE[] ; |
| 174 | static const char HISTOGRAM_DISABLE[] ; |
| 175 | |
| 176 | // Values for SKIN TONE ENHANCEMENT |
| 177 | static const char SKIN_TONE_ENHANCEMENT_ENABLE[] ; |
| 178 | static const char SKIN_TONE_ENHANCEMENT_DISABLE[] ; |
| 179 | |
| 180 | // Values for Denoise |
| 181 | static const char DENOISE_OFF[] ; |
| 182 | static const char DENOISE_ON[] ; |
| 183 | |
| 184 | // Values for auto exposure settings. |
| 185 | static const char SELECTABLE_ZONE_AF_AUTO[]; |
| 186 | static const char SELECTABLE_ZONE_AF_SPOT_METERING[]; |
| 187 | static const char SELECTABLE_ZONE_AF_CENTER_WEIGHTED[]; |
| 188 | static const char SELECTABLE_ZONE_AF_FRAME_AVERAGE[]; |
| 189 | |
| 190 | // Values for Face Detection settings. |
| 191 | static const char FACE_DETECTION_OFF[]; |
| 192 | static const char FACE_DETECTION_ON[]; |
| 193 | |
| 194 | // Values for MCE settings. |
| 195 | static const char MCE_ENABLE[]; |
| 196 | static const char MCE_DISABLE[]; |
| 197 | |
| 198 | // Values for ZSL settings. |
| 199 | static const char ZSL_OFF[]; |
| 200 | static const char ZSL_ON[]; |
| 201 | |
| 202 | // Values for HDR Bracketing settings. |
| 203 | static const char AE_BRACKET_HDR_OFF[]; |
| 204 | static const char AE_BRACKET_HDR[]; |
| 205 | static const char AE_BRACKET[]; |
| 206 | |
| 207 | // Values for Power mode settings. |
| 208 | static const char LOW_POWER[]; |
| 209 | static const char NORMAL_POWER[]; |
| 210 | |
| 211 | // Values for HFR settings. |
| 212 | static const char VIDEO_HFR_OFF[]; |
| 213 | static const char VIDEO_HFR_2X[]; |
| 214 | static const char VIDEO_HFR_3X[]; |
| 215 | static const char VIDEO_HFR_4X[]; |
| 216 | |
| 217 | // Values for Redeye Reduction settings. |
| 218 | static const char REDEYE_REDUCTION_ENABLE[]; |
| 219 | static const char REDEYE_REDUCTION_DISABLE[]; |
| 220 | // Values for HDR settings. |
| 221 | static const char HDR_ENABLE[]; |
| 222 | static const char HDR_DISABLE[]; |
| 223 | |
| 224 | // Values for Redeye Reduction settings. |
| 225 | // static const char REDEYE_REDUCTION_ENABLE[]; |
| 226 | // static const char REDEYE_REDUCTION_DISABLE[]; |
| 227 | // Values for HDR settings. |
| 228 | // static const char HDR_ENABLE[]; |
| 229 | // static const char HDR_DISABLE[]; |
| 230 | |
| 231 | |
| 232 | static const char KEY_SINGLE_ISP_OUTPUT_ENABLED[]; |
Azam Sadiq Pasha Kapatrala Syed | 0ac1f42 | 2012-08-24 15:51:35 -0700 | [diff] [blame] | 233 | static const char KEY_SUPPORTED_CAMERA_FEATURES[]; |
| 234 | static const char KEY_MAX_NUM_REQUESTED_FACES[]; |
Ajay Dudani | bf1bd91 | 2012-07-05 21:37:20 -0700 | [diff] [blame] | 235 | |
| 236 | enum { |
| 237 | CAMERA_ORIENTATION_UNKNOWN = 0, |
| 238 | CAMERA_ORIENTATION_PORTRAIT = 1, |
| 239 | CAMERA_ORIENTATION_LANDSCAPE = 2, |
| 240 | }; |
| 241 | int getOrientation() const; |
| 242 | void setOrientation(int orientation); |
| 243 | void getSupportedHfrSizes(Vector<Size> &sizes) const; |
| 244 | void setPreviewFpsRange(int minFPS,int maxFPS); |
| 245 | void setPreviewFrameRateMode(const char *mode); |
| 246 | const char *getPreviewFrameRateMode() const; |
| 247 | void setTouchIndexAec(int x, int y); |
| 248 | void getTouchIndexAec(int *x, int *y) const; |
| 249 | void setTouchIndexAf(int x, int y); |
| 250 | void getTouchIndexAf(int *x, int *y) const; |
| 251 | void getMeteringAreaCenter(int * x, int *y) const; |
| 252 | |
| 253 | }; |
| 254 | |
| 255 | }; // namespace android |
| 256 | |
| 257 | #endif |