• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023-2025 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef OHOS_CAMERA_DPS_BASIC_DEFINITIONS_H
17 #define OHOS_CAMERA_DPS_BASIC_DEFINITIONS_H
18 
19 #include <cstdint>
20 
21 #include "ideferred_photo_processing_session_callback.h"
22 #include "v1_4/types.h"
23 
24 namespace OHOS {
25 namespace CameraStandard {
26 namespace DeferredProcessing {
27 constexpr int32_t DEFAULT_COUNT = 0;
28 constexpr int64_t DEFAULT_OFFSET = 0;
29 constexpr uint32_t INVALID_TIMERID = 0;
30 constexpr uint32_t DEFAULT_TRAILING_TIME = 0;
31 constexpr int32_t TOTAL_PROCESS_TIME = 10 * 60 * 1000;
32 constexpr int32_t ONCE_PROCESS_TIME = 5 * 60 * 1000;
33 constexpr uint32_t DELAY_TIME = 1000;
34 constexpr int32_t INVALID_TRACK_ID = -1;
35 const std::string PATH = "/data/service/el1/public/camera_service/";
36 const std::string TEMP_TAG = "_vid_temp";
37 const std::string OUT_TAG = "_vid";
38 
39 enum EventType : int32_t {
40     CAMERA_SESSION_STATUS_EVENT = 1,
41     PHOTO_HDI_STATUS_EVENT,
42     VIDEO_HDI_STATUS_EVENT,
43     MEDIA_LIBRARY_STATUS_EVENT,
44     SCREEN_STATUS_EVENT,
45     CHARGING_STATUS_EVENT,
46     BATTERY_STATUS_EVENT,
47     BATTERY_LEVEL_STATUS_EVENT,
48     THERMAL_LEVEL_STATUS_EVENT,
49     PHOTO_PROCESS_STATUS_EVENT,
50     TRAILING_STATUS_EVENT,
51     USER_INITIATED_EVENT,
52     AVAILABLE_CONCURRENT_EVENT,
53 };
54 
55 enum CameraSessionStatus : int32_t {
56     SYSTEM_CAMERA_OPEN = 0,
57     NORMAL_CAMERA_OPEN,
58     SYSTEM_CAMERA_CLOSED,
59     NORMAL_CAMERA_CLOSED
60 };
61 
62 enum HdiStatus : int32_t {
63     HDI_DISCONNECTED = 0,
64     HDI_READY,
65     HDI_READY_SPACE_LIMIT_REACHED,
66     HDI_NOT_READY_PREEMPTED,
67     HDI_NOT_READY_OVERHEAT,
68     HDI_NOT_READY_TEMPORARILY
69 };
70 
71 enum MediaLibraryStatus : int32_t {
72     MEDIA_LIBRARY_DISCONNECTED = 0,
73     MEDIA_LIBRARY_AVAILABLE,
74 };
75 
76 enum ScreenStatus : int32_t {
77     SCREEN_ON = 0,
78     SCREEN_OFF,
79 };
80 
81 enum ChargingStatus : int32_t {
82     DISCHARGING = 0,
83     CHARGING,
84 };
85 
86 enum BatteryStatus : int32_t {
87     BATTERY_LOW = 0,
88     BATTERY_OKAY,
89 };
90 
91 enum BatteryLevel : int32_t {
92     BATTERY_LEVEL_LOW = 0, // <= 50
93     BATTERY_LEVEL_OKAY,
94 };
95 
96 enum PhotoProcessStatus : int32_t {
97     BUSY = 0, // > 0
98     IDLE,
99 };
100 
101 enum ThermalLevel : int32_t {
102     LEVEL_0 = 0,
103     LEVEL_1,
104     LEVEL_2,
105     LEVEL_3,
106     LEVEL_4,
107     LEVEL_5,
108     LEVEL_6,
109     LEVEL_7
110 };
111 
112 enum VideoThermalLevel : int8_t {
113     HOT = 0,
114     COOL
115 };
116 
117 enum SystemPressureLevel : int32_t {
118     NOMINAL = 0,
119     FAIR,
120     SEVERE
121 };
122 
123 enum TrailingStatus : int32_t {
124     CAMERA_ON_STOP_TRAILING = 0,
125     SYSTEM_CAMERA_OFF_START_TRAILING,
126     NORMAL_CAMERA_OFF_START_TRAILING
127 };
128 
129 enum TrigerMode : int32_t {
130     TRIGER_ACTIVE = 0,
131     TRIGER_PASSIVE = 1,
132 };
133 
134 enum ExceptionCause : int32_t {
135     HDI_SERVICE_DIED = 0,
136     HDI_JPEG_ERROR,
137     HDI_NOT_HANDLE,
138     HDI_TIMEOUT,
139     HDI_TEMPORARILY_UNAVAILABLE,
140     MEDIA_RECODER_EXCEPTION,
141     MEDIA_NOT_ADDIMAGE,
142     DEFPROCESS_INSUFFICIENT_RESOURCES,
143     DEFPROCESS_IMAGE_TIMEOUT,
144     DEFPROCESS_NOT_INIT,
145 };
146 
147 enum ExceptionSource: int32_t {
148     HDI_EXCEPTION = 0,
149     APP_EXCEPTION,
150     DEFPROCESS_EXCEPTION,
151 };
152 
153 enum DpsError : int32_t {
154     DPS_ERROR_UNKNOW = -1,
155     DPS_NO_ERROR = 0,
156     // session specific error code
157     DPS_ERROR_SESSION_SYNC_NEEDED = 1,
158     DPS_ERROR_SESSION_NOT_READY_TEMPORARILY = 2,
159 
160     // process error code
161     DPS_ERROR_IMAGE_PROC_INVALID_PHOTO_ID = 3,
162     DPS_ERROR_IMAGE_PROC_FAILED = 4,
163     DPS_ERROR_IMAGE_PROC_TIMEOUT = 5,
164     DPS_ERROR_IMAGE_PROC_HIGH_TEMPERATURE = 6,
165     DPS_ERROR_IMAGE_PROC_ABNORMAL = 7,
166     DPS_ERROR_IMAGE_PROC_INTERRUPTED = 8,
167 
168     DPS_ERROR_VIDEO_PROC_INVALID_VIDEO_ID = 9,
169     DPS_ERROR_VIDEO_PROC_FAILED = 10,
170     DPS_ERROR_VIDEO_PROC_TIMEOUT = 11,
171     DPS_ERROR_VIDEO_PROC_INTERRUPTED = 12,
172 };
173 
174 enum DpsStatus : int32_t {
175     DPS_SESSION_STATE_IDLE = 0,
176     DPS_SESSION_STATE_RUNNABLE,
177     DPS_SESSION_STATE_RUNNING,
178     DPS_SESSION_STATE_SUSPENDED,
179     DPS_SESSION_STATE_PREEMPTED
180 };
181 
182 enum SessionType : int32_t {
183     PHOTO_SESSION = 0,
184     VIDEO_SESSION
185 };
186 
187 enum ExecutionMode {
188     HIGH_PERFORMANCE = 0,
189     LOAD_BALANCE,
190     LOW_POWER,
191     DUMMY
192 };
193 
194 enum SchedulerType : int32_t {
195     REMOVE = -1,
196     PHOTO_TRAILING_STATE = 0,
197     PHOTO_CAMERA_STATE,
198     PHOTO_HAL_STATE,
199     PHOTO_MEDIA_LIBRARY_STATE,
200     PHOTO_THERMAL_LEVEL_STATE,
201     VIDEO_CAMERA_STATE,
202     VIDEO_HAL_STATE,
203     VIDEO_MEDIA_LIBRARY_STATE,
204     VIDEO_THERMAL_LEVEL_STATE,
205     SCREEN_STATE,
206     CHARGING_STATE,
207     BATTERY_STATE,
208     BATTERY_LEVEL_STATE,
209     PHOTO_PROCESS_STATE,
210     NORMAL_TIME_STATE
211 };
212 
213 enum MediaManagerError : int32_t {
214     ERROR_DEBUG_INFO = -2,
215     ERROR_FAIL = -1,
216     OK = 0,
217     EOS = 1,
218     RECOVER_EOS = 2,
219     PAUSE_RECEIVED = 3,
220     PAUSE_ABNORMAL = 4
221 };
222 
223 enum MediaResult : int32_t {
224     FAIL = -1,
225     SUCCESS = 0,
226     PAUSE = 1
227 };
228 
229 enum class CallbackType {
230     NONE = -1,
231     IMAGE_PROCESS_DONE = 0,
232     IMAGE_PROCESS_YUV_DONE,
233     IMAGE_ERROR,
234     ON_STATE_CHANGED,
235     VIDEO_PROCESS_DONE,
236     VIDEO_ERROR
237 };
238 
239 enum class JobState {
240     PENDING = 0,
241     FAILED,
242     RUNNING,
243     COMPLETED,
244     ERROR,
245     NONE
246 };
247 
248 enum class JobPriority {
249     LOW = 0,
250     NORMAL,
251     HIGH,
252     NONE
253 };
254 
255 enum class PhotoJobType {
256     BACKGROUND = 0,
257     OFFLINE
258 };
259 
260 ErrorCode MapDpsErrorCode(DpsError errorCode);
261 StatusCode MapDpsStatus(DpsStatus statusCode);
262 DpsError MapHdiError(HDI::Camera::V1_2::ErrorCode errorCode);
263 HdiStatus MapHdiStatus(HDI::Camera::V1_2::SessionStatus statusCode);
264 HDI::Camera::V1_2::ExecutionMode MapToHdiExecutionMode(ExecutionMode executionMode);
265 SystemPressureLevel ConvertPhotoThermalLevel(int32_t level);
266 VideoThermalLevel ConvertVideoThermalLevel(int32_t level);
267 } // namespace DeferredProcessing
268 } // namespace CameraStandard
269 } // namespace OHOS
270 #endif // OHOS_CAMERA_DPS_BASIC_DEFINITIONS_H
271