• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-2023 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_DISTRIBUTED_CAMERA_CONSTANTS_H
17 #define OHOS_DISTRIBUTED_CAMERA_CONSTANTS_H
18 
19 #include <cstdint>
20 #include <string>
21 #include <unistd.h>
22 
23 namespace OHOS {
24 namespace DistributedHardware {
25 typedef enum {
26     DCAMERA_SRV_STATE_NOT_START,
27     DCAMERA_SRV_STATE_RUNNING
28 } DCameraServiceState;
29 
30 typedef enum {
31     DCAMERA_AUTHORIZATION_DEFAULT = 0,
32     DCAMERA_AUTHORIZATION_AGREE = 1,
33     DCAMERA_AUTHORIZATION_REJECT = 2,
34     DCAMERA_AUTHORIZATION_TIMEOUT = 3,
35 } AuthorizationState;
36 
37 typedef enum {
38     DCAMERA_SAME_ACCOUNT = 0,
39     DCAMERA_DIFF_ACCOUNT = 1,
40     DCAMERA_NO_ACCOUNT = 2,
41 } AccessControlType;
42 
43 typedef enum {
44     DCAMERA_MESSAGE = 0,
45     DCAMERA_OPERATION = 1,
46     DCAMERA_SINK_STOP = 2,
47 } DCameraEventType;
48 
49 typedef enum {
50     DCAMERA_EVENT_CHANNEL_DISCONNECTED = 0,
51     DCAMERA_EVENT_CHANNEL_CONNECTED = 1,
52     DCAMERA_EVENT_CAMERA_SUCCESS = 2,
53     DCAMERA_EVENT_SINK_STOP = 3,
54 
55     DCAMERA_EVENT_CAMERA_ERROR = -1,
56     DCAMERA_EVENT_OPEN_CHANNEL_ERROR = -2,
57     DCAMERA_EVENT_CLOSE_CHANNEL_ERROR = -3,
58     DCAMERA_EVENT_CONFIG_STREAMS_ERROR = -4,
59     DCAMERA_EVENT_RELEASE_STREAMS_ERROR = -5,
60     DCAMERA_EVENT_START_CAPTURE_ERROR = -6,
61     DCAMERA_EVENT_STOP_CAPTURE_ERROR = -7,
62     DCAMERA_EVENT_UPDATE_SETTINGS_ERROR = -8,
63     DCAMERA_EVENT_DEVICE_ERROR = -9,
64     DCAMERA_EVENT_DEVICE_PREEMPT = -10,
65     DCAMERA_EVENT_DEVICE_IN_USE = -11,
66     DCAMERA_EVENT_NO_PERMISSION = -12,
67 } DCameraEventResult;
68 
69 typedef enum {
70     OHOS_CAMERA_FORMAT_INVALID = 0,
71     OHOS_CAMERA_FORMAT_RGBA_8888,
72     OHOS_CAMERA_FORMAT_YCBCR_420_888,
73     OHOS_CAMERA_FORMAT_YCRCB_420_SP,
74     OHOS_CAMERA_FORMAT_JPEG,
75 } DCameraFormat;
76 
77 const uint32_t DCAMERA_MAX_NUM = 1;
78 const uint32_t DCAMERA_PRODUCER_ONE_MINUTE_MS = 1000;
79 const uint32_t DCAMERA_PRODUCER_FPS_DEFAULT = 30;
80 const uint32_t DCAMERA_MAX_RECV_DATA_LEN = 104857600;
81 const uint16_t DCAMERA_MAX_RECV_EXT_LEN = 65535;
82 const uint32_t DISTRIBUTED_HARDWARE_CAMERA_SOURCE_SA_ID = 4803;
83 const uint32_t DISTRIBUTED_HARDWARE_CAMERA_SINK_SA_ID = 4804;
84 const std::string DCAMERA_PKG_NAME = "ohos.dhardware.dcamera";
85 const std::string SNAP_SHOT_SESSION_FLAG = "dataSnapshot";
86 const std::string CONTINUE_SESSION_FLAG = "dataContinue";
87 const std::string TIME_STAMP_US = "timeStampUs";
88 const std::string FRAME_TYPE = "frameType";
89 const std::string INDEX = "index";
90 const std::string START_ENCODE_TIME_US = "startEncodeT";
91 const std::string FINISH_ENCODE_TIME_US = "finishEncodeT";
92 const std::string SEND_TIME_US = "sendT";
93 const std::string RECV_TIME_US = "recvT";
94 
95 const std::string DISTRIBUTED_HARDWARE_ID_KEY = "dhID";
96 const std::string CAMERA_ID_PREFIX = "Camera_";
97 const std::string CAMERA_PROTOCOL_VERSION_KEY = "ProtocolVer";
98 const std::string CAMERA_PROTOCOL_VERSION_VALUE = "1.0";
99 const std::string CAMERA_POSITION_KEY = "Position";
100 const std::string CAMERA_POSITION_BACK = "BACK";
101 const std::string CAMERA_POSITION_FRONT = "FRONT";
102 const std::string CAMERA_POSITION_UNSPECIFIED = "UNSPECIFIED";
103 const std::string CAMERA_METADATA_KEY = "MetaData";
104 const std::string CAMERA_CODEC_TYPE_KEY = "CodecType";
105 const std::string CAMERA_FORMAT_KEY = "OutputFormat";
106 const std::string CAMERA_FORMAT_PREVIEW = "Preview";
107 const std::string CAMERA_FORMAT_VIDEO = "Video";
108 const std::string CAMERA_FORMAT_PHOTO = "Photo";
109 const std::string CAMERA_RESOLUTION_KEY = "Resolution";
110 const std::string CAMERA_SURFACE_FORMAT = "CAMERA_SURFACE_FORMAT";
111 const std::string HDF_DCAMERA_EXT_SERVICE = "distributed_camera_provider_service";
112 constexpr static int8_t FRAME_HEAD = 0;
113 
114 const int32_t RESOLUTION_MAX_WIDTH_SNAPSHOT = 4096;
115 const int32_t RESOLUTION_MAX_HEIGHT_SNAPSHOT = 3072;
116 const int32_t RESOLUTION_MAX_WIDTH_CONTINUOUS = 1920;
117 const int32_t RESOLUTION_MAX_HEIGHT_CONTINUOUS = 1080;
118 const int32_t RESOLUTION_MIN_WIDTH = 320;
119 const int32_t RESOLUTION_MIN_HEIGHT = 240;
120 const int32_t DUMP_FILE_MAX_SIZE = 295 * 1024 *1024;
121 const int32_t HICOLLIE_INTERVAL_TIME_MS = 20 * 1000;
122 const int32_t HICOLLIE_DELAY_TIME_MS = 5 * 1000;
123 const size_t HICOLLIE_SLEEP_TIME_US = 5 * 1000 * 1000;
124 
125 const int32_t DCAMERA_QOS_TYPE_MIN_BW = 40 * 1024 * 1024;
126 const int32_t DCAMERA_QOS_TYPE_MAX_LATENCY = 4000;
127 const int32_t DCAMERA_QOS_TYPE_MIN_LATENCY = 2000;
128 
129 const int32_t CAMERA_META_DATA_ITEM_CAPACITY = 10;
130 const int32_t CAMERA_META_DATA_DATA_CAPACITY = 100;
131 const int32_t DCAMERA_UID = 3052;
132 
133 const uint32_t DCAMERA_SHIFT_32 = 32;
134 const uint32_t DCAMERA_SHIFT_24 = 24;
135 const uint32_t DCAMERA_SHIFT_16 = 16;
136 const uint32_t DCAMERA_SHIFT_8 = 8;
137 const uint32_t COUNT_INIT_NUM = 1;
138 
139 const uint32_t UINT32_SHIFT_MASK_24 = 0xff000000;
140 const uint32_t UINT32_SHIFT_MASK_16 = 0x00ff0000;
141 const uint32_t UINT32_SHIFT_MASK_8 = 0x0000ff00;
142 const uint32_t UINT32_SHIFT_MASK_0 = 0x000000ff;
143 const uint16_t UINT16_SHIFT_MASK_0 = 0x00ff;
144 
145 const std::string CHANNEL_DISCONNECTED = "disconnected";
146 const std::string PRODUCER = "producer";
147 const std::string REGISTER_SERVICE_NOTIFY = "regSvcNotify";
148 const std::string SINK_START_EVENT = "sinkStartEvent";
149 const std::string SOURCE_START_EVENT = "srcStartEvent";
150 const std::string UNREGISTER_SERVICE_NOTIFY = "unregSvcNotify";
151 const std::string LOOPER_SMOOTH = "looperSmooth";
152 const std::string DUMP_PATH = "/data/data/dcamera/";
153 const std::string DUMP_PHOTO_PATH = "/data/data/dcamera/photodump/";
154 const std::string TO_DISPLAY = "AfterDecodeToDisplay.yuv";
155 const std::string SINK_PHOTO = "_SinkPhoto.jpg";
156 const std::string AFTER_ENCODE = "SinkAfterEncode.h265";
157 const std::string BEFORE_DECODE = "SourceBeforeDecode.h265";
158 const std::string CAMERA_HICOLLIE = "CameraHicollie";
159 } // namespace DistributedHardware
160 } // namespace OHOS
161 #endif // OHOS_DISTRIBUTED_CAMERA_CONSTANTS_H