2 * Copyright 2008, The Android Open Source Project
3 * Copyright 2013, Samsung Electronics Co. LTD
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
19 * \file SecCameraParameters.cpp
20 * \brief source file for Android Camera Ext HAL
21 * \author teahyung kim (tkon.kim@samsung.com)
26 #define LOG_TAG "SecCameraParams"
27 #include <utils/Log.h>
31 #include <camera/CameraParameters.h>
33 #include "SecCameraParameters.h"
37 /* Parameter keys to communicate between camera application and driver. */
38 const char SecCameraParameters::KEY_DTP_MODE
[] = "chk_dataline";
40 const char SecCameraParameters::KEY_VT_MODE
[] = "vtmode";
41 const char SecCameraParameters::KEY_MOVIE_MODE
[] = "cam_mode";
43 const char SecCameraParameters::KEY_ISO
[] = "iso";
44 const char SecCameraParameters::KEY_METERING
[] = "metering";
45 const char SecCameraParameters::KEY_AUTO_CONTRAST
[] = "wdr";
46 const char SecCameraParameters::KEY_ANTI_SHAKE
[] = "anti-shake";
47 const char SecCameraParameters::KEY_FACE_BEAUTY
[] = "face_beauty";
48 const char SecCameraParameters::KEY_HDR_MODE
[] = "hdr-mode";
49 const char SecCameraParameters::KEY_BLUR
[] = "blur";
50 const char SecCameraParameters::KEY_ANTIBANDING
[] = "antibanding";
53 /* for Image Adjust */
54 const char SecCameraParameters::KEY_COLOR
[] = "color";
55 const char SecCameraParameters::KEY_CONTRAST
[] = "contrast";
56 const char SecCameraParameters::KEY_SHARPNESS
[] = "sharpness";
57 const char SecCameraParameters::KEY_SATURATION
[] = "saturation";
60 /* Values for scene mode settings. */
61 const char SecCameraParameters::SCENE_MODE_DUSK_DAWN
[] = "dusk-dawn";
62 const char SecCameraParameters::SCENE_MODE_FALL_COLOR
[] = "fall-color";
63 const char SecCameraParameters::SCENE_MODE_BACK_LIGHT
[] = "back-light";
64 const char SecCameraParameters::SCENE_MODE_TEXT
[] = "text";
66 /* Values for focus mode settings. */
67 const char SecCameraParameters::FOCUS_MODE_FACEDETECT
[] = "facedetect";
69 /* Values for iso settings. */
70 const char SecCameraParameters::ISO_AUTO
[] = "auto";
71 const char SecCameraParameters::ISO_50
[] = "50";
72 const char SecCameraParameters::ISO_100
[] = "100";
73 const char SecCameraParameters::ISO_200
[] = "200";
74 const char SecCameraParameters::ISO_400
[] = "400";
75 const char SecCameraParameters::ISO_800
[] = "800";
76 const char SecCameraParameters::ISO_1600
[] = "1600";
77 const char SecCameraParameters::ISO_SPORTS
[] = "sports";
78 const char SecCameraParameters::ISO_NIGHT
[] = "night";
80 /* Values for metering settings. */
81 const char SecCameraParameters::METERING_CENTER
[] = "center";
82 const char SecCameraParameters::METERING_MATRIX
[] = "matrix";
83 const char SecCameraParameters::METERING_SPOT
[] = "spot";
85 SecCameraParameters::SecCameraParameters()
89 SecCameraParameters::~SecCameraParameters()
93 int SecCameraParameters::lookupAttr(const cam_strmap_t arr
[], int len
, const char *name
)
96 for (int i
= 0; i
< len
; i
++) {
97 if (!strcmp(arr
[i
].desc
, name
))
104 String8
SecCameraParameters::createSizesStr(const image_rect_type
*sizes
, int len
)
110 snprintf(buffer
, sizeof(buffer
), "%dx%d", sizes
[0].width
, sizes
[0].height
);
114 for (int i
= 1; i
< len
; i
++) {
115 snprintf(buffer
, sizeof(buffer
), ",%dx%d", sizes
[i
].width
, sizes
[i
].height
);
121 String8
SecCameraParameters::createValuesStr(const cam_strmap_t
*values
, int len
)
126 str
.append(values
[0].desc
);
128 for (int i
=1; i
<len
; i
++) {
130 str
.append(values
[i
].desc
);