• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (C) 2021–2023 Beijing OSWare Technology Co., Ltd
2# This file contains confidential and proprietary information of
3# OSWare Technology Co., Ltd
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9#     http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
17import("//build/ohos.gni")
18import("//device/board/${product_company}/${device_name}/device.gni")
19import("//drivers/hdf_core/adapter/uhdf2/uhdf.gni")
20import("//drivers/peripheral/camera/camera.gni")
21
22config("pipe_config") {
23  visibility = [ ":*" ]
24
25  cflags_cc = [
26    "-Wall",
27    "-Wextra",
28    "-Werror",
29    "-Wno-error",
30    "-DGST_DISABLE_DEPRECATED",
31    "-DHAVE_CONFIG_H",
32    "-DCOLORSPACE=\"videoconvert\"",
33    "-fno-strict-aliasing",
34    "-Wno-sign-compare",
35    "-Wno-builtin-requires-header",
36    "-Wno-unused-variable",
37    "-Wno-unused-label",
38    "-Wno-implicit-function-declaration",
39    "-Wno-format",
40    "-Wno-int-conversion",
41    "-Wno-unused-function",
42    "-Wno-thread-safety-attributes",
43    "-Wno-inconsistent-missing-override",
44    "-fno-rtti",
45    "-fno-exceptions",
46    "-ffunction-sections",
47    "-fdata-sections",
48  ]
49}
50
51ohos_shared_library("camera_pipeline_core") {
52  sources = [
53    "$board_camera_path/pipeline_core/src/nodes/soft_codec/imx_codec_node.cpp",
54    "$board_camera_path/pipeline_core/src/nodes/v4l2_source_node/v4l2_source_node.cpp",
55    "$camera_path/adapter/platform/v4l2/src/pipeline_core/nodes/uvc_node/uvc_node.cpp",
56    "$camera_path/pipeline_core/host_stream/src/host_stream_impl.cpp",
57    "$camera_path/pipeline_core/host_stream/src/host_stream_mgr_impl.cpp",
58    "$camera_path/pipeline_core/ipp/src/algo_plugin.cpp",
59    "$camera_path/pipeline_core/ipp/src/algo_plugin_manager.cpp",
60    "$camera_path/pipeline_core/ipp/src/ipp_algo_parser.cpp",
61    "$camera_path/pipeline_core/ipp/src/ipp_node.cpp",
62    "$camera_path/pipeline_core/ipp/src/offline_pipeline.cpp",
63    "$camera_path/pipeline_core/ipp/src/offline_pipeline_manager.cpp",
64    "$camera_path/pipeline_core/nodes/src/dummy_node/dummy_node.cpp",
65    "$camera_path/pipeline_core/nodes/src/fork_node/fork_node.cpp",
66    "$camera_path/pipeline_core/nodes/src/merge_node/merge_node.cpp",
67    "$camera_path/pipeline_core/nodes/src/node_base/node_base.cpp",
68    "$camera_path/pipeline_core/nodes/src/sensor_node/sensor_node.cpp",
69    "$camera_path/pipeline_core/nodes/src/sink_node/sink_node.cpp",
70    "$camera_path/pipeline_core/nodes/src/source_node/source_node.cpp",
71    "$camera_path/pipeline_core/pipeline_impl/src/builder/stream_pipeline_builder.cpp",
72    "$camera_path/pipeline_core/pipeline_impl/src/dispatcher/stream_pipeline_dispatcher.cpp",
73    "$camera_path/pipeline_core/pipeline_impl/src/parser/config_parser.cpp",
74    "$camera_path/pipeline_core/pipeline_impl/src/strategy/config/config.c",
75    "$camera_path/pipeline_core/pipeline_impl/src/strategy/config/params.c",
76    "$camera_path/pipeline_core/pipeline_impl/src/strategy/stream_pipeline_strategy.cpp",
77    "$camera_path/pipeline_core/pipeline_impl/src/stream_pipeline_core.cpp",
78    "$camera_path/pipeline_core/src/pipeline_core.cpp",
79  ]
80  include_dirs = [
81    "//commonlibrary/c_utils/base/include",
82    "//base/hiviewdfx/interfaces/innerkits/libhilog/include",
83    "$camera_path/../interfaces/include",
84    "$camera_path/../interfaces/hdi_ipc",
85    "$camera_path/include",
86    "$camera_path/../interfaces",
87    "$camera_path/../v4l2",
88    "$camera_path/../v4l2/camera_host/include",
89    "$camera_path/../v4l2/camera_device/include",
90    "$camera_path/../v4l2/stream_operator/include",
91    "$camera_path/../v4l2/include",
92    "$camera_path/device_manager",
93    "$camera_path/device_manager/include",
94    "$camera_path/pipeline_core",
95    "$camera_path/pipeline_core/host_stream/include",
96    "$camera_path/pipeline_core/utils",
97    "$camera_path/pipeline_core/nodes/include",
98    "$camera_path/pipeline_core/nodes/src/sensor_node",
99    "$camera_path/pipeline_core/nodes/src/node_base",
100    "$camera_path/pipeline_core/nodes/src/sink_node",
101    "$camera_path/pipeline_core/nodes/src/source_node",
102    "$camera_path/pipeline_core/nodes/src/merge_node",
103    "$camera_path/pipeline_core/nodes/src/dummy_node",
104    "$camera_path/pipeline_core/pipeline_impl/include",
105    "$camera_path/pipeline_core/pipeline_impl/src",
106    "$camera_path/pipeline_core/include",
107    "$camera_path/pipeline_core/pipeline_impl/src/builder",
108    "$camera_path/pipeline_core/pipeline_impl/src/dispatcher",
109    "$camera_path/pipeline_core/pipeline_impl/src/parser",
110    "$camera_path/pipeline_core/pipeline_impl/src/strategy",
111    "$camera_path/pipeline_core/pipeline_impl/src/strategy/config",
112    "$camera_path/pipeline_core/ipp/include",
113    "$camera_path/interfaces/hdi",
114    "$camera_path/utils/event",
115    "$camera_path/adapter/platform/v4l2/src/device_manager/include",
116    "$board_camera_path/device_manager/include",
117    "$camera_path/adapter/platform/v4l2/src/pipeline_core/nodes/v4l2_source_node",
118    "$camera_path/adapter/platform/v4l2/src/pipeline_core/nodes/uvc_node",
119    "$board_camera_path/driver_adapter/include",
120    "//foundation/communication/ipc/ipc/native/src/core/include",
121    "//commonlibrary/c_utils/base/include",
122    "src/nodes/soft_codec",
123
124    # hcs parser
125    "//system/core/include/cutils",
126  ]
127
128  deps = [
129    "$board_camera_path:config.c",
130    "$board_camera_path:params.c",
131    "$board_camera_path/device_manager:camera_device_manager",
132    "$board_camera_path/metadata_manager:camera_metadata_manager",
133    "$camera_path/buffer_manager:camera_buffer_manager",
134    "//drivers/interface/camera/v1_0:libcamera_stub_1.0",
135    "//third_party/libjpeg-turbo:turbojpeg_static",
136  ]
137
138  if (is_standard_system) {
139    external_deps = [
140      "hdf_core:libhdf_utils",
141      "hilog:libhilog",
142    ]
143  } else {
144    external_deps = [ "hilog:libhilog" ]
145  }
146  external_deps += [
147    "drivers_interface_camera:metadata",
148    "graphic_chipsetsdk:surface",
149    "ipc:ipc_single",
150  ]
151
152  public_configs = [ ":pipe_config" ]
153  install_images = [ chipset_base_dir ]
154  subsystem_name = "osware_products"
155  part_name = "osware_products"
156}
157
158config("example_config") {
159  visibility = [ ":*" ]
160
161  cflags = [
162    "-Wno-error",
163    "-Wno-unused-function",
164    "-Wno-unused-parameter",
165  ]
166}
167
168ohos_shared_library("camera_ipp_algo_example") {
169  sources = [
170    "$board_camera_path/pipeline_core/src/ipp_algo_example/ipp_algo_example.c",
171  ]
172
173  include_dirs = [
174    "$camera_path/pipeline_core/ipp/include",
175    "//commonlibrary/c_utils/base/include",
176  ]
177  external_deps = [ "c_utils:utils" ]
178  public_configs = [ ":example_config" ]
179  install_images = [ chipset_base_dir ]
180  subsystem_name = "osware_products"
181  part_name = "osware_products"
182}
183