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