已合并
Add extendGainmap idl only #1996
Add extendGainmap idl only #1996
已合并
zhangchunrui创建于 6月24日
共 5 个文件变更+255-0
@@ -35,6 +35,7 @@
35 "build": {35 "build": {
36 "sub_component": [36 "sub_component": [
37 "//drivers/interface/camera/metadata/v1_0:camera_vendor_tag_idl_target",37 "//drivers/interface/camera/metadata/v1_0:camera_vendor_tag_idl_target",
38+ "//drivers/interface/camera/v1_7:camera_idl_target",
38 "//drivers/interface/camera/v1_6:camera_idl_target",39 "//drivers/interface/camera/v1_6:camera_idl_target",
39 "//drivers/interface/camera/v1_5:camera_idl_target",40 "//drivers/interface/camera/v1_5:camera_idl_target",
40 "//drivers/interface/camera/v1_4:camera_idl_target",41 "//drivers/interface/camera/v1_4:camera_idl_target",
@@ -46,6 +47,7 @@
46 "//drivers/interface/camera/sequenceable/buffer_handle:libbuffer_handle_sequenceable_1.0",47 "//drivers/interface/camera/sequenceable/buffer_handle:libbuffer_handle_sequenceable_1.0",
47 "//drivers/interface/camera/sequenceable/map_data:libmap_data_sequenceable_1.0",48 "//drivers/interface/camera/sequenceable/map_data:libmap_data_sequenceable_1.0",
48 "//drivers/interface/camera/metadata:metadata",49 "//drivers/interface/camera/metadata:metadata",
50+ "//drivers/interface/camera/v1_7:libcamera_stub_1.7",
49 "//drivers/interface/camera/v1_6:libcamera_stub_1.6",51 "//drivers/interface/camera/v1_6:libcamera_stub_1.6",
50 "//drivers/interface/camera/v1_5:libcamera_stub_1.5",52 "//drivers/interface/camera/v1_5:libcamera_stub_1.5",
51 "//drivers/interface/camera/v1_4:libcamera_stub_1.4",53 "//drivers/interface/camera/v1_4:libcamera_stub_1.4",
@@ -71,6 +73,30 @@
71 "header_base": "//drivers/interface/camera/metadata"73 "header_base": "//drivers/interface/camera/metadata"
72 }74 }
73 },75 },
76+ {
77+ "name": "//drivers/interface/camera/v1_7:libcamera_stub_1.7",
78+ "header": {
79+ "header_files": [
80+ ],
81+ "header_base": "//drivers/interface/camera"
82+ }
83+ },
84+ {
85+ "name": "//drivers/interface/camera/v1_7:libcamera_proxy_1.7",
86+ "header": {
87+ "header_files": [
88+ ],
89+ "header_base": "//drivers/interface/camera"
90+ }
91+ },
92+ {
93+ "name": "//drivers/interface/camera/v1_7:camera_idl_headers",
94+ "header": {
95+ "header_files": [
96+ ],
97+ "header_base": "//drivers/interface/camera"
98+ }
99+ },
74 {100 {
75 "name": "//drivers/interface/camera/v1_6:libcamera_stub_1.6",101 "name": "//drivers/interface/camera/v1_6:libcamera_stub_1.6",
76 "header": {102 "header": {
@@ -0,0 +1,62 @@
1+# Copyright (c) 2026 Huawei Device Co., Ltd.
2+# Licensed under the Apache License, Version 2.0 (the "License");
3+# you may not use this file except in compliance with the License.
4+# You may obtain a copy of the License at
5+#
6+# http://www.apache.org/licenses/LICENSE-2.0
7+#
8+# Unless required by applicable law or agreed to in writing, software
9+# distributed under the License is distributed on an "AS IS" BASIS,
10+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11+# See the License for the specific language governing permissions and
12+# limitations under the License.
13+ 
14+import("//build/config/components/hdi/hdi.gni")
15+if (defined(ohos_lite)) {
16+ group("libcamera_proxy_1.7") {
17+ deps = []
18+ public_configs = []
19+ }
20+} else {
21+ hdi("camera") {
22+ module_name = "camera_service"
23+ no_other_header_files = true
24+ 
25+ sources = [
26+ "Types.idl",
27+ "IImageProcessCallback.idl",
28+ "IImageProcessService.idl",
29+ ]
30+ 
31+ stub_deps = [
32+ "../sequenceable/buffer_handle:libbuffer_handle_sequenceable_1.0",
33+ "../sequenceable/buffer_producer:libbuffer_producer_sequenceable_1.0",
34+ "../sequenceable/map_data:libmap_data_sequenceable_1.0",
35+ "../v1_2:libcamera_stub_1.2",
36+ "../v1_3:libcamera_stub_1.3",
37+ "../v1_4:libcamera_stub_1.4",
38+ "../v1_5:libcamera_stub_1.5",
39+ "../v1_6:libcamera_stub_1.6",
40+ ]
41+ 
42+ proxy_deps = [
43+ "../sequenceable/buffer_handle:libbuffer_handle_sequenceable_1.0",
44+ "../sequenceable/buffer_producer:libbuffer_producer_sequenceable_1.0",
45+ "../sequenceable/map_data:libmap_data_sequenceable_1.0",
46+ "../v1_2:libcamera_proxy_1.2",
47+ "../v1_3:libcamera_proxy_1.3",
48+ "../v1_4:libcamera_proxy_1.4",
49+ "../v1_5:libcamera_proxy_1.5",
50+ "../v1_6:libcamera_proxy_1.6",
51+ ]
52+ 
53+ sequenceable_ext_deps = [
54+ "graphic_surface:buffer_handle",
55+ "graphic_surface:surface",
56+ ]
57+ 
58+ language = "cpp"
59+ subsystem_name = "hdf"
60+ part_name = "drivers_interface_camera"
61+ }
62+}
@@ -0,0 +1,42 @@
1+/*
2+ * Copyright (c) 2026 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+ 
17+package ohos.hdi.camera.v1_7;
18+ 
19+import ohos.hdi.camera.v1_7.Types;
20+import ohos.hdi.camera.v1_6.IImageProcessCallback;
21+ 
22+/**
23+ * @file iimage_process_callback.h
24+ *
25+ * @brief Declares callbacks for image process.
26+ *
27+ * @since 7.0
28+ * @version 1.7
29+ */
30+[callback] interface IImageProcessCallback extends ohos.hdi.camera.v1_6.IImageProcessCallback {
31+ /**
32+ * @brief Called when the process done.
33+ * For details about the reporting mode, see {@link SetResultMode}.
34+ *
35+ * @param imageId Indicates the image ID.
36+ * @param buffer Indicates buffer.
37+ *
38+ * @since 7.0
39+ * @version 1.7
40+ */
41+ OnProcessDone_V1_7([in] String imageId, [in] ImageBufferInfo_V1_7[] buffer);
42+}
@@ -0,0 +1,47 @@
1+/*
2+ * Copyright (c) 2026 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+package ohos.hdi.camera.v1_7;
17+
18+import ohos.hdi.camera.v1_2.IImageProcessSession;
19+import ohos.hdi.camera.v1_7.IImageProcessCallback;
20+import ohos.hdi.camera.v1_6.IImageProcessService;
21+ 
22+/**
23+ * @file iimage_process_session.h
24+ *
25+ * @brief Declares APIs for image process service.
26+ *
27+ * @since 7.0
28+ * @version 1.7
29+ */
30+interface IImageProcessService extends ohos.hdi.camera.v1_6.IImageProcessService {
31+ /**
32+ * @brief Create image process session.
33+ *
34+ * @param userId Indicates user ID.
35+ * @param imageProcessCallback Indicates the image process callback. For details, see {@link IImageProcessCallback}.
36+ * @param imageProcessSession Indicates the image process session. For details, see {@link IImageProcessSession}
37+ *
38+ * @return Returns <b>NO_ERROR</b> if the operation is successful; returns an error code defined
39+ * in {@link CamRetCode} otherwise.
40+ *
41+ * @since 7.0
42+ * @version 1.7
43+ */
44+ CreateImageProcessSession_V1_7([in] int userId,
45+ [in] IImageProcessCallback imageProcessCallback,
46+ [out] IImageProcessSession imageProcessSession);
47+}
@@ -0,0 +1,78 @@
1+/*
2+ * Copyright (c) 2026 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+/**
17+ * @file Types.h
18+ *
19+ * @brief Declares data types
20+ * used by the Hardware Driver Interfaces (HDIs) of this module.
21+ *
22+ * @since 7.0
23+ * @version 1.7
24+ */
25+ 
26+package ohos.hdi.camera.v1_7;
27+ 
28+import ohos.hdi.camera.v1_0.Types;
29+import ohos.hdi.camera.v1_2.Types;
30+import ohos.hdi.camera.v1_3.Types;
31+import ohos.hdi.camera.v1_4.Types;
32+import ohos.hdi.camera.v1_5.Types;
33+import ohos.hdi.camera.v1_6.Types;
34+ 
35+sequenceable ohos.hdi.camera.v1_0.BufferHandleSequenceable;
36+sequenceable ohos.hdi.camera.v1_0.MapDataSequenceable;
37+ 
38+/**
39+ * @brief Enumerates types of the extended stream information.
40+ * @since 7.0
41+ * @version 1.0
42+ */
43+enum ExtendedStreamInfoType : ohos.hdi.camera.v1_3.ExtendedStreamInfoType {
44+ /**
45+ * Extended stream enhanced gainmap.
46+ * @since 7.0
47+ * @version 1.0
48+ */
49+ EXTENDED_STREAM_OHOS_ENHANCED_GAINMAP = 19
50+};
51+ 
52+/**
53+ * @brief Defines the ImageBufferInfo_V1_7, which is used by {@link IImageProcessCallback::OnProcessDone_V1_7}.
54+ * @since 7.0
55+ * @version 1.7
56+ */
57+struct ImageBufferInfo_V1_7 {
58+ /**
59+ * @brief Defines the ImageBufferInfo_V1_4, which is used by {@link IImageProcessCallback::OnProcessDone_V1_4}.
60+ * @since 7.0
61+ * @version 1.7
62+ */
63+ struct ImageBufferInfo_V1_4 v1_4;
64+ 
65+ /**
66+ * @brief Indicates whether the extended gainmap is valid.
67+ * @since 7.0
68+ * @version 1.7
69+ */
70+ boolean isExtendedGainMapValid;
71+ 
72+ /**
73+ * @brief The handle for the extended gainmap buffer.
74+ * @since 7.0
75+ * @version 1.7
76+ */
77+ BufferHandleSequenceable extendedGainMapHandle;
78+};