import exynos 7570 bsp
[GitHub/LineageOS/android_hardware_samsung_slsi_exynos.git] / libcamera_external / SecCameraParameters.cpp
1 /*
2 * Copyright 2008, The Android Open Source Project
3 * Copyright 2013, Samsung Electronics Co. LTD
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18 /*!
19 * \file SecCameraParameters.cpp
20 * \brief source file for Android Camera Ext HAL
21 * \author teahyung kim (tkon.kim@samsung.com)
22 * \date 2013/04/30
23 *
24 */
25
26 #define LOG_TAG "SecCameraParams"
27 #include <utils/Log.h>
28
29 #include <string.h>
30 #include <stdlib.h>
31 #include <camera/CameraParameters.h>
32
33 #include "SecCameraParameters.h"
34
35 namespace android {
36
37 /* Parameter keys to communicate between camera application and driver. */
38 const char SecCameraParameters::KEY_DTP_MODE[] = "chk_dataline";
39
40 const char SecCameraParameters::KEY_VT_MODE[] = "vtmode";
41 const char SecCameraParameters::KEY_MOVIE_MODE[] = "cam_mode";
42
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";
51
52
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";
58
59
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";
65
66 /* Values for focus mode settings. */
67 const char SecCameraParameters::FOCUS_MODE_FACEDETECT[] = "facedetect";
68
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";
79
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";
84
85 SecCameraParameters::SecCameraParameters()
86 {
87 }
88
89 SecCameraParameters::~SecCameraParameters()
90 {
91 }
92
93 int SecCameraParameters::lookupAttr(const cam_strmap_t arr[], int len, const char *name)
94 {
95 if (name) {
96 for (int i = 0; i < len; i++) {
97 if (!strcmp(arr[i].desc, name))
98 return arr[i].val;
99 }
100 }
101 return NOT_FOUND;
102 }
103
104 String8 SecCameraParameters::createSizesStr(const image_rect_type *sizes, int len)
105 {
106 String8 str;
107 char buffer[32];
108
109 if (len > 0) {
110 snprintf(buffer, sizeof(buffer), "%dx%d", sizes[0].width, sizes[0].height);
111 str.append(buffer);
112 }
113
114 for (int i = 1; i < len; i++) {
115 snprintf(buffer, sizeof(buffer), ",%dx%d", sizes[i].width, sizes[i].height);
116 str.append(buffer);
117 }
118 return str;
119 }
120
121 String8 SecCameraParameters::createValuesStr(const cam_strmap_t *values, int len)
122 {
123 String8 str;
124
125 if (len > 0)
126 str.append(values[0].desc);
127
128 for (int i=1; i<len; i++) {
129 str.append(",");
130 str.append(values[i].desc);
131 }
132 return str;
133 }
134
135 };