13d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel/* 22896d129511c499aef15b8162df05fa299860f59Thierry Strudel** Copyright (c) 2012-2017, The Linux Foundation. All rights reserved. 33d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel** Not a Contribution. Apache license notifications and license are 43d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel** retained for attribution purposes only. 53d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel** 63d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel** Copyright 2008, The Android Open Source Project 73d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel** Licensed under the Apache License, Version 2.0 (the "License"); 83d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel** you may not use this file except in compliance with the License. 93d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel** You may obtain a copy of the License at 103d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel** 113d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel** http://www.apache.org/licenses/LICENSE-2.0 123d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel** 133d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel** Unless required by applicable law or agreed to in writing, software 143d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel** distributed under the License is distributed on an "AS IS" BASIS, 153d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 163d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel** See the License for the specific language governing permissions and 173d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel** limitations under the License. 183d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel*/ 193d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 203d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#ifndef ANDROID_HARDWARE_QCAMERA_PARAMETERS_H 213d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#define ANDROID_HARDWARE_QCAMERA_PARAMETERS_H 223d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 233d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel// To remove 243d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#include <cutils/properties.h> 253d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 263d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel// System dependencies 27d4caeb73e33ec364ec36c62e2f37ba65316f7d75Jiyong Park#include <CameraParameters.h> 283d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#include <utils/Errors.h> 293d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 303d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel// Camera dependencies 313d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#include "camera.h" 323d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#include "QCameraMem.h" 333d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#include "QCameraParametersIntf.h" 343d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#include "QCameraThermalAdapter.h" 353d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#include "QCameraCommon.h" 36c2ee3304e16253ceab19f9be91c5da84233940f3Thierry Strudel#include "QCameraFOVControl.h" 373d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 383d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelextern "C" { 393d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#include "mm_jpeg_interface.h" 403d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel} 413d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 42d4caeb73e33ec364ec36c62e2f37ba65316f7d75Jiyong Parkusing ::android::hardware::camera::common::V1_0::helper::CameraParameters; 43d4caeb73e33ec364ec36c62e2f37ba65316f7d75Jiyong Parkusing ::android::hardware::camera::common::V1_0::helper::Size; 443d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelusing namespace android; 453d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 463d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelnamespace qcamera { 473d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 483d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel//EXIF globals 493d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelstatic const char ExifAsciiPrefix[] = { 0x41, 0x53, 0x43, 0x49, 0x49, 0x0, 0x0, 0x0 }; // "ASCII\0\0\0" 503d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelstatic const char ExifUndefinedPrefix[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; // "\0\0\0\0\0\0\0\0" 513d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 523d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#define FOCAL_LENGTH_DECIMAL_PRECISION 100 533d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 543d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#define CAMERA_MIN_BATCH_COUNT 4 553d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 563d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#define QCAMERA_MAX_EXP_TIME_LEVEL1 100 573d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#define QCAMERA_MAX_EXP_TIME_LEVEL2 500 583d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#define QCAMERA_MAX_EXP_TIME_LEVEL3 1000 593d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#define QCAMERA_MAX_EXP_TIME_LEVEL4 10000 603d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 613d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelclass QCameraParameters: private CameraParameters 623d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel{ 633d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 643d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelprivate: 653d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 663d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel class QCameraReprocScaleParam{ 673d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel public: 683d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 693d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCameraReprocScaleParam(); 703d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel ~QCameraReprocScaleParam(); 713d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 723d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel void setScaleEnable(bool enabled); 733d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setScaleSizeTbl(size_t scale_cnt, 743d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_dimension_t *scale_tbl, size_t org_cnt, 753d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_dimension_t *org_tbl); 763d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setValidatePicSize(int &width, int &height); 773d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 783d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isScaleEnabled(); 793d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isUnderScaling(); 803d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 813d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel size_t getScaleSizeTblCnt(); 823d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_dimension_t *getScaledSizeTbl(); 833d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel size_t getTotalSizeTblCnt(); 843d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_dimension_t *getTotalSizeTbl(); 853d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getPicSizeFromAPK(int &width, int &height); 863d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getPicSizeSetted(int &width, int &height); 873d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 883d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel private: 893d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isScalePicSize(int width, int height); 903d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isValidatePicSize(int width, int height); 913d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setSensorSupportedPicSize(); 923d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel size_t checkScaleSizeTable(size_t scale_cnt, cam_dimension_t *scale_tbl, 933d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel size_t org_cnt, cam_dimension_t *org_tbl); 943d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 953d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool mScaleEnabled; 963d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool mIsUnderScaling; //if in scale status 973d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 983d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // picture size cnt that need scale operation 993d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel size_t mNeedScaleCnt; 1003d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_dimension_t mNeedScaledSizeTbl[MAX_SCALE_SIZES_CNT]; 1013d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 1023d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // sensor supported size cnt and table 1033d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel size_t mSensorSizeTblCnt; 1043d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_dimension_t *mSensorSizeTbl; 1053d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 1063d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Total size cnt (sensor supported + need scale cnt) 1073d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel size_t mTotalSizeTblCnt; 1083d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_dimension_t mTotalSizeTbl[MAX_SIZES_CNT]; 1093d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 1103d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_dimension_t mPicSizeFromAPK; // dimension that APK is expected 1113d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_dimension_t mPicSizeSetted; // dimension that config vfe 1123d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel }; 1133d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 1143d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Supported PREVIEW/RECORDING SIZES IN HIGH FRAME RATE recording, sizes in pixels. 1153d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Example value: "800x480,432x320". Read only. 1163d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_HFR_SIZES[]; 1173d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // The mode of preview frame rate. 1183d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Example value: "frame-rate-auto, frame-rate-fixed". 1193d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_PREVIEW_FRAME_RATE_MODE[]; 1203d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_PREVIEW_FRAME_RATE_MODES[]; 1213d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_PREVIEW_FRAME_RATE_AUTO_MODE[]; 1223d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_PREVIEW_FRAME_RATE_FIXED_MODE[]; 1233d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_SKIN_TONE_ENHANCEMENT_MODES[] ; 1243d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 1253d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Supported live snapshot sizes 1263d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_LIVESNAPSHOT_SIZES[]; 1273d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 1283d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Supported Raw formats 1293d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_RAW_FORMATS[]; 1303d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_RAW_FORMAT[]; 1313d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 1323d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Touch Af/AEC settings. 1333d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_TOUCH_AF_AEC[]; 1343d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_TOUCH_AF_AEC[]; 1353d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Touch Index for AEC. 1363d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_TOUCH_INDEX_AEC[]; 1373d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Touch Index for AF. 1383d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_TOUCH_INDEX_AF[]; 1393d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Current auto scene detection mode. 1403d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Example value: "off" or "on" constants. Read/write. 1413d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SCENE_DETECT[]; 1423d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Supported auto scene detection settings. 1433d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Example value: "off,on". Read only. 1443d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_SCENE_DETECT[]; 1453d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SELECTABLE_ZONE_AF[]; 1463d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 1473d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_ISO_MODE[]; 1483d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_CONTINUOUS_ISO[]; 1493d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MIN_ISO[]; 1503d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MAX_ISO[]; 1513d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_ISO_MODES[]; 1523d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_EXPOSURE_TIME[]; 1533d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MIN_EXPOSURE_TIME[]; 1543d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MAX_EXPOSURE_TIME[]; 1553d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_LENSSHADE[] ; 1563d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_LENSSHADE_MODES[] ; 1573d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_AUTO_EXPOSURE[]; 1583d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_AUTO_EXPOSURE[]; 1593d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 1603d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_GPS_LATITUDE_REF[]; 1613d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_GPS_LONGITUDE_REF[]; 1623d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_GPS_ALTITUDE_REF[]; 1633d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_GPS_STATUS[]; 1643d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MEMORY_COLOR_ENHANCEMENT[]; 1653d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_MEM_COLOR_ENHANCE_MODES[]; 1663d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_DIS[]; 1673d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_OIS[]; 1683d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_DIS_MODES[]; 1693d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_OIS_MODES[]; 1703d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 1713d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_ZSL[]; 1723d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_ZSL_MODES[]; 1733d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_ZSL_BURST_INTERVAL[]; 1743d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_ZSL_BURST_LOOKBACK[]; 1753d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_ZSL_QUEUE_DEPTH[]; 1763d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 1773d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_CAMERA_MODE[]; 1783d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_ORIENTATION[]; 1793d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 1803d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_VIDEO_HIGH_FRAME_RATE[]; 1813d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_VIDEO_HIGH_SPEED_RECORDING[]; 1823d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_VIDEO_HIGH_FRAME_RATE_MODES[]; 1833d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_HIGH_DYNAMIC_RANGE_IMAGING[]; 1843d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_HDR_IMAGING_MODES[]; 1853d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_AE_BRACKET_HDR[]; 1863d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_AE_BRACKET_MODES[]; 1873d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_CAPTURE_BURST_EXPOSURE[]; 1883d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_NUM_SNAPSHOT_PER_SHUTTER[]; 1893d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_NUM_RETRO_BURST_PER_SHUTTER[]; 1903d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SNAPSHOT_BURST_LED_ON_PERIOD[]; 1913d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SNAPSHOT_BURST_NUM[]; 1923d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_NO_DISPLAY_MODE[]; 1933d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_RAW_PICUTRE_SIZE[]; 1943d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_TINTLESS_ENABLE[]; 1953d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SCENE_SELECTION[]; 1963d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_CDS_MODE[]; 1973d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_VIDEO_CDS_MODE[]; 1983d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_CDS_MODES[]; 1993d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_VIDEO_CDS_MODES[]; 2003d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_TNR_MODE[]; 2013d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_VIDEO_TNR_MODE[]; 2023d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_TNR_MODES[]; 2033d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_VIDEO_TNR_MODES[]; 2043d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 2053d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_INTERNAL_PERVIEW_RESTART[]; 2063d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_WB_MANUAL_CCT[]; 2073d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MIN_WB_CCT[]; 2083d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MAX_WB_CCT[]; 2093d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MANUAL_WB_GAINS[]; 2103d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MIN_WB_GAIN[]; 2113d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MAX_WB_GAIN[]; 2123d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char WHITE_BALANCE_MANUAL[]; 2133d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char FOCUS_MODE_MANUAL_POSITION[]; 2143d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_LONG_SHOT[]; 2153d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_INITIAL_EXPOSURE_INDEX[]; 2163d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_INSTANT_AEC[]; 2173d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_INSTANT_CAPTURE[]; 2183d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_INSTANT_AEC_SUPPORTED_MODES[]; 2193d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_INSTANT_CAPTURE_SUPPORTED_MODES[]; 2203d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 2213d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MANUAL_FOCUS_POSITION[]; 2223d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MANUAL_FOCUS_POS_TYPE[]; 2233d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MIN_FOCUS_POS_INDEX[]; 2243d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MAX_FOCUS_POS_INDEX[]; 2253d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MIN_FOCUS_POS_DAC[]; 2263d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MAX_FOCUS_POS_DAC[]; 2273d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MIN_FOCUS_POS_RATIO[]; 2283d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MAX_FOCUS_POS_RATIO[]; 2293d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MIN_FOCUS_POS_DIOPTER[]; 2303d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MAX_FOCUS_POS_DIOPTER[]; 2313d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_FOCUS_POSITION_SCALE[]; 2323d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_FOCUS_POSITION_DIOPTER[]; 2333d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 2343d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_MANUAL_FOCUS_MODES[]; 2353d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_MANUAL_EXPOSURE_MODES[]; 2363d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_MANUAL_WB_MODES[]; 2373d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_FOCUS_SCALE_MODE[]; 2383d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_FOCUS_DIOPTER_MODE[]; 2393d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_ISO_PRIORITY[]; 2403d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_EXP_TIME_PRIORITY[]; 2413d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_USER_SETTING[]; 2423d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_WB_CCT_MODE[]; 2433d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_WB_GAIN_MODE[]; 2443d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MANUAL_WB_TYPE[]; 2453d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MANUAL_WB_VALUE[]; 2463d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_CURRENT_EXPOSURE_TIME[]; 2473d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_CURRENT_ISO[]; 2483d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_CACHE_VIDEO_BUFFERS[]; 2493d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 2503d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // DENOISE 2513d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_DENOISE[]; 2523d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_DENOISE[]; 2533d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 2543d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Selectable zone AF. 2553d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_FOCUS_ALGO[]; 2563d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_FOCUS_ALGOS[]; 2573d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 2583d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Face Detection 2593d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_FACE_DETECTION[]; 2603d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_FACE_DETECTION[]; 2613d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 2623d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Face Recognition 2633d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_FACE_RECOGNITION[]; 2643d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_FACE_RECOGNITION[]; 2653d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 2663d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Indicates number of faces requested by the application. 2673d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //This value will be rejected if the requested faces 2683d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //greater than supported by hardware. 2693d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Write only. 2703d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MAX_NUM_REQUESTED_FACES[]; 2713d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 2723d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //preview flip 2733d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_PREVIEW_FLIP[]; 2743d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //video flip 2753d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_VIDEO_FLIP[]; 2763d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //snapshot picture flip 2773d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SNAPSHOT_PICTURE_FLIP[]; 2783d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 2793d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_FLIP_MODES[]; 2803d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 2813d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Face Detection, Facial processing requirement 2823d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SNAPSHOT_FD_DATA[]; 2833d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 2843d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Auto HDR enable 2853d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_AUTO_HDR_ENABLE[]; 2863d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // video rotation 2873d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_VIDEO_ROTATION[]; 2883d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_VIDEO_ROTATION_VALUES[]; 2893d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 2903d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Redeye Reduction 2913d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_REDEYE_REDUCTION[]; 2923d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_REDEYE_REDUCTION[]; 2933d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char EFFECT_EMBOSS[]; 2943d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char EFFECT_SKETCH[]; 2953d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char EFFECT_NEON[]; 2963d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char EFFECT_BEAUTY[]; 2973d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 2983d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //AF Bracketing 2993d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_AF_BRACKET[]; 3003d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_AF_BRACKET_MODES[]; 3013d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 3023d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Refocus 3033d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_RE_FOCUS[]; 3043d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_RE_FOCUS_MODES[]; 3053d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 3063d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Chroma Flash 3073d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_CHROMA_FLASH[]; 3083d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_CHROMA_FLASH_MODES[]; 3093d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 3103d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Opti Zoom 3113d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_OPTI_ZOOM[]; 3123d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_OPTI_ZOOM_MODES[]; 3133d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 3143d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Auto HDR supported 3153d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_AUTO_HDR_SUPPORTED[]; 3163d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 3173d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // HDR modes 3183d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_HDR_MODE[]; 3193d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_KEY_QC_HDR_MODES[]; 3203d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 3213d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //True Portrait 3223d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_TRUE_PORTRAIT[]; 3233d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_TRUE_PORTRAIT_MODES[]; 3243d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 3253d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //See more 3263d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SEE_MORE[]; 3273d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_SEE_MORE_MODES[]; 3283d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 3293d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Still more 3303d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_STILL_MORE[]; 3313d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_STILL_MORE_MODES[]; 3323d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 3333d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Noise reduction mode 3343d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_NOISE_REDUCTION_MODE[]; 3353d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_NOISE_REDUCTION_MODE_VALUES[]; 3363d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 3373d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Longshot 3383d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_LONGSHOT_SUPPORTED[]; 3393d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 3403d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //ZSL+HDR 3413d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_ZSL_HDR_SUPPORTED[]; 3423d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 3433d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Values for Touch AF/AEC 3443d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char TOUCH_AF_AEC_OFF[]; 3453d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char TOUCH_AF_AEC_ON[]; 3463d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 3473d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Values for Scene mode 3483d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char SCENE_MODE_ASD[]; 3493d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char SCENE_MODE_BACKLIGHT[]; 3503d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char SCENE_MODE_FLOWERS[]; 3513d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char SCENE_MODE_AR[]; 3523d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char SCENE_MODE_HDR[]; 3533d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char PIXEL_FORMAT_YUV420SP_ADRENO[]; // ADRENO 3543d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char PIXEL_FORMAT_YV12[]; // NV12 3553d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char PIXEL_FORMAT_NV12[]; //NV12 3563d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_NV12_VENUS[]; //NV12 VENUS 3573d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 3583d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Values for raw picture format 3593d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_YUV_RAW_8BIT_YUYV[]; 3603d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_YUV_RAW_8BIT_YVYU[]; 3613d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_YUV_RAW_8BIT_UYVY[]; 3623d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_YUV_RAW_8BIT_VYUY[]; 3633d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_QCOM_RAW_8GBRG[]; 3643d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_QCOM_RAW_8GRBG[]; 3653d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_QCOM_RAW_8RGGB[]; 3663d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_QCOM_RAW_8BGGR[]; 3673d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_QCOM_RAW_10GBRG[]; 3683d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_QCOM_RAW_10GRBG[]; 3693d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_QCOM_RAW_10RGGB[]; 3703d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_QCOM_RAW_10BGGR[]; 3713d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_QCOM_RAW_12GBRG[]; 3723d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_QCOM_RAW_12GRBG[]; 3733d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_QCOM_RAW_12RGGB[]; 3743d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_QCOM_RAW_12BGGR[]; 3753d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_QCOM_RAW_14GBRG[]; 3763d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_QCOM_RAW_14GRBG[]; 3773d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_QCOM_RAW_14RGGB[]; 3783d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_QCOM_RAW_14BGGR[]; 3793d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_MIPI_RAW_8GBRG[]; 3803d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_MIPI_RAW_8GRBG[]; 3813d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_MIPI_RAW_8RGGB[]; 3823d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_MIPI_RAW_8BGGR[]; 3833d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_MIPI_RAW_10GBRG[]; 3843d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_MIPI_RAW_10GRBG[]; 3853d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_MIPI_RAW_10RGGB[]; 3863d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_MIPI_RAW_10BGGR[]; 3873d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_MIPI_RAW_12GBRG[]; 3883d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_MIPI_RAW_12GRBG[]; 3893d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_MIPI_RAW_12RGGB[]; 3903d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_MIPI_RAW_12BGGR[]; 3913d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_MIPI_RAW_14GBRG[]; 3923d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_MIPI_RAW_14GRBG[]; 3933d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_MIPI_RAW_14RGGB[]; 3943d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_MIPI_RAW_14BGGR[]; 3953d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_QCOM_8GBRG[]; 3963d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_QCOM_8GRBG[]; 3973d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_QCOM_8RGGB[]; 3983d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_QCOM_8BGGR[]; 3993d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_QCOM_10GBRG[]; 4003d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_QCOM_10GRBG[]; 4013d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_QCOM_10RGGB[]; 4023d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_QCOM_10BGGR[]; 4033d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_QCOM_12GBRG[]; 4043d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_QCOM_12GRBG[]; 4053d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_QCOM_12RGGB[]; 4063d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_QCOM_12BGGR[]; 4073d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_QCOM_14GBRG[]; 4083d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_QCOM_14GRBG[]; 4093d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_QCOM_14RGGB[]; 4103d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_QCOM_14BGGR[]; 4113d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_MIPI_8GBRG[]; 4123d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_MIPI_8GRBG[]; 4133d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_MIPI_8RGGB[]; 4143d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_MIPI_8BGGR[]; 4153d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_MIPI_10GBRG[]; 4163d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_MIPI_10GRBG[]; 4173d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_MIPI_10RGGB[]; 4183d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_MIPI_10BGGR[]; 4193d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_MIPI_12GBRG[]; 4203d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_MIPI_12GRBG[]; 4213d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_MIPI_12RGGB[]; 4223d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_MIPI_12BGGR[]; 4233d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_MIPI_14GBRG[]; 4243d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_MIPI_14GRBG[]; 4253d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_MIPI_14RGGB[]; 4263d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_MIPI_14BGGR[]; 4273d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_PLAIN8_8GBRG[]; 4283d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_PLAIN8_8GRBG[]; 4293d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_PLAIN8_8RGGB[]; 4303d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_PLAIN8_8BGGR[]; 4313d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_PLAIN16_8GBRG[]; 4323d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_PLAIN16_8GRBG[]; 4333d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_PLAIN16_8RGGB[]; 4343d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_PLAIN16_8BGGR[]; 4353d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_PLAIN16_10GBRG[]; 4363d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_PLAIN16_10GRBG[]; 4373d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_PLAIN16_10RGGB[]; 4383d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_PLAIN16_10BGGR[]; 4393d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_PLAIN16_12GBRG[]; 4403d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_PLAIN16_12GRBG[]; 4413d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_PLAIN16_12RGGB[]; 4423d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_PLAIN16_12BGGR[]; 4433d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_PLAIN16_14GBRG[]; 4443d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_PLAIN16_14GRBG[]; 4453d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_PLAIN16_14RGGB[]; 4463d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char QC_PIXEL_FORMAT_BAYER_IDEAL_PLAIN16_14BGGR[]; 4473d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 4483d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // ISO values 4493d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char ISO_AUTO[]; 4503d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char ISO_HJR[]; 4513d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char ISO_100[]; 4523d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char ISO_200[]; 4533d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char ISO_400[]; 4543d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char ISO_800[]; 4553d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char ISO_1600[]; 4563d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char ISO_3200[]; 4573d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char ISO_MANUAL[]; 4583d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 4593d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Values for auto exposure settings. 4603d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char AUTO_EXPOSURE_FRAME_AVG[]; 4613d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char AUTO_EXPOSURE_CENTER_WEIGHTED[]; 4623d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char AUTO_EXPOSURE_SPOT_METERING[]; 4633d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char AUTO_EXPOSURE_SMART_METERING[]; 4643d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char AUTO_EXPOSURE_USER_METERING[]; 4653d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char AUTO_EXPOSURE_SPOT_METERING_ADV[]; 4663d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char AUTO_EXPOSURE_CENTER_WEIGHTED_ADV[]; 4673d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 4683d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Values for instant AEC modes 4693d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_INSTANT_AEC_DISABLE[]; 4703d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_INSTANT_AEC_AGGRESSIVE_AEC[]; 4713d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_INSTANT_AEC_FAST_AEC[]; 4723d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 4733d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Values for instant capture modes 4743d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_INSTANT_CAPTURE_DISABLE[]; 4753d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_INSTANT_CAPTURE_AGGRESSIVE_AEC[]; 4763d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_INSTANT_CAPTURE_FAST_AEC[]; 4773d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 4783d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SHARPNESS[]; 4793d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MIN_SHARPNESS[]; 4803d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MAX_SHARPNESS[]; 4813d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SHARPNESS_STEP[]; 4823d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_CONTRAST[]; 4833d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MIN_CONTRAST[]; 4843d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MAX_CONTRAST[]; 4853d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_CONTRAST_STEP[]; 4863d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SATURATION[]; 4873d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MIN_SATURATION[]; 4883d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MAX_SATURATION[]; 4893d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SATURATION_STEP[]; 4903d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_BRIGHTNESS[]; 4913d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MIN_BRIGHTNESS[]; 4923d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MAX_BRIGHTNESS[]; 4933d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_BRIGHTNESS_STEP[]; 4943d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SCE_FACTOR[]; 4953d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MIN_SCE_FACTOR[]; 4963d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_MAX_SCE_FACTOR[]; 4973d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SCE_FACTOR_STEP[]; 4983d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 4993d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_HISTOGRAM[] ; 5003d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_HISTOGRAM_MODES[] ; 5013d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_HDR_NEED_1X[]; 5023d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_HDR_NEED_1X[]; 5033d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_VIDEO_HDR[]; 5043d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_VT_ENABLE[]; 5053d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_VIDEO_HDR_MODES[]; 5063d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SENSOR_HDR[]; 5073d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_SENSOR_HDR_MODES[]; 5083d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_RDI_MODE[]; 5093d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_RDI_MODES[]; 5103d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SECURE_MODE[]; 5113d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_SUPPORTED_SECURE_MODES[]; 5123d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 5133d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Values for SKIN TONE ENHANCEMENT 5143d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char SKIN_TONE_ENHANCEMENT_ENABLE[] ; 5153d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char SKIN_TONE_ENHANCEMENT_DISABLE[] ; 5163d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 5173d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Values for Denoise 5183d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char DENOISE_OFF[] ; 5193d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char DENOISE_ON[] ; 5203d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 5213d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Values for auto exposure settings. 5223d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char FOCUS_ALGO_AUTO[]; 5233d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char FOCUS_ALGO_SPOT_METERING[]; 5243d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char FOCUS_ALGO_CENTER_WEIGHTED[]; 5253d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char FOCUS_ALGO_FRAME_AVERAGE[]; 5263d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 5273d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Values for AE Bracketing settings. 5283d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char AE_BRACKET_OFF[]; 5293d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char AE_BRACKET[]; 5303d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 5313d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Values for AF Bracketing settings. 5323d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char AF_BRACKET_OFF[]; 5333d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char AF_BRACKET_ON[]; 5343d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 5353d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Values for Refocus settings. 5363d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char RE_FOCUS_OFF[]; 5373d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char RE_FOCUS_ON[]; 5383d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 5393d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Values for Chroma Flash settings. 5403d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char CHROMA_FLASH_OFF[]; 5413d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char CHROMA_FLASH_ON[]; 5423d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 5433d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Values for Opti Zoom settings. 5443d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char OPTI_ZOOM_OFF[]; 5453d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char OPTI_ZOOM_ON[]; 5463d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 5473d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Values for Still More settings. 5483d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char STILL_MORE_OFF[]; 5493d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char STILL_MORE_ON[]; 5503d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 5513d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Values for HDR mode settings. 5523d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char HDR_MODE_SENSOR[]; 5533d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char HDR_MODE_MULTI_FRAME[]; 5543d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 5553d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Values for True Portrait settings. 5563d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char TRUE_PORTRAIT_OFF[]; 5573d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char TRUE_PORTRAIT_ON[]; 5583d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 5593d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Values for HFR settings. 5603d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char VIDEO_HFR_OFF[]; 5613d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char VIDEO_HFR_2X[]; 5623d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char VIDEO_HFR_3X[]; 5633d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char VIDEO_HFR_4X[]; 5643d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char VIDEO_HFR_5X[]; 5653d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char VIDEO_HFR_6X[]; 5663d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char VIDEO_HFR_7X[]; 5673d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char VIDEO_HFR_8X[]; 5683d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char VIDEO_HFR_9X[]; 5693d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 5703d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Values for feature on/off settings. 5713d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char VALUE_OFF[]; 5723d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char VALUE_ON[]; 5733d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 5743d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Values for feature enable/disable settings. 5753d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char VALUE_ENABLE[]; 5763d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char VALUE_DISABLE[]; 5773d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 5783d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Values for feature true/false settings. 5793d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char VALUE_FALSE[]; 5803d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char VALUE_TRUE[]; 5813d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 5823d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Values for flip settings 5833d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char FLIP_MODE_OFF[]; 5843d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char FLIP_MODE_V[]; 5853d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char FLIP_MODE_H[]; 5863d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char FLIP_MODE_VH[]; 5873d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 5883d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //Values for CDS Mode 5893d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char CDS_MODE_OFF[]; 5903d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char CDS_MODE_ON[]; 5913d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char CDS_MODE_AUTO[]; 5923d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 5933d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char VALUE_FAST[]; 5943d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char VALUE_HIGH_QUALITY[]; 5953d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 5963d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_SELECTED_AUTO_SCENE[]; 5973d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 5983d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Values for Video rotation 5993d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char VIDEO_ROTATION_0[]; 6003d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char VIDEO_ROTATION_90[]; 6013d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char VIDEO_ROTATION_180[]; 6023d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char VIDEO_ROTATION_270[]; 6033d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 6043d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#ifdef TARGET_TS_MAKEUP 6053d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_TS_MAKEUP[]; 6063d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_TS_MAKEUP_WHITEN[]; 6073d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_TS_MAKEUP_CLEAN[]; 6083d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#endif 6093d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel //param key for HFR batch size 6103d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const char KEY_QC_VIDEO_BATCH_SIZE[]; 6119ec39c64004dda78086849a21087cb217d0bf6acThierry Strudel 6129ec39c64004dda78086849a21087cb217d0bf6acThierry Strudel static const char KEY_QC_SUPPORTED_METADATA_TYPES[]; 6139ec39c64004dda78086849a21087cb217d0bf6acThierry Strudel static const char QC_METADATA_ASD[]; 6149ec39c64004dda78086849a21087cb217d0bf6acThierry Strudel static const char QC_METADATA_FD[]; 6159ec39c64004dda78086849a21087cb217d0bf6acThierry Strudel static const char QC_METADATA_HDR[]; 6169ec39c64004dda78086849a21087cb217d0bf6acThierry Strudel static const char QC_METADATA_LED_CALIB[]; 6179ec39c64004dda78086849a21087cb217d0bf6acThierry Strudel 6189ec39c64004dda78086849a21087cb217d0bf6acThierry Strudel //Key to enable dual LED calibration 6199ec39c64004dda78086849a21087cb217d0bf6acThierry Strudel static const char KEY_QC_LED_CALIBRATION[]; 6209ec39c64004dda78086849a21087cb217d0bf6acThierry Strudel 6213d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel enum { 6223d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel CAMERA_ORIENTATION_UNKNOWN = 0, 6233d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel CAMERA_ORIENTATION_PORTRAIT = 1, 6243d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel CAMERA_ORIENTATION_LANDSCAPE = 2, 6253d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel }; 6263d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 6273d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel template <typename valueType> struct QCameraMap { 6283d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel const char *const desc; 6293d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel valueType val; 6303d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel }; 6313d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 6323d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelpublic: 6333d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCameraParameters(); 6343d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCameraParameters(const String8 ¶ms); 6353d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel ~QCameraParameters(); 6363d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 637cca4d9c3be40fe18502f3237f7993b41175ef3a7Thierry Strudel int32_t allocate(uint8_t bufCount); 6383d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t init(cam_capability_t *, 6393d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel mm_camera_vtbl_t *, 640c2ee3304e16253ceab19f9be91c5da84233940f3Thierry Strudel QCameraAdjustFPS *, 641c2ee3304e16253ceab19f9be91c5da84233940f3Thierry Strudel QCameraFOVControl *); 6423d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel void deinit(); 6433d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t initDefaultParameters(); 6443d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t updateParameters(const String8& params, bool &needRestart); 6453d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t commitParameters(); 6463d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 6473d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel char* getParameters(); 6483d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel void getPreviewFpsRange(int *min_fps, int *max_fps) const { 6493d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel CameraParameters::getPreviewFpsRange(min_fps, max_fps); 6503d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel } 6513d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#ifdef TARGET_TS_MAKEUP 6523d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool getTsMakeupInfo(int &whiteLevel, int &cleanLevel) const; 6533d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#endif 6543d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 6553d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int getPreviewHalPixelFormat(); 656e80ad7c01b6fb44006dc55546b700fca34bb00edThierry Strudel cam_rotation_t getStreamRotation(cam_stream_type_t streamType); 6573d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getStreamRotation(cam_stream_type_t streamType, 6583d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_pp_feature_config_t &featureConfig, 6593d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_dimension_t &dim); 6603d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getStreamFormat(cam_stream_type_t streamType, 6613d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_format_t &format); 6629e74aae7331f3227542b3e646a0dd658d3467a31Thierry Strudel int32_t getStreamSubFormat(cam_stream_type_t streamType, 6639e74aae7331f3227542b3e646a0dd658d3467a31Thierry Strudel cam_sub_format_type_t &sub_format); 6649e74aae7331f3227542b3e646a0dd658d3467a31Thierry Strudel 6653d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getStreamDimension(cam_stream_type_t streamType, 6662896d129511c499aef15b8162df05fa299860f59Thierry Strudel cam_dimension_t &dim, uint32_t cam_type = MM_CAMERA_TYPE_MAIN); 6673d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel void getThumbnailSize(int *width, int *height) const; 6683d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 6693d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 6703d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint8_t getZSLBurstInterval(); 6713d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint8_t getZSLQueueDepth(); 6723d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint8_t getZSLBackLookCount(); 6733d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint8_t getMaxUnmatchedFramesInQueue(); 6743d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isZSLMode() {return m_bZslMode;}; 6753d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isRdiMode() {return m_bRdiMode;}; 6763d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isSecureMode() {return m_bSecureMode;}; 6779ec39c64004dda78086849a21087cb217d0bf6acThierry Strudel cam_stream_type_t getSecureStreamType() {return mSecureStraemType;}; 6783d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isNoDisplayMode() {return m_bNoDisplayMode;}; 6793d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isWNREnabled() {return m_bWNROn;}; 6803d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isTNRSnapshotEnabled() {return m_bTNRSnapshotOn;}; 6813d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getCDSMode() {return mCds_mode;}; 6823d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isLTMForSeeMoreEnabled() {return m_bLtmForSeeMoreEnabled;}; 6833d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isHfrMode() {return m_bHfrMode;}; 6843d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel void getHfrFps(cam_fps_range_t &pFpsRange) { pFpsRange = m_hfrFpsRange;}; 6853d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint8_t getNumOfSnapshots(); 6863d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint8_t getNumOfRetroSnapshots(); 6873d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint8_t getNumOfExtraHDRInBufsIfNeeded(); 6883d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint8_t getNumOfExtraHDROutBufsIfNeeded(); 6893d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 6903d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool getRecordingHintValue() {return m_bRecordingHint;}; // return local copy of video hint 6913d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint32_t getJpegQuality(); 6923d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint32_t getRotation(); 6933d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint32_t getDeviceRotation(); 6943d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint32_t getJpegExifRotation(); 6953d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool useJpegExifRotation(); 6963d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getEffectValue(); 6973d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isInstantAECEnabled() {return m_bInstantAEC;}; 6983d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isInstantCaptureEnabled() {return m_bInstantCapture;}; 6993d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint8_t getAecFrameBoundValue() {return mAecFrameBound;}; 7003d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint8_t getAecSkipDisplayFrameBound() {return mAecSkipDisplayFrameBound;}; 7013d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 7023d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getExifDateTime(String8 &dateTime, String8 &subsecTime); 7033d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getExifFocalLength(rat_t *focalLenght); 7043d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint16_t getExifIsoSpeed(); 7053d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getExifGpsProcessingMethod(char *gpsProcessingMethod, uint32_t &count); 7063d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getExifLatitude(rat_t *latitude, char *latRef); 7073d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getExifLongitude(rat_t *longitude, char *lonRef); 7083d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getExifAltitude(rat_t *altitude, char *altRef); 7093d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getExifGpsDateTimeStamp(char *gpsDateStamp, uint32_t bufLen, rat_t *gpsTimeStamp); 7103d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isVideoBuffersCached(); 7113d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t updateFocusDistances(cam_focus_distances_info_t *focusDistances); 7123d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 7133d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isAEBracketEnabled(); 7143d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setAEBracketing(); 7153d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isFpsDebugEnabled() {return m_bDebugFps;}; 7163d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isHistogramEnabled() {return m_bHistogramEnabled;}; 7173d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isSceneSelectionEnabled() {return m_bSceneSelection;}; 7189ec39c64004dda78086849a21087cb217d0bf6acThierry Strudel bool isSmallJpegSizeEnabled() {return m_bSmallJpegSize;}; 7193d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setSelectedScene(cam_scene_mode_type scene); 7203d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_scene_mode_type getSelectedScene(); 7213d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isFaceDetectionEnabled() {return ((m_nFaceProcMask & 7223d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel (CAM_FACE_PROCESS_MASK_DETECTION | CAM_FACE_PROCESS_MASK_FOCUS)) != 0);}; 7233d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setFaceDetectionOption(bool enabled); 7243d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setHistogram(bool enabled); 7253d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setFaceDetection(bool enabled, bool initCommit); 7263d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setFrameSkip(enum msm_vfe_frame_skip_pattern pattern); 7273d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel qcamera_thermal_mode getThermalMode() {return m_ThermalMode;}; 7283d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t updateRecordingHintValue(int32_t value); 7293d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setHDRAEBracket(cam_exp_bracketing_t hdrBracket); 7303d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isHDREnabled(); 7313d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isAutoHDREnabled(); 7323d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t stopAEBracket(); 7333d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t updateRAW(cam_dimension_t max_dim); 734cca4d9c3be40fe18502f3237f7993b41175ef3a7Thierry Strudel bool isAVTimerEnabled(); 7353d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isDISEnabled(); 7369e74aae7331f3227542b3e646a0dd658d3467a31Thierry Strudel int32_t setISType(); 7379ec39c64004dda78086849a21087cb217d0bf6acThierry Strudel void setSmallJpegSize(cam_dimension_t sensor_dim, cam_dimension_t snap_dim); 7389ec39c64004dda78086849a21087cb217d0bf6acThierry Strudel int32_t updateSnapshotPpMask(cam_stream_size_info_t &stream_config_info); 7392896d129511c499aef15b8162df05fa299860f59Thierry Strudel int32_t getSensorOutputSize(cam_dimension_t max_dim, cam_dimension_t &sensor_dim, 7402896d129511c499aef15b8162df05fa299860f59Thierry Strudel uint32_t cam_type = MM_CAMERA_TYPE_MAIN); 7419e74aae7331f3227542b3e646a0dd658d3467a31Thierry Strudel cam_is_type_t getVideoISType(); 7423d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_is_type_t getPreviewISType(); 7433d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint8_t getMobicatMask(); 7443d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 7453d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_focus_mode_type getFocusMode() const {return mFocusMode;}; 7463d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setNumOfSnapshot(); 7473d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t adjustPreviewFpsRange(cam_fps_range_t *fpsRange); 7483d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isJpegPictureFormat() {return (mPictureFormat == CAM_FORMAT_JPEG);}; 7493d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isNV16PictureFormat() {return (mPictureFormat == CAM_FORMAT_YUV_422_NV16);}; 7503d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isNV21PictureFormat() {return (mPictureFormat == CAM_FORMAT_YUV_420_NV21);}; 7513d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_denoise_process_type_t getDenoiseProcessPlate(cam_intf_parm_type_t type); 7523d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getMaxPicSize(cam_dimension_t &dim) { dim = m_maxPicSize; return NO_ERROR; }; 7533d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int getFlipMode(cam_stream_type_t streamType); 7543d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isSnapshotFDNeeded(); 7553d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 7563d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isHDR1xFrameEnabled() {return m_bHDR1xFrameEnabled;} 7573d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isSupportedSensorHdrSize(const QCameraParameters& params); 7583d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isYUVFrameInfoNeeded(); 7593d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel const char*getFrameFmtString(cam_format_t fmt); 7603d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isHDR1xExtraBufferNeeded() {return m_bHDR1xExtraBufferNeeded;} 7613d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isHDROutputCropEnabled() {return m_bHDROutputCropEnabled;} 7623d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 7633d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isPreviewFlipChanged() { return m_bPreviewFlipChanged; }; 7643d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isVideoFlipChanged() { return m_bVideoFlipChanged; }; 7653d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isSnapshotFlipChanged() { return m_bSnapshotFlipChanged; }; 76654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel bool isZoomChanged() { return m_bZoomChanged; }; 7673d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel void setHDRSceneEnable(bool bflag); 7683d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t updateAWBParams(cam_awb_params_t &awb_params); 7693d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 7703d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel const char *getASDStateString(cam_auto_scene_t scene); 7713d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isHDRThumbnailProcessNeeded() { return m_bHDRThumbnailProcessNeeded; }; 7723d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel void setMinPpMask(cam_feature_mask_t min_pp_mask) { m_nMinRequiredPpMask = min_pp_mask; }; 7733d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool setStreamConfigure(bool isCapture, bool previewAsPostview, bool resetConfig); 7743d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t addOnlineRotation(uint32_t rotation, uint32_t streamId, int32_t device_rotation); 7753d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint8_t getNumOfExtraBuffersForImageProc(); 7763d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint8_t getNumOfExtraBuffersForVideo(); 7773d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint8_t getNumOfExtraBuffersForPreview(); 7783d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint32_t getExifBufIndex(uint32_t captureIndex); 7793d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool needThumbnailReprocess(cam_feature_mask_t *pFeatureMask); 7803d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel inline bool isUbiFocusEnabled() {return m_bAFBracketingOn && !m_bReFocusOn;}; 7813d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel inline bool isChromaFlashEnabled() {return m_bChromaFlashOn;}; 7823d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel inline bool isHighQualityNoiseReductionMode() {return m_bHighQualityNoiseReductionMode;}; 7833d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel inline bool isTruePortraitEnabled() {return m_bTruePortraitOn;}; 7843d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel inline size_t getTPMaxMetaSize() { 7853d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel return m_pCapability->true_portrait_settings_need.meta_max_size;}; 7863d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel inline bool isSeeMoreEnabled() {return m_bSeeMoreOn;}; 7873d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel inline bool isStillMoreEnabled() {return m_bStillMoreOn;}; 7883d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isOptiZoomEnabled(); 7893d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 7903d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t commitAFBracket(cam_af_bracketing_t afBracket); 7913d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t set3ALock(bool lock3A); 7923d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setAndCommitZoom(int zoom_level); 7933d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint8_t getBurstCountForAdvancedCapture(); 7943d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint32_t getNumberInBufsForSingleShot(); 7953d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint32_t getNumberOutBufsForSingleShot(); 7963d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setLongshotEnable(bool enable); 7973d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel String8 dump(); 7983d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel inline bool isUbiRefocus() {return m_bReFocusOn && 7993d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel (m_pCapability->refocus_af_bracketing_need.output_count > 1);}; 8003d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel inline uint32_t getRefocusMaxMetaSize() { 8013d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel return m_pCapability->refocus_af_bracketing_need.meta_max_size;}; 8023d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel inline uint8_t getRefocusOutputCount() { 8033d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel return m_pCapability->refocus_af_bracketing_need.output_count;}; 8043d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel inline bool generateThumbFromMain() {return isUbiFocusEnabled() || 8053d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel isChromaFlashEnabled() || isOptiZoomEnabled() || isUbiRefocus() 8063d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel || isHDREnabled() || isStillMoreEnabled() || isTruePortraitEnabled(); } 8073d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel void updateCurrentFocusPosition(cam_focus_pos_info_t &cur_pos_info); 8083d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel void updateAEInfo(cam_3a_params_t &ae_params); 8093d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isAdvCamFeaturesEnabled() {return isUbiFocusEnabled() || 8103d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel isChromaFlashEnabled() || m_bOptiZoomOn || isHDREnabled() || 8113d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel isAEBracketEnabled() || isStillMoreEnabled() || isUbiRefocus();} 8123d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setAecLock(const char *aecStr); 8133d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t updateDebugLevel(); 8143d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool is4k2kVideoResolution(); 8153d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isUBWCEnabled(); 8163d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 8173d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int getBrightness(); 8183d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t updateOisValue(bool oisValue); 8193d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setIntEvent(cam_int_evt_params_t params); 8203d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool getofflineRAW() {return mOfflineRAW;} 8219e74aae7331f3227542b3e646a0dd658d3467a31Thierry Strudel bool getQuadraCfa(); 8223d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t updatePpFeatureMask(cam_stream_type_t stream_type); 8233d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getStreamPpMask(cam_stream_type_t stream_type, cam_feature_mask_t &pp_mask); 8243d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getSharpness() {return m_nSharpness;}; 8253d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getEffect() {return mParmEffect;}; 8263d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t updateFlashMode(cam_flash_mode_t flash_mode); 8273d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t configureAEBracketing(cam_capture_frame_config_t &frame_config); 8283d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t configureHDRBracketing(cam_capture_frame_config_t &frame_config); 8293d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t configFrameCapture(bool commitSettings); 83004e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel int32_t resetFrameCapture(bool commitSettings, bool lowLightEnabled); 8313d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_still_more_t getStillMoreSettings() {return m_stillmore_config;}; 8323d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel void setStillMoreSettings(cam_still_more_t stillmore_config) 8333d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel {m_stillmore_config = stillmore_config;}; 8343d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_still_more_t getStillMoreCapability() 8353d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel {return m_pCapability->stillmore_settings_need;}; 8363d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_dyn_img_data_t getDynamicImgData() { return m_DynamicImgData; } 8373d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel void setDynamicImgData(cam_dyn_img_data_t d) { m_DynamicImgData = d; } 8383d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 8393d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getParmZoomLevel(){return mParmZoomLevel;}; 8403d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int8_t getReprocCount(){return mTotalPPCount;}; 8413d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isMultiPassReprocessing(); 8423d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int8_t getCurPPCount(){return mCurPPCount;}; 8433d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel void setReprocCount(); 8443d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isPostProcScaling(); 8453d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isLLNoiseEnabled(); 8463d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel void setCurPPCount(int8_t count) {mCurPPCount = count;}; 84704e026fe14f98a83811cd3a2c04b60b3b501b80cThierry Strudel int32_t setQuadraCfaMode(uint32_t value, bool initCommit); 8483d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setToneMapMode(uint32_t value, bool initCommit); 8493d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel void setTintless(bool enable); 8503d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint8_t getLongshotStages(); 8513d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int8_t getBufBatchCount() {return mBufBatchCnt;}; 8523d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int8_t getVideoBatchSize() {return mVideoBatchSize;}; 8533d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 8543d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setManualCaptureMode( 8553d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCameraManualCaptureModes value = CAM_MANUAL_CAPTURE_TYPE_OFF); 8563d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCameraManualCaptureModes getManualCaptureMode() 8573d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel {return m_ManualCaptureMode;}; 8583d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int64_t getExposureTime() {return m_expTime;}; 8593d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 8603d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_capture_frame_config_t getCaptureFrameConfig() 8613d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel { return m_captureFrameConfig; }; 8623d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel void setJpegRotation(int rotation); 8633d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint32_t getJpegRotation() { return mJpegRotation;}; 8643d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 8653d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel void setLowLightLevel(cam_low_light_mode_t value) 8663d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel { m_LowLightLevel = value; }; 8673d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_low_light_mode_t getLowLightLevel() {return m_LowLightLevel;}; 8683d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool getLowLightCapture() { return m_LLCaptureEnabled; }; 8693d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 8703d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel /* Dual camera specific */ 871295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel int32_t sendDualCamCmd(cam_dual_camera_cmd_type type, 872295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel uint8_t num_cam, void *info); 873295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel int32_t setDualCamBundleInfo(bool enable_sync, 874295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel uint8_t bundle_cam_idx); 8753d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool getDcrf() { return m_bDcrfEnabled; } 8763d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setRelatedCamSyncInfo( 8773d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_sync_related_sensors_event_info_t* info); 8783d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel const cam_sync_related_sensors_event_info_t* 8793d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel getRelatedCamSyncInfo(void); 8803d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setFrameSyncEnabled(bool enable); 8813d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isFrameSyncEnabled(void); 8823d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getRelatedCamCalibration( 8833d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_related_system_calibration_data_t* calib); 884295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel int32_t bundleRelatedCameras(bool sync); 8853d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint8_t fdModeInVideo(); 8863d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isOEMFeatEnabled() { return m_bOEMFeatEnabled; } 8879ec39c64004dda78086849a21087cb217d0bf6acThierry Strudel uint8_t isOEMFeatFrameSkipEnabled(); 8883d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 8893d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setZslMode(bool value); 8903d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t updateZSLModeValue(bool value); 8913d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 8923d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isReprocScaleEnabled(); 8933d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isUnderReprocScaling(); 8943d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getPicSizeFromAPK(int &width, int &height); 8953d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 8963d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t checkFeatureConcurrency(); 8973d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setInstantAEC(uint8_t enable, bool initCommit); 8983d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 8993d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getAnalysisInfo( 9003d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool fdVideoEnabled, 9013d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_feature_mask_t featureMask, 9023d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_analysis_info_t *pAnalysisInfo); 9039e74aae7331f3227542b3e646a0dd658d3467a31Thierry Strudel 9049e74aae7331f3227542b3e646a0dd658d3467a31Thierry Strudel int32_t getMetaRawInfo(); 9059e74aae7331f3227542b3e646a0dd658d3467a31Thierry Strudel bool sendStreamConfigForPickRes(cam_stream_size_info_t &stream_config_info); 9069e74aae7331f3227542b3e646a0dd658d3467a31Thierry Strudel int32_t updateDtVc(int32_t *dt, int32_t *vc); 9072896d129511c499aef15b8162df05fa299860f59Thierry Strudel bool isLinkPreviewForLiveShot(); 9089e74aae7331f3227542b3e646a0dd658d3467a31Thierry Strudel 909cca4d9c3be40fe18502f3237f7993b41175ef3a7Thierry Strudel int32_t SetDualCamera(bool value); 910cca4d9c3be40fe18502f3237f7993b41175ef3a7Thierry Strudel bool isDualCamera() {return m_bDualCamera;}; 911295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel int32_t setCameraControls(int32_t controls); 9122896d129511c499aef15b8162df05fa299860f59Thierry Strudel cam_dual_camera_perf_mode_t getLowPowerMode(cam_sync_type_t cam); 9132896d129511c499aef15b8162df05fa299860f59Thierry Strudel int32_t setSwitchCamera(uint32_t camMaster); 9149ec39c64004dda78086849a21087cb217d0bf6acThierry Strudel int32_t setDeferCamera(cam_dual_camera_defer_cmd_t type); 91554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel void setBundledSnapshot(bool value) { mbundledSnapshot = value; } 9169ec39c64004dda78086849a21087cb217d0bf6acThierry Strudel int32_t getDualLedCalibration() {return m_dualLedCalibration;}; 9172896d129511c499aef15b8162df05fa299860f59Thierry Strudel bool isDCmAsymmetricSnapMode (){return mAsymmetricSnapMode;}; 9183d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudelprivate: 9193d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setPreviewSize(const QCameraParameters& ); 9203d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setVideoSize(const QCameraParameters& ); 9213d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setPictureSize(const QCameraParameters& ); 9223d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setLiveSnapshotSize(const QCameraParameters& ); 9233d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setPreviewFormat(const QCameraParameters& ); 9243d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setPictureFormat(const QCameraParameters& ); 9253d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setOrientation(const QCameraParameters& ); 9263d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setJpegThumbnailSize(const QCameraParameters& ); 9273d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setJpegQuality(const QCameraParameters& ); 9283d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setPreviewFpsRange(const QCameraParameters& ); 9293d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setPreviewFrameRate(const QCameraParameters& ); 9303d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setAutoExposure(const QCameraParameters& ); 9313d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setEffect(const QCameraParameters& ); 9323d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setBrightness(const QCameraParameters& ); 9333d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setFocusMode(const QCameraParameters& ); 9343d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setFocusPosition(const QCameraParameters& ); 9353d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setSharpness(const QCameraParameters& ); 9363d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setSaturation(const QCameraParameters& ); 9373d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setContrast(const QCameraParameters& ); 9383d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setSkinToneEnhancement(const QCameraParameters& ); 9393d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setSceneDetect(const QCameraParameters& ); 9403d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setVideoHDR(const QCameraParameters& ); 9413d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setVtEnable(const QCameraParameters& ); 9423d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setZoom(const QCameraParameters& ); 9433d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setISOValue(const QCameraParameters& ); 9443d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setContinuousISO(const QCameraParameters& ); 9453d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setExposureTime(const QCameraParameters& ); 9463d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setRotation(const QCameraParameters& ); 9473d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setVideoRotation(const QCameraParameters& ); 9483d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setFlash(const QCameraParameters& ); 9493d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setAecLock(const QCameraParameters& ); 9503d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setAwbLock(const QCameraParameters& ); 9513d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setMCEValue(const QCameraParameters& ); 9523d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setDISValue(const QCameraParameters& params); 9533d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setLensShadeValue(const QCameraParameters& ); 9543d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setExposureCompensation(const QCameraParameters& ); 9553d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setWhiteBalance(const QCameraParameters& ); 9563d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setManualWhiteBalance(const QCameraParameters& ); 9573d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setAntibanding(const QCameraParameters& ); 9583d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setFocusAreas(const QCameraParameters& ); 9593d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setMeteringAreas(const QCameraParameters& ); 9603d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setSceneMode(const QCameraParameters& ); 9613d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setSelectableZoneAf(const QCameraParameters& ); 9623d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setAEBracket(const QCameraParameters& ); 9633d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setAFBracket(const QCameraParameters& ); 9643d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setReFocus(const QCameraParameters& ); 9653d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setChromaFlash(const QCameraParameters& ); 9663d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setOptiZoom(const QCameraParameters& ); 9673d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setHDRMode(const QCameraParameters& ); 9683d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setHDRNeed1x(const QCameraParameters& ); 9693d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setTruePortrait(const QCameraParameters& ); 9703d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setSeeMore(const QCameraParameters& ); 9713d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setStillMore(const QCameraParameters& ); 9729e74aae7331f3227542b3e646a0dd658d3467a31Thierry Strudel#ifdef TARGET_TS_MAKEUP 9739e74aae7331f3227542b3e646a0dd658d3467a31Thierry Strudel int32_t setTsMakeup(const QCameraParameters& ); 9749e74aae7331f3227542b3e646a0dd658d3467a31Thierry Strudel#endif 9753d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setNoiseReductionMode(const QCameraParameters& ); 9763d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setRedeyeReduction(const QCameraParameters& ); 9773d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setGpsLocation(const QCameraParameters& ); 9783d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setRecordingHint(const QCameraParameters& ); 9793d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setNoDisplayMode(const QCameraParameters& ); 9803d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setWaveletDenoise(const QCameraParameters& ); 9813d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setTemporalDenoise(const QCameraParameters&); 9823d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setZslMode(const QCameraParameters& ); 9833d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setZslAttributes(const QCameraParameters& ); 9843d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setAutoHDR(const QCameraParameters& params); 9853d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setCameraMode(const QCameraParameters& ); 9863d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setSceneSelectionMode(const QCameraParameters& params); 9873d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setFaceRecognition(const QCameraParameters& ); 9883d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setFlip(const QCameraParameters& ); 9893d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setRetroActiveBurstNum(const QCameraParameters& params); 9903d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setBurstLEDOnPeriod(const QCameraParameters& params); 9913d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setSnapshotFDReq(const QCameraParameters& ); 9923d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setStatsDebugMask(); 9933d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setPAAF(); 9943d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setTintlessValue(const QCameraParameters& params); 9953d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setCDSMode(const QCameraParameters& params); 9963d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setInitialExposureIndex(const QCameraParameters& params); 9973d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setInstantCapture(const QCameraParameters& params); 9983d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setInstantAEC(const QCameraParameters& params); 9993d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setMobicat(const QCameraParameters& params); 10003d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setRdiMode(const QCameraParameters& ); 10013d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setSecureMode(const QCameraParameters& ); 10023d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setCacheVideoBuffers(const QCameraParameters& params); 10033d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setCustomParams(const QCameraParameters& params); 10043d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setAutoExposure(const char *autoExp); 10053d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setPreviewFpsRange(int min_fps,int max_fps, 10063d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int vid_min_fps,int vid_max_fps); 10073d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setEffect(const char *effect); 10083d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setBrightness(int brightness); 10093d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setFocusMode(const char *focusMode); 10103d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setFocusPosition(const char *typeStr, const char *posStr); 10113d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setSharpness(int sharpness); 10123d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setSaturation(int saturation); 10133d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setContrast(int contrast); 10143d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setSkinToneEnhancement(int sceFactor); 10153d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setSceneDetect(const char *scendDetect); 10163d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setVideoHDR(const char *videoHDR); 10173d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setSensorSnapshotHDR(const char *snapshotHDR); 10183d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setVtEnable(const char *vtEnable); 10193d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setZoom(int zoom_level); 10203d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setISOValue(const char *isoValue); 10213d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setContinuousISO(const char *isoValue); 10223d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setExposureTime(const char *expTimeStr); 10233d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setFlash(const char *flashStr); 10243d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setAwbLock(const char *awbStr); 10253d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setMCEValue(const char *mceStr); 10263d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setDISValue(const char *disStr); 10273d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setHighFrameRate(const int32_t hfrMode); 10283d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setLensShadeValue(const char *lensShadeStr); 10293d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setExposureCompensation(int expComp); 10303d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setWhiteBalance(const char *wbStr); 10313d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setWBManualCCT(const char *cctStr); 10323d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setManualWBGains(const char *gainStr); 10333d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setAntibanding(const char *antiBandingStr); 10343d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setFocusAreas(const char *focusAreasStr); 10353d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setMeteringAreas(const char *meteringAreasStr); 10363d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setSceneMode(const char *sceneModeStr); 10373d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setSelectableZoneAf(const char *selZoneAFStr); 10383d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setAEBracket(const char *aecBracketStr); 10393d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setAFBracket(const char *afBracketStr); 10403d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setReFocus(const char *reFocusStr); 10413d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setChromaFlash(const char *chromaFlashStr); 10423d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setOptiZoom(const char *optiZoomStr); 10433d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setHDRMode(const char *optiZoomStr); 10443d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setHDRNeed1x(const char *optiZoomStr); 10453d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setTruePortrait(const char *truePortraitStr); 10463d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setSeeMore(const char *SeeMoreStr); 10473d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setStillMore(const char *StillMoreStr); 10483d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setNoiseReductionMode(const char *noiseReductionModeStr); 10493d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setRedeyeReduction(const char *redeyeStr); 10503d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setWaveletDenoise(const char *wnrStr); 10513d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setFaceRecognition(const char *faceRecog, uint32_t maxFaces); 10523d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setTintlessValue(const char *tintStr); 10533d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool UpdateHFRFrameRate(const QCameraParameters& params); 10543d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setRdiMode(const char *str); 10553d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setSecureMode(const char *str); 10563d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setLongshotParam(const QCameraParameters& params); 10573d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t parseGains(const char *gainStr, double &r_gain, 10583d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel double &g_gain, double &b_gain); 10593d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setCacheVideoBuffers(const char *cacheVideoBufStr); 10603d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setCDSMode(int32_t cds_mode, bool initCommit); 10613d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setEztune(); 10623d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel void setLowLightCapture(); 10633d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int setRecordingHintValue(int32_t value); // set local copy of video hint and send to server 10643d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // no change in parameters value 10653d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t updateFlash(bool commitSettings); 10663d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setRawSize(cam_dimension_t &dim); 10673d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setMaxPicSize(cam_dimension_t &dim) { m_maxPicSize = dim; return NO_ERROR; }; 10683d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel void setBufBatchCount(int8_t buf_cnt); 10693d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel void setVideoBatchSize(); 10703d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel void setDcrf(); 10713d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setStreamPpMask(cam_stream_type_t stream_type, cam_feature_mask_t pp_mask); 10723d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel void setOfflineRAW(bool value = 0); 10739e74aae7331f3227542b3e646a0dd658d3467a31Thierry Strudel int32_t setQuadraCfa(const QCameraParameters& params); 10743d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t configureFlash(cam_capture_frame_config_t &frame_config); 10753d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t configureLowLight(cam_capture_frame_config_t &frame_config); 10763d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t configureManualCapture(cam_capture_frame_config_t &frame_config); 10773d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 10783d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isTNRPreviewEnabled() {return m_bTNRPreviewOn;}; 10793d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isTNRVideoEnabled() {return m_bTNRVideoOn;}; 10803d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool getFaceDetectionOption() { return m_bFaceDetectionOn;} 10813d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel void getLiveSnapshotSize(cam_dimension_t &dim); 10823d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getRawSize(cam_dimension_t &dim) {dim = m_rawSize; return NO_ERROR;}; 10833d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int getAutoFlickerMode(); 10843d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool sendStreamConfigInfo(cam_stream_size_info_t &stream_config_info); 10853d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel inline bool isLowMemoryDevice() {return m_bIsLowMemoryDevice;}; 10863d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isPreviewSeeMoreRequired(); 10873d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool isEztuneEnabled() { return m_bEztuneEnabled; }; 10883d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getZoomLevel(){return mZoomLevel;}; 10893d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t parse_pair(const char *str, int *first, int *second, 10903d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel char delim, char **endptr); 10913d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel void parseSizesList(const char *sizesStr, Vector<Size> &sizes); 10923d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t parseNDimVector(const char *str, int *num, int N, char delim); 10933d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t parseCameraAreaString(const char *str, int max_num_areas, 10943d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_area_t *pAreas, int& num_areas_found); 10953d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool validateCameraAreas(cam_area_t *areas, int num_areas); 10963d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int parseGPSCoordinate(const char *coord_str, rat_t *coord); 10973d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t getRational(rat_t *rat, int num, int denom); 10983d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel String8 createSizesString(const cam_dimension_t *sizes, size_t len); 10993d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel String8 createHfrValuesString(const cam_hfr_info_t *values, size_t len, 11003d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel const QCameraMap<cam_hfr_mode_t> *map, size_t map_len); 11013d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel String8 createHfrSizesString(const cam_hfr_info_t *values, size_t len); 11023d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel String8 createFpsRangeString(const cam_fps_range_t *fps, 11033d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel size_t len, int &default_fps_index); 11043d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel String8 createFpsString(cam_fps_range_t &fps); 11053d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel String8 createZoomRatioValuesString(uint32_t *zoomRatios, size_t length); 11063d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setDualLedCalibration(const QCameraParameters& params); 11079ec39c64004dda78086849a21087cb217d0bf6acThierry Strudel int32_t setDualLedCalibration(const char *str); 11083d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t setAdvancedCaptureMode(); 11093d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 11103d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // ops for batch set/get params with server 1111cca4d9c3be40fe18502f3237f7993b41175ef3a7Thierry Strudel int32_t initBatchUpdate(); 11123d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t commitSetBatch(); 11133d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t commitGetBatch(); 1114cca4d9c3be40fe18502f3237f7993b41175ef3a7Thierry Strudel int32_t commitSetBatchAux(); 1115cca4d9c3be40fe18502f3237f7993b41175ef3a7Thierry Strudel int32_t commitGetBatchAux(); 1116c2ee3304e16253ceab19f9be91c5da84233940f3Thierry Strudel void setAuxParameters(); 1117cca4d9c3be40fe18502f3237f7993b41175ef3a7Thierry Strudel 11183d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // ops to tempororily update parameter entries and commit 11193d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t updateParamEntry(const char *key, const char *value); 11203d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t commitParamChanges(); 11213d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel void updateViewAngles(); 11223d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 112354dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel //Update Frame Number for super parameter 112454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel int32_t updateFrameNumber(); 112554dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel int32_t SyncDCParams(); 112654dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel void setSyncDCParams(); 11272896d129511c499aef15b8162df05fa299860f59Thierry Strudel void setAsymmetricSnapMode(); 112854dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel 11293d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Map from strings to values 11303d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const cam_dimension_t THUMBNAIL_SIZES_MAP[]; 11313d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<cam_auto_exposure_mode_type> AUTO_EXPOSURE_MAP[]; 11323d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<cam_aec_convergence_type> INSTANT_CAPTURE_MODES_MAP[]; 11333d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<cam_aec_convergence_type> INSTANT_AEC_MODES_MAP[]; 11343d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<cam_format_t> PREVIEW_FORMATS_MAP[]; 11353d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<cam_format_t> PICTURE_TYPES_MAP[]; 11363d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<cam_focus_mode_type> FOCUS_MODES_MAP[]; 11373d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<cam_effect_mode_type> EFFECT_MODES_MAP[]; 11383d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<cam_scene_mode_type> SCENE_MODES_MAP[]; 11393d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<cam_flash_mode_t> FLASH_MODES_MAP[]; 11403d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<cam_focus_algorithm_type> FOCUS_ALGO_MAP[]; 11413d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<cam_wb_mode_type> WHITE_BALANCE_MODES_MAP[]; 11423d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<cam_antibanding_mode_type> ANTIBANDING_MODES_MAP[]; 11433d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<cam_iso_mode_type> ISO_MODES_MAP[]; 11443d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<cam_hfr_mode_t> HFR_MODES_MAP[]; 11453d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<cam_bracket_mode> BRACKETING_MODES_MAP[]; 11463d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<int> ON_OFF_MODES_MAP[]; 11473d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<int> ENABLE_DISABLE_MODES_MAP[]; 11483d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<int> DENOISE_ON_OFF_MODES_MAP[]; 11493d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<int> TRUE_FALSE_MODES_MAP[]; 11503d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<int> TOUCH_AF_AEC_MODES_MAP[]; 11513d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<cam_flip_t> FLIP_MODES_MAP[]; 11523d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<int> AF_BRACKETING_MODES_MAP[]; 11533d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<int> RE_FOCUS_MODES_MAP[]; 11543d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<int> CHROMA_FLASH_MODES_MAP[]; 11553d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<int> OPTI_ZOOM_MODES_MAP[]; 11563d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<int> TRUE_PORTRAIT_MODES_MAP[]; 11573d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<cam_cds_mode_type_t> CDS_MODES_MAP[]; 11583d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<int> HDR_MODES_MAP[]; 11593d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<int> VIDEO_ROTATION_MODES_MAP[]; 11603d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<int> SEE_MORE_MODES_MAP[]; 11613d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<int> STILL_MORE_MODES_MAP[]; 11623d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel static const QCameraMap<int> NOISE_REDUCTION_MODES_MAP[]; 11639ec39c64004dda78086849a21087cb217d0bf6acThierry Strudel static const QCameraMap<int> METADATA_TYPES_MAP[]; 11643d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 1165295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel /*Common for all objects*/ 1166295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel static uint32_t sessionId[MM_CAMERA_MAX_NUM_SENSORS]; 1167295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel 11683d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCameraReprocScaleParam m_reprocScaleParam; 11693d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCameraCommon mCommon; 11703d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 11713d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_capability_t *m_pCapability; 11723d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel mm_camera_vtbl_t *m_pCamOpsTbl; 11733d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCameraHeapMemory *m_pParamHeap; 11743d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel parm_buffer_t *m_pParamBuf; // ptr to param buf in m_pParamHeap 1175cca4d9c3be40fe18502f3237f7993b41175ef3a7Thierry Strudel parm_buffer_t *m_pParamBufAux; // ptr to Aux param buf in m_pParamHeap 1176c2ee3304e16253ceab19f9be91c5da84233940f3Thierry Strudel QCameraFOVControl *m_pFovControl; 11773d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel /* heap for mapping dual cam event info */ 1178295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel QCameraHeapMemory *m_pDualCamCmdHeap; 1179295a0ca3b68291081f46052e545d5b0dec308710Thierry Strudel cam_dual_camera_cmd_info_t *m_pDualCamCmdPtr[MM_CAMERA_MAX_CAM_CNT]; 11803d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_sync_related_sensors_event_info_t m_relCamSyncInfo; 11813d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bFrameSyncEnabled; 11829e74aae7331f3227542b3e646a0dd658d3467a31Thierry Strudel cam_is_type_t mIsTypeVideo; 11833d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_is_type_t mIsTypePreview; 11843d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 11853d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bZslMode; // if ZSL is enabled 11863d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bZslMode_new; 11873d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bForceZslMode; 11883d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bRecordingHint; // local copy of recording hint 11893d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bRecordingHint_new; 11903d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bHistogramEnabled; // if histogram is enabled 11913d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bLongshotEnabled; // if longshot is enabled 11923d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint32_t m_nFaceProcMask; // face process mask 11933d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bFaceDetectionOn; // if face Detection turned on by user 11943d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bDebugFps; // if FPS need to be logged 11953d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_focus_mode_type mFocusMode; 11963d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_format_t mPreviewFormat; 11973d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_format_t mAppPreviewFormat; 11983d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t mPictureFormat; // could be CAMERA_PICTURE_TYPE_JPEG or cam_format_t 11993d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bNeedRestart; // if preview needs restart after parameters updated 12003d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bNoDisplayMode; 12013d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bWNROn; 12023d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bTNRPreviewOn; 12033d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bTNRVideoOn; 12043d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bTNRSnapshotOn; 12053d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bInited; 12063d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int m_nRetroBurstNum; 12073d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int m_nBurstLEDOnPeriod; 12083d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_exp_bracketing_t m_AEBracketingClient; 12093d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bUpdateEffects; // Cause reapplying of effects 12103d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bSceneTransitionAuto; // Indicate that scene has changed to Auto 12113d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bPreviewFlipChanged; // if flip setting for preview changed 12123d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bVideoFlipChanged; // if flip setting for video changed 12133d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bSnapshotFlipChanged; // if flip setting for snapshot changed 121454dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel bool m_bZoomChanged; // if zoom value changed 12153d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bFixedFrameRateSet; // Indicates that a fixed frame rate is set 12163d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel qcamera_thermal_mode m_ThermalMode; // adjust fps vs adjust frameskip 12173d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_dimension_t m_LiveSnapshotSize; // live snapshot size 12189e74aae7331f3227542b3e646a0dd658d3467a31Thierry Strudel cam_dimension_t m_rawSize; // Raw size 12193d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_dimension_t m_maxPicSize; 12203d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bHDREnabled; // if HDR is enabled 12213d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bLocalHDREnabled; // This flag tells whether HDR enabled or not regarless of APP mode 12223d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bAVTimerEnabled; //if AVTimer is enabled 12233d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bDISEnabled; 12243d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bOISEnabled; 12253d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_still_more_t m_stillmore_config; 12269e74aae7331f3227542b3e646a0dd658d3467a31Thierry Strudel bool m_bMetaRawEnabled; 12273d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 12283d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint8_t m_MobiMask; 12293d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCameraAdjustFPS *m_AdjustFPS; 12303d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bHDR1xFrameEnabled; // if frame with exposure compensation 0 during HDR is enabled 12313d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_HDRSceneEnabled; // Auto HDR indication 12323d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bHDRThumbnailProcessNeeded; // if thumbnail need to be processed for HDR 12333d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bHDR1xExtraBufferNeeded; // if extra frame with exposure compensation 0 during HDR is needed 12343d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bHDROutputCropEnabled; // if HDR output frame need to be scaled to user resolution 12353d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel DefaultKeyedVector<String8,String8> m_tempMap; // map for temororily store parameters to be set 12363d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_fps_range_t m_default_fps_range; 12373d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bAFBracketingOn; 12383d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bReFocusOn; 12393d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bChromaFlashOn; 12403d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bOptiZoomOn; 12413d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bSceneSelection; 12423d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel Mutex m_SceneSelectLock; 12433d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_scene_mode_type m_SelectedScene; 12443d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bSeeMoreOn; 12453d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bStillMoreOn; 12463d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bHighQualityNoiseReductionMode; 12473d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_fps_range_t m_hfrFpsRange; 12483d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bHfrMode; 12493d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bSensorHDREnabled; // if HDR is enabled 12503d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bRdiMode; // if RDI mode 12513d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bSecureMode; 12523d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bAeBracketingEnabled; 12533d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t mFlashValue; 12543d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t mFlashDaemonValue; 12553d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t mHfrMode; 12563d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bHDRModeSensor; 12573d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool mOfflineRAW; 12583d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bTruePortraitOn; 12593d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_feature_mask_t m_nMinRequiredPpMask; 12603d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_feature_mask_t mStreamPpMask[CAM_STREAM_TYPE_MAX]; 12613d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t m_nSharpness; 12623d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int8_t mTotalPPCount; 12633d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int8_t mCurPPCount; 12643d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t mZoomLevel; 12653d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t mParmZoomLevel; 12663d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bIsLowMemoryDevice; 12673d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t mCds_mode; 12683d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t mParmEffect; 12693d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_capture_frame_config_t m_captureFrameConfig; 12703d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int8_t mBufBatchCnt; 12713d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bEztuneEnabled; 12723d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bDcrfEnabled; 12733d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint32_t mRotation; 12743d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint32_t mJpegRotation; 12753d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int8_t mVideoBatchSize; 12763d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_LLCaptureEnabled; 12773d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_low_light_mode_t m_LowLightLevel; 12783d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bLtmForSeeMoreEnabled; 12793d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int64_t m_expTime; 12803d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bOEMFeatEnabled; 12813d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t m_isoValue; 12823d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel QCameraManualCaptureModes m_ManualCaptureMode; 12833d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel cam_dyn_img_data_t m_DynamicImgData; 12843d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel int32_t m_dualLedCalibration; 12853d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Param to trigger instant AEC. 12863d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bInstantAEC; 12873d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Param to trigger instant capture. 12883d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel bool m_bInstantCapture; 12893d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Number of frames, camera interface will wait for getting the instant capture frame. 12903d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint8_t mAecFrameBound; 12913d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel // Number of preview frames, that HAL will hold without displaying, for instant AEC mode. 12923d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel uint8_t mAecSkipDisplayFrameBound; 12939e74aae7331f3227542b3e646a0dd658d3467a31Thierry Strudel bool m_bQuadraCfa; 1294cca4d9c3be40fe18502f3237f7993b41175ef3a7Thierry Strudel bool m_bDualCamera; 12952896d129511c499aef15b8162df05fa299860f59Thierry Strudel uint32_t mActiveCameras; 12962896d129511c499aef15b8162df05fa299860f59Thierry Strudel uint32_t mMasterCamera; 12979ec39c64004dda78086849a21087cb217d0bf6acThierry Strudel bool m_bSmallJpegSize; 12989ec39c64004dda78086849a21087cb217d0bf6acThierry Strudel cam_stream_type_t mSecureStraemType; 129954dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel //Frame number for super parameter 130054dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel uint32_t mFrameNumber; 130154dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel uint32_t mSyncDCParam; 130254dc9783295b20e33ec11e132d98a1b8efbf254cThierry Strudel bool mbundledSnapshot; 13032896d129511c499aef15b8162df05fa299860f59Thierry Strudel bool mAsymmetricSnapMode; 13043d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel}; 13053d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 13063d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel}; // namespace qcamera 13073d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel 13083d63919a23d7e7954e160c48c36713267106c3c2Thierry Strudel#endif 1309