• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1import("//drivers/peripheral/camera/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/../interfaces",
94      "$camera_path/../v4l2",
95      "$camera_path/../v4l2/camera_host/include",
96      "$camera_path/../v4l2/camera_device/include",
97      "$camera_path/../v4l2/stream_operator/include",
98      "$camera_path/../v4l2/include",
99      "$camera_path/device_manager",
100      "$camera_path/device_manager/include",
101      "$camera_path/pipeline_core",
102      "$camera_path/pipeline_core/host_stream/include",
103      "$camera_path/pipeline_core/utils",
104      "$camera_path/pipeline_core/nodes/include",
105      "$camera_path/pipeline_core/nodes/src/node_base",
106      "$camera_path/pipeline_core/nodes/src/sink_node",
107      "$camera_path/pipeline_core/nodes/src/source_node",
108      "$camera_path/pipeline_core/nodes/src/sensor_node",
109      "$camera_path/pipeline_core/nodes/src/merge_node",
110      "$camera_path/pipeline_core/nodes/src/dummy_node",
111      "$camera_path/pipeline_core/pipeline_impl/include",
112      "$camera_path/pipeline_core/pipeline_impl/src",
113      "$camera_path/pipeline_core/include",
114      "$camera_path/pipeline_core/pipeline_impl/src/builder",
115      "$camera_path/pipeline_core/pipeline_impl/src/dispatcher",
116      "$camera_path/pipeline_core/pipeline_impl/src/parser",
117      "$camera_path/pipeline_core/pipeline_impl/src/strategy",
118      "$camera_path/pipeline_core/pipeline_impl/src/strategy/config",
119      "$camera_path/pipeline_core/ipp/include",
120      "$camera_path/interfaces/hdi",
121      "$camera_path/utils/event",
122      "$board_camera_path/driver_adapter/include",
123      "$board_camera_path/device_manager/include",
124      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/mpi_node",
125      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/vi_node",
126      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/vo_node",
127      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/venc_node",
128      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/vpss_node",
129      "$board_camera_path/camera/config/pipeline_core",
130      "$camera_path/adapter/platform/mpp/src/device_manager/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_lite/interfaces/kits",
135      "//foundation/graphic/graphic_utils_lite/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    ]
147    external_deps = [
148      "drivers_interface_camera:metadata",
149      "hdf_core:libhdf_utils",
150    ]
151    public_configs = [ ":pipe_config" ]
152    subsystem_name = "hdf"
153    part_name = "drivers_peripheral_camera"
154  }
155} else {
156  import("//build/ohos.gni")
157  import("//drivers/hdf_core/adapter/uhdf2/uhdf.gni")
158  config("pipe_config") {
159    visibility = [ ":*" ]
160
161    cflags_cc = [
162      "-Wall",
163      "-Wextra",
164      "-Werror",
165      "-Wno-error",
166      "-DGST_DISABLE_DEPRECATED",
167      "-DHAVE_CONFIG_H",
168      "-DCOLORSPACE=\"videoconvert\"",
169      "-fno-strict-aliasing",
170      "-Wno-sign-compare",
171      "-Wno-builtin-requires-header",
172      "-Wno-unused-variable",
173      "-Wno-unused-label",
174      "-Wno-implicit-function-declaration",
175      "-Wno-format",
176      "-Wno-int-conversion",
177      "-Wno-unused-function",
178      "-Wno-thread-safety-attributes",
179      "-Wno-inconsistent-missing-override",
180      "-fno-rtti",
181      "-fno-exceptions",
182      "-ffunction-sections",
183      "-fdata-sections",
184    ]
185  }
186
187  ohos_shared_library("camera_pipeline_core") {
188    sources = [
189      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/mpi_node/mpi_node.cpp",
190      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/venc_node/venc_node.cpp",
191      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/vi_node/vi_node.cpp",
192      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/vo_node/vo_node.cpp",
193      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/vpss_node/vpss_node.cpp",
194      "$camera_path/pipeline_core/host_stream/src/host_stream_impl.cpp",
195      "$camera_path/pipeline_core/host_stream/src/host_stream_mgr_impl.cpp",
196      "$camera_path/pipeline_core/ipp/src/algo_plugin.cpp",
197      "$camera_path/pipeline_core/ipp/src/algo_plugin_manager.cpp",
198      "$camera_path/pipeline_core/ipp/src/ipp_algo_parser.cpp",
199      "$camera_path/pipeline_core/ipp/src/ipp_node.cpp",
200      "$camera_path/pipeline_core/ipp/src/offline_pipeline.cpp",
201      "$camera_path/pipeline_core/ipp/src/offline_pipeline_manager.cpp",
202      "$camera_path/pipeline_core/nodes/src/dummy_node/dummy_node.cpp",
203      "$camera_path/pipeline_core/nodes/src/merge_node/merge_node.cpp",
204      "$camera_path/pipeline_core/nodes/src/node_base/node_base.cpp",
205      "$camera_path/pipeline_core/nodes/src/sensor_node/sensor_node.cpp",
206      "$camera_path/pipeline_core/nodes/src/sink_node/sink_node.cpp",
207      "$camera_path/pipeline_core/nodes/src/source_node/source_node.cpp",
208      "$camera_path/pipeline_core/pipeline_impl/src/builder/stream_pipeline_builder.cpp",
209      "$camera_path/pipeline_core/pipeline_impl/src/dispatcher/stream_pipeline_dispatcher.cpp",
210      "$camera_path/pipeline_core/pipeline_impl/src/parser/config_parser.cpp",
211      "$camera_path/pipeline_core/pipeline_impl/src/strategy/config/config.c",
212      "$camera_path/pipeline_core/pipeline_impl/src/strategy/config/params.c",
213      "$camera_path/pipeline_core/pipeline_impl/src/strategy/stream_pipeline_strategy.cpp",
214      "$camera_path/pipeline_core/pipeline_impl/src/stream_pipeline_core.cpp",
215      "$camera_path/pipeline_core/src/pipeline_core.cpp",
216    ]
217    include_dirs = [
218      "$camera_path/../interfaces/include",
219      "$camera_path/../interfaces/hdi_ipc",
220      "$camera_path/include",
221      "$camera_path/../interfaces",
222      "$camera_path/../v4l2",
223      "$camera_path/../v4l2/camera_host/include",
224      "$camera_path/../v4l2/camera_device/include",
225      "$camera_path/../v4l2/stream_operator/include",
226      "$camera_path/../v4l2/include",
227      "$camera_path/device_manager",
228      "$camera_path/device_manager/include",
229      "$camera_path/metadata_manager/include",
230      "$camera_path/pipeline_core",
231      "$camera_path/pipeline_core/host_stream/include",
232      "$camera_path/pipeline_core/utils",
233      "$camera_path/pipeline_core/nodes/include",
234      "$camera_path/pipeline_core/nodes/src/node_base",
235      "$camera_path/pipeline_core/nodes/src/sink_node",
236      "$camera_path/pipeline_core/nodes/src/source_node",
237      "$camera_path/pipeline_core/nodes/src/sensor_node",
238      "$camera_path/pipeline_core/nodes/src/merge_node",
239      "$camera_path/pipeline_core/nodes/src/dummy_node",
240      "$camera_path/pipeline_core/pipeline_impl/include",
241      "$camera_path/pipeline_core/pipeline_impl/src",
242      "$camera_path/pipeline_core/include",
243      "$camera_path/pipeline_core/pipeline_impl/src/builder",
244      "$camera_path/pipeline_core/pipeline_impl/src/dispatcher",
245      "$camera_path/pipeline_core/pipeline_impl/src/parser",
246      "$camera_path/pipeline_core/pipeline_impl/src/strategy",
247      "$camera_path/pipeline_core/pipeline_impl/src/strategy/config",
248      "$camera_path/pipeline_core/ipp/include",
249      "$camera_path/interfaces/hdi",
250      "$camera_path/utils/event",
251      "$board_camera_path/driver_adapter/include",
252      "$board_camera_path/device_manager/include",
253      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/mpi_node",
254      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/vi_node",
255      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/vo_node",
256      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/venc_node",
257      "$camera_path/adapter/platform/mpp/src/pipeline_core/nodes/vpss_node",
258      "$camera_path/adapter/platform/mpp/src/device_manager/include",
259      "$board_camera_path/camera/config/pipeline_core",
260
261      # hcs parser
262      "//system/core/include/cutils",
263    ]
264
265    deps = [
266      "$camera_path/buffer_manager:camera_buffer_manager",
267      "$camera_path/device_manager:camera_device_manager",
268      "$camera_path/metadata_manager:camera_metadata_manager",
269      "//drivers/interface/camera/v1_0:libcamera_proxy_1.0",
270    ]
271
272    if (is_standard_system) {
273      external_deps = [
274        "c_utils:utils",
275        "graphic_chipsetsdk:surface",
276        "hdf_core:libhdf_utils",
277        "hilog:libhilog",
278        "ipc:ipc_single",
279      ]
280    } else {
281      external_deps = [ "hilog:libhilog" ]
282    }
283    external_deps += [ "drivers_interface_camera:metadata" ]
284    public_configs = [ ":pipe_config" ]
285    install_images = [ chipset_base_dir ]
286    subsystem_name = "hdf"
287    part_name = "drivers_peripheral_camera"
288  }
289
290  config("example_config") {
291    visibility = [ ":*" ]
292
293    cflags = [
294      "-Wno-error",
295      "-Wno-unused-function",
296      "-Wno-unused-parameter",
297      "-fstack-protector",
298    ]
299  }
300
301  ohos_shared_library("camera_ipp_algo_example") {
302    sources = [ "$board_camera_path/pipeline_core/src/ipp_algo_example.c" ]
303
304    include_dirs = [ "$camera_path/pipeline_core/ipp/include" ]
305    external_deps = [ "c_utils:utils" ]
306    public_configs = [ ":example_config" ]
307    install_images = [ chipset_base_dir ]
308    subsystem_name = "hdf"
309    part_name = "drivers_peripheral_camera"
310  }
311}
312