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