BUILD.gn (6183B)
1 # Copyright (c) 2020 The WebRTC project authors. All Rights Reserved. 2 # 3 # Use of this source code is governed by a BSD-style license 4 # that can be found in the LICENSE file in the root of the source 5 # tree. An additional intellectual property rights grant can be found 6 # in the file PATENTS. All contributing project authors may 7 # be found in the AUTHORS file in the root of the source tree. 8 9 import("../../../webrtc.gni") 10 11 rtc_library("scalability_mode_util") { 12 sources = [ 13 "scalability_mode_util.cc", 14 "scalability_mode_util.h", 15 ] 16 deps = [ 17 "../../../api/video_codecs:scalability_mode", 18 "../../../api/video_codecs:video_codecs_api", 19 "../../../rtc_base:checks", 20 "../../../rtc_base/system:rtc_export", 21 "//third_party/abseil-cpp/absl/algorithm:container", 22 "//third_party/abseil-cpp/absl/strings:string_view", 23 ] 24 } 25 26 rtc_library("scalable_video_controller") { 27 sources = [ 28 "scalable_video_controller.h", 29 "scalable_video_controller_no_layering.cc", 30 "scalable_video_controller_no_layering.h", 31 ] 32 deps = [ 33 "../../../api/transport/rtp:dependency_descriptor", 34 "../../../api/video:video_bitrate_allocation", 35 "../../../api/video:video_codec_constants", 36 "../../../common_video/generic_frame_descriptor", 37 "../../../rtc_base:checks", 38 "//third_party/abseil-cpp/absl/container:inlined_vector", 39 ] 40 } 41 42 rtc_library("scalability_structures") { 43 sources = [ 44 "create_scalability_structure.cc", 45 "create_scalability_structure.h", 46 "scalability_structure_full_svc.cc", 47 "scalability_structure_full_svc.h", 48 "scalability_structure_key_svc.cc", 49 "scalability_structure_key_svc.h", 50 "scalability_structure_l2t2_key_shift.cc", 51 "scalability_structure_l2t2_key_shift.h", 52 "scalability_structure_simulcast.cc", 53 "scalability_structure_simulcast.h", 54 ] 55 deps = [ 56 ":scalable_video_controller", 57 "../../../api/transport/rtp:dependency_descriptor", 58 "../../../api/video:video_bitrate_allocation", 59 "../../../api/video_codecs:scalability_mode", 60 "../../../common_video/generic_frame_descriptor", 61 "../../../rtc_base:checks", 62 "../../../rtc_base:logging", 63 "../../../rtc_base/system:rtc_export", 64 "//third_party/abseil-cpp/absl/base:core_headers", 65 "//third_party/abseil-cpp/absl/strings:string_view", 66 ] 67 } 68 69 rtc_library("svc_rate_allocator") { 70 sources = [ 71 "svc_rate_allocator.cc", 72 "svc_rate_allocator.h", 73 ] 74 deps = [ 75 ":scalability_structures", 76 ":scalable_video_controller", 77 "../../../api:field_trials_view", 78 "../../../api/units:data_rate", 79 "../../../api/video:video_bitrate_allocation", 80 "../../../api/video:video_bitrate_allocator", 81 "../../../api/video:video_codec_constants", 82 "../../../api/video:video_frame", 83 "../../../api/video_codecs:scalability_mode", 84 "../../../api/video_codecs:video_codecs_api", 85 "../../../rtc_base:checks", 86 "//third_party/abseil-cpp/absl/container:inlined_vector", 87 ] 88 } 89 90 rtc_library("simulcast_to_svc_converter") { 91 sources = [ 92 "simulcast_to_svc_converter.cc", 93 "simulcast_to_svc_converter.h", 94 ] 95 deps = [ 96 ":scalability_mode_util", 97 ":scalability_structures", 98 ":scalable_video_controller", 99 "..:codec_globals_headers", 100 "../../../api/video:encoded_image", 101 "../../../api/video:video_bitrate_allocation", 102 "../../../api/video_codecs:scalability_mode", 103 "../../../api/video_codecs:video_codecs_api", 104 "../../../modules/video_coding:video_codec_interface", 105 "../../../modules/video_coding:video_coding_utility", 106 "../../../rtc_base:checks", 107 "../../../rtc_base/system:rtc_export", 108 ] 109 } 110 111 if (rtc_include_tests) { 112 rtc_library("scalability_structure_tests") { 113 testonly = true 114 sources = [ 115 "scalability_mode_util_unittest.cc", 116 "scalability_structure_full_svc_unittest.cc", 117 "scalability_structure_key_svc_unittest.cc", 118 "scalability_structure_l2t2_key_shift_unittest.cc", 119 "scalability_structure_test_helpers.cc", 120 "scalability_structure_test_helpers.h", 121 "scalability_structure_unittest.cc", 122 ] 123 deps = [ 124 ":scalability_mode_util", 125 ":scalability_structures", 126 ":scalable_video_controller", 127 ":simulcast_to_svc_converter", 128 "..:chain_diff_calculator", 129 "..:frame_dependencies_calculator", 130 "../../../api:array_view", 131 "../../../api/transport/rtp:dependency_descriptor", 132 "../../../api/video:video_bitrate_allocation", 133 "../../../api/video:video_frame_type", 134 "../../../api/video_codecs:scalability_mode", 135 "../../../common_video/generic_frame_descriptor", 136 "../../../rtc_base:checks", 137 "../../../rtc_base:stringutils", 138 "../../../test:test_support", 139 "//third_party/abseil-cpp/absl/strings:string_view", 140 ] 141 } 142 143 rtc_library("svc_rate_allocator_tests") { 144 testonly = true 145 sources = [ "svc_rate_allocator_unittest.cc" ] 146 deps = [ 147 ":svc_rate_allocator", 148 "..:webrtc_vp9_helpers", 149 "../../../api:field_trials", 150 "../../../api/units:data_rate", 151 "../../../api/video:video_bitrate_allocation", 152 "../../../api/video:video_bitrate_allocator", 153 "../../../api/video:video_codec_constants", 154 "../../../api/video:video_frame", 155 "../../../api/video_codecs:scalability_mode", 156 "../../../api/video_codecs:video_codecs_api", 157 "../../../rtc_base:checks", 158 "../../../test:create_test_field_trials", 159 "../../../test:test_support", 160 "../codecs/av1:av1_svc_config", 161 "//third_party/abseil-cpp/absl/container:inlined_vector", 162 ] 163 } 164 165 rtc_library("simulcast_to_svc_converter_tests") { 166 testonly = true 167 sources = [ "simulcast_to_svc_converter_unittest.cc" ] 168 deps = [ 169 ":scalability_structures", 170 ":scalable_video_controller", 171 ":simulcast_to_svc_converter", 172 "..:video_codec_interface", 173 "../../../api/video:encoded_image", 174 "../../../api/video:video_bitrate_allocation", 175 "../../../api/video:video_frame", 176 "../../../api/video_codecs:scalability_mode", 177 "../../../api/video_codecs:video_codecs_api", 178 "../../../rtc_base:checks", 179 "../../../test:test_support", 180 ] 181 } 182 }