• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2022 - 2023 Shenzhen Kaihong Digital Industry Development 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.
13import("//build/ohos.gni")
14import("//device/board/${product_company}/${device_name}/device.gni")
15import("//drivers/hdf_core/adapter/uhdf2/uhdf.gni")
16import("//drivers/peripheral/camera/camera.gni")
17
18config("pipe_config") {
19  visibility = [ ":*" ]
20
21  cflags_cc = [
22    "-Wall",
23    "-Wextra",
24    "-Werror",
25    "-Wno-error",
26    "-DGST_DISABLE_DEPRECATED",
27    "-DHAVE_CONFIG_H",
28    "-DCOLORSPACE=\"videoconvert\"",
29    "-fno-strict-aliasing",
30    "-Wno-sign-compare",
31    "-Wno-builtin-requires-header",
32    "-Wno-unused-variable",
33    "-Wno-unused-label",
34    "-Wno-implicit-function-declaration",
35    "-Wno-format",
36    "-Wno-int-conversion",
37    "-Wno-unused-function",
38    "-Wno-thread-safety-attributes",
39    "-Wno-inconsistent-missing-override",
40    "-fno-rtti",
41    "-fno-exceptions",
42    "-ffunction-sections",
43    "-fdata-sections",
44  ]
45}
46
47ohos_shared_library("camera_pipeline_core") {
48  sources = [
49    "$board_camera_path/pipeline_core/src/node/rk_codec_node.cpp",
50    "$board_camera_path/pipeline_core/src/node/rk_exif_node.cpp",
51    "$camera_path/adapter/platform/v4l2/src/pipeline_core/nodes/uvc_node/uvc_node.cpp",
52    "$camera_path/adapter/platform/v4l2/src/pipeline_core/nodes/v4l2_source_node/v4l2_source_node.cpp",
53    "$camera_path/pipeline_core/host_stream/src/host_stream_impl.cpp",
54    "$camera_path/pipeline_core/host_stream/src/host_stream_mgr_impl.cpp",
55    "$camera_path/pipeline_core/ipp/src/algo_plugin.cpp",
56    "$camera_path/pipeline_core/ipp/src/algo_plugin_manager.cpp",
57    "$camera_path/pipeline_core/ipp/src/ipp_algo_parser.cpp",
58    "$camera_path/pipeline_core/ipp/src/ipp_node.cpp",
59    "$camera_path/pipeline_core/ipp/src/offline_pipeline.cpp",
60    "$camera_path/pipeline_core/ipp/src/offline_pipeline_manager.cpp",
61    "$camera_path/pipeline_core/nodes/src/dummy_node/dummy_node.cpp",
62    "$camera_path/pipeline_core/nodes/src/fork_node/fork_node.cpp",
63    "$camera_path/pipeline_core/nodes/src/merge_node/merge_node.cpp",
64    "$camera_path/pipeline_core/nodes/src/node_base/node_base.cpp",
65    "$camera_path/pipeline_core/nodes/src/sensor_node/sensor_node.cpp",
66    "$camera_path/pipeline_core/nodes/src/sink_node/sink_node.cpp",
67    "$camera_path/pipeline_core/nodes/src/source_node/source_node.cpp",
68    "$camera_path/pipeline_core/pipeline_impl/src/builder/stream_pipeline_builder.cpp",
69    "$camera_path/pipeline_core/pipeline_impl/src/dispatcher/stream_pipeline_dispatcher.cpp",
70    "$camera_path/pipeline_core/pipeline_impl/src/parser/config_parser.cpp",
71    "$camera_path/pipeline_core/pipeline_impl/src/strategy/config/config.c",
72    "$camera_path/pipeline_core/pipeline_impl/src/strategy/config/params.c",
73    "$camera_path/pipeline_core/pipeline_impl/src/strategy/stream_pipeline_strategy.cpp",
74    "$camera_path/pipeline_core/pipeline_impl/src/stream_pipeline_core.cpp",
75    "$camera_path/pipeline_core/src/pipeline_core.cpp",
76    "//device/soc/rockchip/common/hardware/mpp/src/mpi_enc_utils.c",
77  ]
78  include_dirs = [
79    "//commonlibrary/c_utils/base/include",
80    "//base/hiviewdfx/interfaces/innerkits/libhilog/include",
81    "$camera_path/utils/exif",
82    "$camera_path/../interfaces/include",
83    "$camera_path/../interfaces/hdi_ipc",
84    "$camera_path/include",
85    "$camera_path/../interfaces",
86    "$camera_path/../v4l2",
87    "$camera_path/../v4l2/camera_host/include",
88    "$camera_path/../v4l2/camera_device/include",
89    "$camera_path/../v4l2/stream_operator/include",
90    "$camera_path/../v4l2/include",
91    "$camera_path/device_manager",
92    "$camera_path/device_manager/include",
93    "$camera_path/metadata_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    "../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    "$camera_path/adapter/platform/v4l2/src/driver_adapter/include/",
120    "//foundation/communication/ipc/ipc/native/src/core/include",
121    "//commonlibrary/c_utils/base/include",
122    "src/node",
123    "//device/soc/rockchip/common/hardware/rga/include",
124    "//device/soc/rockchip/common/hardware/mpp/include",
125    "//third_party/libexif",
126
127    # hcs parser
128    "//system/core/include/cutils",
129  ]
130
131  deps = [
132    "$board_camera_path:config.c",
133    "$board_camera_path:params.c",
134    "$board_camera_path/device_manager:camera_device_manager",
135    "$board_camera_path/metadata_manager:camera_metadata_manager",
136    "$camera_path/buffer_manager:camera_buffer_manager",
137    "$camera_path/utils:camera_utils",
138    "//device/soc/rockchip/rk3566/hardware/mpp:libmpp",
139    "//device/soc/rockchip/rk3566/hardware/rga:librga",
140    "//drivers/interface/camera/v1_0:libcamera_stub_1.0",
141    "//third_party/libjpeg-turbo:turbojpeg_static",
142  ]
143
144  if (is_standard_system) {
145    external_deps = [
146      "hdf_core:libhdf_utils",
147      "hilog:libhilog",
148    ]
149  } else {
150    external_deps = [ "hilog:libhilog" ]
151  }
152  external_deps += [
153    "drivers_interface_camera:metadata",
154    "graphic_chipsetsdk:surface",
155    "ipc:ipc_single",
156  ]
157
158  public_configs = [ ":pipe_config" ]
159  install_images = [ chipset_base_dir ]
160  subsystem_name = "kaihong_products"
161  part_name = "kaihong_products"
162}
163
164config("example_config") {
165  visibility = [ ":*" ]
166
167  cflags = [
168    "-Wno-error",
169    "-Wno-unused-function",
170    "-Wno-unused-parameter",
171  ]
172}
173
174ohos_shared_library("camera_ipp_algo_example") {
175  sources = [ "src/ipp_algo_example/ipp_algo_example.c" ]
176
177  include_dirs = [
178    "$camera_path/pipeline_core/ipp/include",
179    "//commonlibrary/c_utils/base/include",
180  ]
181  external_deps = [ "c_utils:utils" ]
182  public_configs = [ ":example_config" ]
183  install_images = [ chipset_base_dir ]
184  subsystem_name = "kaihong_products"
185  part_name = "kaihong_products"
186}
187