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