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 9import("../../../webrtc.gni") 10 11rtc_source_set("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 ] 21 absl_deps = [ 22 "//third_party/abseil-cpp/absl/strings", 23 "//third_party/abseil-cpp/absl/types:optional", 24 ] 25} 26 27rtc_source_set("scalable_video_controller") { 28 sources = [ 29 "scalable_video_controller.h", 30 "scalable_video_controller_no_layering.cc", 31 "scalable_video_controller_no_layering.h", 32 ] 33 deps = [ 34 "../../../api/transport/rtp:dependency_descriptor", 35 "../../../api/video:video_bitrate_allocation", 36 "../../../common_video/generic_frame_descriptor", 37 "../../../rtc_base:checks", 38 ] 39 absl_deps = [ 40 "//third_party/abseil-cpp/absl/container:inlined_vector", 41 "//third_party/abseil-cpp/absl/types:optional", 42 ] 43} 44 45rtc_source_set("scalability_structures") { 46 sources = [ 47 "create_scalability_structure.cc", 48 "create_scalability_structure.h", 49 "scalability_structure_full_svc.cc", 50 "scalability_structure_full_svc.h", 51 "scalability_structure_key_svc.cc", 52 "scalability_structure_key_svc.h", 53 "scalability_structure_l2t2_key_shift.cc", 54 "scalability_structure_l2t2_key_shift.h", 55 "scalability_structure_simulcast.cc", 56 "scalability_structure_simulcast.h", 57 ] 58 deps = [ 59 ":scalable_video_controller", 60 "../../../api/transport/rtp:dependency_descriptor", 61 "../../../api/video:video_bitrate_allocation", 62 "../../../api/video_codecs:scalability_mode", 63 "../../../common_video/generic_frame_descriptor", 64 "../../../rtc_base:checks", 65 "../../../rtc_base:logging", 66 ] 67 absl_deps = [ 68 "//third_party/abseil-cpp/absl/base:core_headers", 69 "//third_party/abseil-cpp/absl/strings", 70 "//third_party/abseil-cpp/absl/types:optional", 71 ] 72} 73 74rtc_source_set("svc_rate_allocator") { 75 sources = [ 76 "svc_rate_allocator.cc", 77 "svc_rate_allocator.h", 78 ] 79 deps = [ 80 ":scalability_structures", 81 "../../../api/video:video_bitrate_allocation", 82 "../../../api/video:video_bitrate_allocator", 83 "../../../api/video:video_codec_constants", 84 "../../../api/video_codecs:video_codecs_api", 85 "../../../rtc_base:checks", 86 "../../../rtc_base/experiments:stable_target_rate_experiment", 87 ] 88 absl_deps = [ "//third_party/abseil-cpp/absl/container:inlined_vector" ] 89} 90 91if (rtc_include_tests) { 92 rtc_source_set("scalability_structure_tests") { 93 testonly = true 94 sources = [ 95 "scalability_mode_util_unittest.cc", 96 "scalability_structure_full_svc_unittest.cc", 97 "scalability_structure_key_svc_unittest.cc", 98 "scalability_structure_l2t2_key_shift_unittest.cc", 99 "scalability_structure_test_helpers.cc", 100 "scalability_structure_test_helpers.h", 101 "scalability_structure_unittest.cc", 102 ] 103 deps = [ 104 ":scalability_mode_util", 105 ":scalability_structures", 106 ":scalable_video_controller", 107 "..:chain_diff_calculator", 108 "..:frame_dependencies_calculator", 109 "../../../api:array_view", 110 "../../../api/transport/rtp:dependency_descriptor", 111 "../../../api/video:video_bitrate_allocation", 112 "../../../api/video:video_frame_type", 113 "../../../api/video_codecs:scalability_mode", 114 "../../../common_video/generic_frame_descriptor", 115 "../../../rtc_base:stringutils", 116 "../../../test:test_support", 117 ] 118 absl_deps = [ 119 "//third_party/abseil-cpp/absl/strings", 120 "//third_party/abseil-cpp/absl/types:optional", 121 ] 122 } 123 124 rtc_source_set("svc_rate_allocator_tests") { 125 testonly = true 126 sources = [ "svc_rate_allocator_unittest.cc" ] 127 deps = [ 128 ":svc_rate_allocator", 129 "..:webrtc_vp9_helpers", 130 "../../../rtc_base:checks", 131 "../../../test:field_trial", 132 "../../../test:test_support", 133 ] 134 } 135} 136