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