13d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel/*
23d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel** Copyright 2008, The Android Open Source Project
33d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel**
43d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel** Licensed under the Apache License, Version 2.0 (the "License");
53d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel** you may not use this file except in compliance with the License.
63d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel** You may obtain a copy of the License at
73d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel**
83d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel**     http://www.apache.org/licenses/LICENSE-2.0
93d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel**
103d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel** Unless required by applicable law or agreed to in writing, software
113d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel** distributed under the License is distributed on an "AS IS" BASIS,
123d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
133d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel** See the License for the specific language governing permissions and
143d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel** limitations under the License.
153d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel*/
163d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
173d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#ifndef ANDROID_HARDWARE_QCAMERA_PARAMETERS_H
183d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#define ANDROID_HARDWARE_QCAMERA_PARAMETERS_H
193d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
203d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel// Camera dependencies
21d4caeb73e33ec364ec36c62e2f37ba65316f7d75Jiyong Park#include <CameraParameters.h>
22d4caeb73e33ec364ec36c62e2f37ba65316f7d75Jiyong Park
23d4caeb73e33ec364ec36c62e2f37ba65316f7d75Jiyong Parkusing ::android::hardware::camera::common::V1_0::helper::CameraParameters;
24d4caeb73e33ec364ec36c62e2f37ba65316f7d75Jiyong Parkusing ::android::hardware::camera::common::V1_0::helper::Size;
253d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
263d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelnamespace android {
273d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
283d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelstruct FPSRange{
293d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    int minFPS;
303d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    int maxFPS;
313d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    FPSRange(){
323d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel        minFPS=0;
333d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel        maxFPS=0;
343d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    };
353d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    FPSRange(int min,int max){
363d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel        minFPS=min;
373d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel        maxFPS=max;
383d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    };
393d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel};
403d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelclass QCameraParameters: public CameraParameters
413d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel{
423d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelpublic:
433d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#if 1
443d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCameraParameters() : CameraParameters() {};
453d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCameraParameters(const String8 &params): CameraParameters(params) {};
463d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    #else
473d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCameraParameters() : CameraParameters() {};
483d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    QCameraParameters(const String8 &params) { unflatten(params); }
493d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#endif
503d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    ~QCameraParameters();
513d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
523d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // Supported PREVIEW/RECORDING SIZES IN HIGH FRAME RATE recording, sizes in pixels.
533d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // Example value: "800x480,432x320". Read only.
543d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_SUPPORTED_HFR_SIZES[];
553d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // The mode of preview frame rate.
563d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // Example value: "frame-rate-auto, frame-rate-fixed".
573d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_PREVIEW_FRAME_RATE_MODE[];
583d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_SUPPORTED_PREVIEW_FRAME_RATE_MODES[];
593d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_PREVIEW_FRAME_RATE_AUTO_MODE[];
603d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_PREVIEW_FRAME_RATE_FIXED_MODE[];
613d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
623d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_SKIN_TONE_ENHANCEMENT[] ;
633d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_SUPPORTED_SKIN_TONE_ENHANCEMENT_MODES[] ;
643d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
653d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //Touch Af/AEC settings.
663d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_TOUCH_AF_AEC[];
673d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_SUPPORTED_TOUCH_AF_AEC[];
683d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //Touch Index for AEC.
693d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_TOUCH_INDEX_AEC[];
703d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //Touch Index for AF.
713d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_TOUCH_INDEX_AF[];
723d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // Current auto scene detection mode.
733d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // Example value: "off" or SCENE_DETECT_XXX constants. Read/write.
743d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_SCENE_DETECT[];
753d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // Supported auto scene detection settings.
763d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // Example value: "off,backlight,snow/cloudy". Read only.
773d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_SUPPORTED_SCENE_DETECT[];
783d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel	   // Returns true if video snapshot is supported. That is, applications
793d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_FULL_VIDEO_SNAP_SUPPORTED[];
803d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_POWER_MODE_SUPPORTED[];
813d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
823d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_ISO_MODE[];
833d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_SUPPORTED_ISO_MODES[];
843d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_LENSSHADE[] ;
853d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_SUPPORTED_LENSSHADE_MODES[] ;
863d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
873d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_AUTO_EXPOSURE[];
883d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_SUPPORTED_AUTO_EXPOSURE[];
893d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
903d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_GPS_LATITUDE_REF[];
913d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_GPS_LONGITUDE_REF[];
923d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_GPS_ALTITUDE_REF[];
933d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_GPS_STATUS[];
943d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_EXIF_DATETIME[];
953d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_MEMORY_COLOR_ENHANCEMENT[];
963d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_SUPPORTED_MEM_COLOR_ENHANCE_MODES[];
973d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
983d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
993d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_POWER_MODE[];
1003d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
1013d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_ZSL[];
1023d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_SUPPORTED_ZSL_MODES[];
1033d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
1043d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_CAMERA_MODE[];
1053d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
1063d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_VIDEO_HIGH_FRAME_RATE[];
1073d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_SUPPORTED_VIDEO_HIGH_FRAME_RATE_MODES[];
1083d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_HIGH_DYNAMIC_RANGE_IMAGING[];
1093d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_SUPPORTED_HDR_IMAGING_MODES[];
1103d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_AE_BRACKET_HDR[];
1113d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
1123d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
1133d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // DENOISE
1143d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_DENOISE[];
1153d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_SUPPORTED_DENOISE[];
1163d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
1173d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //Selectable zone AF.
1183d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_SELECTABLE_ZONE_AF[];
1193d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_SUPPORTED_SELECTABLE_ZONE_AF[];
1203d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
1213d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //Face Detection
1223d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_FACE_DETECTION[];
1233d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_SUPPORTED_FACE_DETECTION[];
1243d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
1253d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    //Redeye Reduction
1263d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_REDEYE_REDUCTION[];
1273d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_SUPPORTED_REDEYE_REDUCTION[];
1283d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char EFFECT_EMBOSS[];
1293d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char EFFECT_SKETCH[];
1303d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char EFFECT_NEON[];
1313d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
1323d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // Values for Touch AF/AEC
1333d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char TOUCH_AF_AEC_OFF[] ;
1343d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char TOUCH_AF_AEC_ON[] ;
1353d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char SCENE_MODE_ASD[];
1363d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char SCENE_MODE_BACKLIGHT[];
1373d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char SCENE_MODE_FLOWERS[];
1383d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char SCENE_MODE_AR[];
1393d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char SCENE_MODE_HDR[];
1403d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel	static const char SCENE_DETECT_OFF[];
1413d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char SCENE_DETECT_ON[];
1423d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char PIXEL_FORMAT_YUV420SP_ADRENO[]; // ADRENO
1433d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel	static const char PIXEL_FORMAT_RAW[];
1443d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char PIXEL_FORMAT_YV12[]; // NV12
1453d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char PIXEL_FORMAT_NV12[]; //NV12
1463d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // Normal focus mode. Applications should call
1473d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // CameraHardwareInterface.autoFocus to start the focus in this mode.
1483d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char FOCUS_MODE_NORMAL[];
1493d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char ISO_AUTO[];
1503d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char ISO_HJR[] ;
1513d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char ISO_100[];
1523d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char ISO_200[] ;
1533d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char ISO_400[];
1543d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char ISO_800[];
1553d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char ISO_1600[];
1563d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // Values for Lens Shading
1573d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char LENSSHADE_ENABLE[] ;
1583d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char LENSSHADE_DISABLE[] ;
1593d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
1603d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // Values for auto exposure settings.
1613d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char AUTO_EXPOSURE_FRAME_AVG[];
1623d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char AUTO_EXPOSURE_CENTER_WEIGHTED[];
1633d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char AUTO_EXPOSURE_SPOT_METERING[];
1643d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
1653d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_SHARPNESS[];
1663d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_MAX_SHARPNESS[];
1673d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_CONTRAST[];
1683d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_MAX_CONTRAST[];
1693d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_SATURATION[];
1703d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_MAX_SATURATION[];
1713d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
1723d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_HISTOGRAM[] ;
1733d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char KEY_SUPPORTED_HISTOGRAM_MODES[] ;
1743d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // Values for HISTOGRAM
1753d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char HISTOGRAM_ENABLE[] ;
1763d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char HISTOGRAM_DISABLE[] ;
1773d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
1783d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // Values for SKIN TONE ENHANCEMENT
1793d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char SKIN_TONE_ENHANCEMENT_ENABLE[] ;
1803d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char SKIN_TONE_ENHANCEMENT_DISABLE[] ;
1813d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
1823d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // Values for Denoise
1833d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char DENOISE_OFF[] ;
1843d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char DENOISE_ON[] ;
1853d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
1863d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // Values for auto exposure settings.
1873d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char SELECTABLE_ZONE_AF_AUTO[];
1883d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char SELECTABLE_ZONE_AF_SPOT_METERING[];
1893d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char SELECTABLE_ZONE_AF_CENTER_WEIGHTED[];
1903d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char SELECTABLE_ZONE_AF_FRAME_AVERAGE[];
1913d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
1923d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // Values for Face Detection settings.
1933d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char FACE_DETECTION_OFF[];
1943d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char FACE_DETECTION_ON[];
1953d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
1963d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // Values for MCE settings.
1973d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char MCE_ENABLE[];
1983d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char MCE_DISABLE[];
1993d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
2003d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // Values for ZSL settings.
2013d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char ZSL_OFF[];
2023d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char ZSL_ON[];
2033d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
2043d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // Values for HDR Bracketing settings.
2053d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char AE_BRACKET_HDR_OFF[];
2063d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char AE_BRACKET_HDR[];
2073d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char AE_BRACKET[];
2083d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
2093d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // Values for Power mode settings.
2103d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char LOW_POWER[];
2113d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char NORMAL_POWER[];
2123d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
2133d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // Values for HFR settings.
2143d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char VIDEO_HFR_OFF[];
2153d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char VIDEO_HFR_2X[];
2163d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char VIDEO_HFR_3X[];
2173d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char VIDEO_HFR_4X[];
2183d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
2193d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // Values for Redeye Reduction settings.
2203d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char REDEYE_REDUCTION_ENABLE[];
2213d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char REDEYE_REDUCTION_DISABLE[];
2223d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    // Values for HDR settings.
2233d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char HDR_ENABLE[];
2243d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    static const char HDR_DISABLE[];
2253d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
2263d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel   // Values for Redeye Reduction settings.
2273d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel   // static const char REDEYE_REDUCTION_ENABLE[];
2283d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel   // static const char REDEYE_REDUCTION_DISABLE[];
2293d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel   // Values for HDR settings.
2303d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel   //    static const char HDR_ENABLE[];
2313d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel   //    static const char HDR_DISABLE[];
2323d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
2333d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
2343d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel   static const char KEY_SINGLE_ISP_OUTPUT_ENABLED[];
2353d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel   static const char KEY_SUPPORTED_CAMERA_FEATURES[];
2363d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel   static const char KEY_MAX_NUM_REQUESTED_FACES[];
2373d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
2383d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    enum {
2393d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel        CAMERA_ORIENTATION_UNKNOWN = 0,
2403d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel        CAMERA_ORIENTATION_PORTRAIT = 1,
2413d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel        CAMERA_ORIENTATION_LANDSCAPE = 2,
2423d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    };
2433d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    int getOrientation() const;
2443d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    void setOrientation(int orientation);
2453d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    void getSupportedHfrSizes(Vector<Size> &sizes) const;
2463d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    void setPreviewFpsRange(int minFPS,int maxFPS);
2473d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel	void setPreviewFrameRateMode(const char *mode);
2483d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    const char *getPreviewFrameRateMode() const;
2493d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    void setTouchIndexAec(int x, int y);
2503d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    void getTouchIndexAec(int *x, int *y) const;
2513d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    void setTouchIndexAf(int x, int y);
2523d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    void getTouchIndexAf(int *x, int *y) const;
2533d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel    void getMeteringAreaCenter(int * x, int *y) const;
2543d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
2553d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel};
2563d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
2573d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel}; // namespace android
2583d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel
2593d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#endif
260