• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1import("//drivers/peripheral/camera/hal/camera.gni")
2
3if (defined(ohos_lite)) {
4  import("//build/ohos.gni")
5  import("//drivers/hdf_core/adapter/uhdf/uhdf.gni")
6  import("//drivers/hdf_core/framework/tools/hc-gen/hc_gen.gni")
7
8  hc_gen_c("generate_source") {
9    sources = [
10      "$product_config_path/hdf_config/uhdf/camera/pipeline_core/config.hcs",
11      "$product_config_path/hdf_config/uhdf/camera/pipeline_core/params.hcs",
12    ]
13  }
14
15  action("copy_source") {
16    script = "//build/lite/run_shell_cmd.py"
17    outputs = [ "$target_out_dir/tmp.c" ]  # no use, just for gn complains
18    args = [
19      "cp",
20      "-f",
21    ]
22    args += rebase_path(get_target_outputs(":generate_source"))
23    args += [ rebase_path(
24            "$camera_path/pipeline_core/pipeline_impl/src/strategy/config/") ]
25    deps = [ ":generate_source" ]
26  }
27
28  config("pipe_config") {
29    visibility = [ ":*" ]
30    cflags_cc = [
31      "-Wall",
32      "-Wextra",
33      "-Werror",
34      "-Wno-error",
35      "-DGST_DISABLE_DEPRECATED",
36      "-DHAVE_CONFIG_H",
37      "-DCOLORSPACE=\"videoconvert\"",
38      "-fno-strict-aliasing",
39      "-Wno-sign-compare",
40      "-Wno-builtin-requires-header",
41      "-Wno-unused-variable",
42      "-Wno-unused-label",
43      "-Wno-implicit-function-declaration",
44      "-Wno-format",
45      "-Wno-int-conversion",
46      "-Wno-unused-function",
47      "-Wno-thread-safety-attributes",
48      "-Wno-inconsistent-missing-override",
49      "-fno-rtti",
50      "-fno-exceptions",
51      "-ffunction-sections",
52      "-fdata-sections",
53      "-Wno-c++11-narrowing",
54    ]
55  }
56
57  ohos_shared_library("camera_pipeline_core") {
58    sources = [
59      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/mpi_node/mpi_node.cpp",
60      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/venc_node/venc_node.cpp",
61      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/vi_node/vi_node.cpp",
62      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/vo_node/vo_node.cpp",
63      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/vpss_node/vpss_node.cpp",
64      "$camera_path/pipeline_core/host_stream/src/host_stream_impl.cpp",
65      "$camera_path/pipeline_core/host_stream/src/host_stream_mgr_impl.cpp",
66      "$camera_path/pipeline_core/ipp/src/algo_plugin.cpp",
67      "$camera_path/pipeline_core/ipp/src/algo_plugin_manager.cpp",
68      "$camera_path/pipeline_core/ipp/src/ipp_algo_parser.cpp",
69      "$camera_path/pipeline_core/ipp/src/ipp_node.cpp",
70      "$camera_path/pipeline_core/ipp/src/offline_pipeline.cpp",
71      "$camera_path/pipeline_core/ipp/src/offline_pipeline_manager.cpp",
72      "$camera_path/pipeline_core/nodes/src/dummy_node/dummy_node.cpp",
73      "$camera_path/pipeline_core/nodes/src/merge_node/merge_node.cpp",
74      "$camera_path/pipeline_core/nodes/src/node_base/node_base.cpp",
75      "$camera_path/pipeline_core/nodes/src/sensor_node/sensor_node.cpp",
76      "$camera_path/pipeline_core/nodes/src/sink_node/sink_node.cpp",
77      "$camera_path/pipeline_core/nodes/src/source_node/source_node.cpp",
78      "$camera_path/pipeline_core/pipeline_impl/src/builder/stream_pipeline_builder.cpp",
79      "$camera_path/pipeline_core/pipeline_impl/src/dispatcher/stream_pipeline_dispatcher.cpp",
80      "$camera_path/pipeline_core/pipeline_impl/src/parser/config_parser.cpp",
81      "$camera_path/pipeline_core/pipeline_impl/src/strategy/config/config.c",
82      "$camera_path/pipeline_core/pipeline_impl/src/strategy/config/params.c",
83      "$camera_path/pipeline_core/pipeline_impl/src/strategy/stream_pipeline_strategy.cpp",
84      "$camera_path/pipeline_core/pipeline_impl/src/stream_pipeline_core.cpp",
85      "$camera_path/pipeline_core/src/pipeline_core.cpp",
86    ]
87    include_dirs = [
88      "//commonlibrary/c_utils/base/include",
89      "//base/hiviewdfx/interfaces/innerkits/libhilog/include",
90      "$camera_path/../interfaces/include",
91      "$camera_path/../interfaces/hdi_passthrough",
92      "$camera_path/include",
93      "$camera_path/hdi_impl",
94      "$camera_path/hdi_impl/camera_host/include",
95      "$camera_path/hdi_impl/camera_device/include",
96      "$camera_path/hdi_impl/stream_operator/include",
97      "$camera_path/hdi_impl/include",
98      "$camera_path/device_manager",
99      "$camera_path/device_manager/include",
100      "$camera_path/pipeline_core",
101      "$camera_path/pipeline_core/host_stream/include",
102      "$camera_path/pipeline_core/utils",
103      "$camera_path/pipeline_core/nodes/include",
104      "$camera_path/pipeline_core/nodes/src/node_base",
105      "$camera_path/pipeline_core/nodes/src/sink_node",
106      "$camera_path/pipeline_core/nodes/src/source_node",
107      "$camera_path/pipeline_core/nodes/src/sensor_node",
108      "$camera_path/pipeline_core/nodes/src/merge_node",
109      "$camera_path/pipeline_core/nodes/src/dummy_node",
110      "$camera_path/pipeline_core/pipeline_impl/include",
111      "$camera_path/pipeline_core/pipeline_impl/src",
112      "$camera_path/pipeline_core/include",
113      "$camera_path/pipeline_core/pipeline_impl/src/builder",
114      "$camera_path/pipeline_core/pipeline_impl/src/dispatcher",
115      "$camera_path/pipeline_core/pipeline_impl/src/parser",
116      "$camera_path/pipeline_core/pipeline_impl/src/strategy",
117      "$camera_path/pipeline_core/pipeline_impl/src/strategy/config",
118      "$camera_path/pipeline_core/ipp/include",
119      "$camera_path/interfaces/hdi",
120      "$camera_path/utils/event",
121      "$board_camera_path/driver_adapter/include",
122      "$board_camera_path/device_manager/include",
123      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/mpi_node",
124      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/vi_node",
125      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/vo_node",
126      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/venc_node",
127      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/vpss_node",
128      "$board_camera_path/camera/config/pipeline_core",
129      "$camera_path/adapter/platform/mpp/src/device_manager/include",
130      "//drivers/peripheral/camera/interfaces/metadata/include",
131      "//foundation/communication/ipc/ipc/native/src/core/include",
132      "//foundation/communication/ipc/interfaces/innerkits/ipc_core/include",
133      "//commonlibrary/c_utils/base/include",
134      "//foundation/graphic/surface/interfaces/kits",
135      "//foundation/graphic/utils/interfaces/kits",
136
137      # hcs parser
138      "//system/core/include/cutils",
139    ]
140
141    deps = [
142      ":copy_source",
143      "$camera_path/buffer_manager:camera_buffer_manager",
144      "$camera_path/device_manager:camera_device_manager",
145      "//base/hiviewdfx/hilog_lite/frameworks/featured:hilog_shared",
146      "//drivers/peripheral/camera/interfaces/metadata:metadata",
147    ]
148    external_deps = [ "hdf_core:libhdf_utils" ]
149    public_configs = [ ":pipe_config" ]
150    subsystem_name = "hdf"
151    part_name = "drivers_peripheral_camera"
152  }
153} else {
154  import("//build/ohos.gni")
155  import("//drivers/hdf_core/adapter/uhdf2/uhdf.gni")
156  config("pipe_config") {
157    visibility = [ ":*" ]
158
159    cflags_cc = [
160      "-Wall",
161      "-Wextra",
162      "-Werror",
163      "-Wno-error",
164      "-DGST_DISABLE_DEPRECATED",
165      "-DHAVE_CONFIG_H",
166      "-DCOLORSPACE=\"videoconvert\"",
167      "-fno-strict-aliasing",
168      "-Wno-sign-compare",
169      "-Wno-builtin-requires-header",
170      "-Wno-unused-variable",
171      "-Wno-unused-label",
172      "-Wno-implicit-function-declaration",
173      "-Wno-format",
174      "-Wno-int-conversion",
175      "-Wno-unused-function",
176      "-Wno-thread-safety-attributes",
177      "-Wno-inconsistent-missing-override",
178      "-fno-rtti",
179      "-fno-exceptions",
180      "-ffunction-sections",
181      "-fdata-sections",
182    ]
183  }
184
185  ohos_shared_library("camera_pipeline_core") {
186    sources = [
187      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/mpi_node/mpi_node.cpp",
188      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/venc_node/venc_node.cpp",
189      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/vi_node/vi_node.cpp",
190      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/vo_node/vo_node.cpp",
191      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/vpss_node/vpss_node.cpp",
192      "$camera_path/pipeline_core/host_stream/src/host_stream_impl.cpp",
193      "$camera_path/pipeline_core/host_stream/src/host_stream_mgr_impl.cpp",
194      "$camera_path/pipeline_core/ipp/src/algo_plugin.cpp",
195      "$camera_path/pipeline_core/ipp/src/algo_plugin_manager.cpp",
196      "$camera_path/pipeline_core/ipp/src/ipp_algo_parser.cpp",
197      "$camera_path/pipeline_core/ipp/src/ipp_node.cpp",
198      "$camera_path/pipeline_core/ipp/src/offline_pipeline.cpp",
199      "$camera_path/pipeline_core/ipp/src/offline_pipeline_manager.cpp",
200      "$camera_path/pipeline_core/nodes/src/dummy_node/dummy_node.cpp",
201      "$camera_path/pipeline_core/nodes/src/merge_node/merge_node.cpp",
202      "$camera_path/pipeline_core/nodes/src/node_base/node_base.cpp",
203      "$camera_path/pipeline_core/nodes/src/sensor_node/sensor_node.cpp",
204      "$camera_path/pipeline_core/nodes/src/sink_node/sink_node.cpp",
205      "$camera_path/pipeline_core/nodes/src/source_node/source_node.cpp",
206      "$camera_path/pipeline_core/pipeline_impl/src/builder/stream_pipeline_builder.cpp",
207      "$camera_path/pipeline_core/pipeline_impl/src/dispatcher/stream_pipeline_dispatcher.cpp",
208      "$camera_path/pipeline_core/pipeline_impl/src/parser/config_parser.cpp",
209      "$camera_path/pipeline_core/pipeline_impl/src/strategy/config/config.c",
210      "$camera_path/pipeline_core/pipeline_impl/src/strategy/config/params.c",
211      "$camera_path/pipeline_core/pipeline_impl/src/strategy/stream_pipeline_strategy.cpp",
212      "$camera_path/pipeline_core/pipeline_impl/src/stream_pipeline_core.cpp",
213      "$camera_path/pipeline_core/src/pipeline_core.cpp",
214    ]
215    include_dirs = [
216      "$camera_path/../interfaces/include",
217      "$camera_path/../interfaces/hdi_ipc",
218      "$camera_path/include",
219      "$camera_path/hdi_impl",
220      "$camera_path/hdi_impl/camera_host/include",
221      "$camera_path/hdi_impl/camera_device/include",
222      "$camera_path/hdi_impl/stream_operator/include",
223      "$camera_path/hdi_impl/include",
224      "$camera_path/device_manager",
225      "$camera_path/device_manager/include",
226      "$camera_path/pipeline_core",
227      "$camera_path/pipeline_core/host_stream/include",
228      "$camera_path/pipeline_core/utils",
229      "$camera_path/pipeline_core/nodes/include",
230      "$camera_path/pipeline_core/nodes/src/node_base",
231      "$camera_path/pipeline_core/nodes/src/sink_node",
232      "$camera_path/pipeline_core/nodes/src/source_node",
233      "$camera_path/pipeline_core/nodes/src/sensor_node",
234      "$camera_path/pipeline_core/nodes/src/merge_node",
235      "$camera_path/pipeline_core/nodes/src/dummy_node",
236      "$camera_path/pipeline_core/pipeline_impl/include",
237      "$camera_path/pipeline_core/pipeline_impl/src",
238      "$camera_path/pipeline_core/include",
239      "$camera_path/pipeline_core/pipeline_impl/src/builder",
240      "$camera_path/pipeline_core/pipeline_impl/src/dispatcher",
241      "$camera_path/pipeline_core/pipeline_impl/src/parser",
242      "$camera_path/pipeline_core/pipeline_impl/src/strategy",
243      "$camera_path/pipeline_core/pipeline_impl/src/strategy/config",
244      "$camera_path/pipeline_core/ipp/include",
245      "$camera_path/interfaces/hdi",
246      "$camera_path/utils/event",
247      "$board_camera_path/driver_adapter/include",
248      "$board_camera_path/device_manager/include",
249      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/mpi_node",
250      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/vi_node",
251      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/vo_node",
252      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/venc_node",
253      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/vpss_node",
254      "$camera_path/adapter/platform/mpp/src/device_manager/include",
255      "$board_camera_path/camera/config/pipeline_core",
256      "//drivers/peripheral/camera/interfaces/metadata/include",
257
258      # hcs parser
259      "//system/core/include/cutils",
260    ]
261
262    deps = [
263      "$camera_path/buffer_manager:camera_buffer_manager",
264      "$camera_path/device_manager:camera_device_manager",
265      "//drivers/interface/camera/v1_0:libcamera_proxy_1.0",
266      "//drivers/peripheral/camera/interfaces/metadata:metadata",
267    ]
268
269    if (is_standard_system) {
270      external_deps = [
271        "c_utils:utils",
272        "graphic_chipsetsdk:surface",
273        "hdf_core:libhdf_utils",
274        "hiviewdfx_hilog_native:libhilog",
275        "ipc:ipc_single",
276      ]
277    } else {
278      external_deps = [ "hilog:libhilog" ]
279    }
280
281    public_configs = [ ":pipe_config" ]
282    install_images = [ chipset_base_dir ]
283    subsystem_name = "hdf"
284    part_name = "drivers_peripheral_camera"
285  }
286
287  config("example_config") {
288    visibility = [ ":*" ]
289
290    cflags = [
291      "-Wno-error",
292      "-Wno-unused-function",
293      "-Wno-unused-parameter",
294      "-fstack-protector",
295    ]
296  }
297
298  ohos_shared_library("camera_ipp_algo_example") {
299    sources = [ "$board_camera_path/pipeline_core/src/ipp_algo_example.c" ]
300
301    include_dirs = [ "$camera_path/pipeline_core/ipp/include" ]
302    external_deps = [ "c_utils:utils" ]
303    public_configs = [ ":example_config" ]
304    install_images = [ chipset_base_dir ]
305    subsystem_name = "hdf"
306    part_name = "drivers_peripheral_camera"
307  }
308}
309