1# Copyright (C) 2023 Huawei Device 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. 13 14import("//build/ohos.gni") 15import("//foundation/multimedia/av_codec/config.gni") 16 17ohos_static_library("av_codec_codec_base") { 18 cflags = [ 19 "-std=c++17", 20 "-fno-rtti", 21 "-fno-exceptions", 22 "-Wall", 23 "-fno-common", 24 "-fstack-protector-strong", 25 "-Wshadow", 26 "-FPIC", 27 "-FS", 28 "-O2", 29 "-D_FORTIFY_SOURCE=2", 30 "-fvisibility=hidden", 31 "-Wformat=2", 32 "-Wfloat-equal", 33 "-Wdate-time", 34 "-Werror", 35 "-Wno-deprecated-declarations", 36 "-Wextra", 37 "-Wimplicit-fallthrough", 38 "-Wsign-compare", 39 "-Wunused-parameter", 40 ] 41 sanitize = { 42 cfi = true 43 cfi_cross_dso = true 44 debug = false 45 } 46 47 include_dirs = [ 48 "$av_codec_root_dir/interfaces/inner_api/native", 49 "$av_codec_root_dir/interfaces/kits/c", 50 "$av_codec_root_dir/services/dfx/include", 51 "$av_codec_root_dir/services/engine/base/include", 52 "$av_codec_root_dir/services/utils/include", 53 "//base/hiviewdfx/hisysevent/interfaces/native/innerkits/hisysevent/include", 54 "//third_party/ffmpeg", 55 ] 56 57 sources = [ "$av_codec_root_dir/services/engine/base/codecbase.cpp" ] 58 59 deps = [ 60 "$av_codec_root_dir/services/engine/common:av_codec_engine_common", 61 "//third_party/ffmpeg:libohosffmpeg", 62 ] 63 64 public_deps = [ 65 "$av_codec_root_dir/services/dfx:av_codec_service_dfx", 66 "$av_codec_root_dir/services/utils:av_codec_format", 67 ] 68 69 external_deps = [ 70 "graphic_2d:surface", 71 "hilog:libhilog", 72 "hisysevent:libhisysevent", 73 "hitrace:hitrace_meter", 74 ] 75 76 subsystem_name = "multimedia" 77 part_name = "av_codec" 78} 79