blob: 2eb25025c1e39b73b0776dc5b451fcc52b12dacb [file] [log] [blame]
Danil Chapovalovda7fe392020-10-15 15:57:17 +02001# 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("scalable_video_controller") {
12 sources = [
13 "scalable_video_controller.h",
14 "scalable_video_controller_no_layering.cc",
15 "scalable_video_controller_no_layering.h",
16 ]
17 deps = [
18 "../../../api/transport/rtp:dependency_descriptor",
19 "../../../api/video:video_bitrate_allocation",
20 "../../../common_video/generic_frame_descriptor",
21 "../../../rtc_base:checks",
22 ]
23 absl_deps = [
24 "//third_party/abseil-cpp/absl/container:inlined_vector",
25 "//third_party/abseil-cpp/absl/types:optional",
26 ]
27}
28
29rtc_source_set("scalability_structures") {
30 sources = [
31 "create_scalability_structure.cc",
32 "create_scalability_structure.h",
33 "scalability_structure_full_svc.cc",
34 "scalability_structure_full_svc.h",
Danil Chapovalov4b18e242020-10-16 16:14:58 +020035 "scalability_structure_key_svc.cc",
36 "scalability_structure_key_svc.h",
Danil Chapovalovda7fe392020-10-15 15:57:17 +020037 "scalability_structure_l2t2_key_shift.cc",
38 "scalability_structure_l2t2_key_shift.h",
Danil Chapovalov735e33f2021-02-18 14:39:52 +010039 "scalability_structure_simulcast.cc",
40 "scalability_structure_simulcast.h",
Danil Chapovalovda7fe392020-10-15 15:57:17 +020041 ]
42 deps = [
43 ":scalable_video_controller",
44 "../../../api/transport/rtp:dependency_descriptor",
Danil Chapovalov4b18e242020-10-16 16:14:58 +020045 "../../../api/video:video_bitrate_allocation",
Danil Chapovalovda7fe392020-10-15 15:57:17 +020046 "../../../common_video/generic_frame_descriptor",
47 "../../../rtc_base:checks",
48 "../../../rtc_base:logging",
49 ]
50 absl_deps = [
51 "//third_party/abseil-cpp/absl/base:core_headers",
52 "//third_party/abseil-cpp/absl/strings",
53 "//third_party/abseil-cpp/absl/types:optional",
54 ]
55}
56
Danil Chapovalov649648e2020-11-05 18:06:00 +010057rtc_source_set("svc_rate_allocator") {
58 sources = [
59 "svc_rate_allocator.cc",
60 "svc_rate_allocator.h",
61 ]
62 deps = [
63 ":scalability_structures",
64 "../../../api/video:video_bitrate_allocation",
65 "../../../api/video:video_bitrate_allocator",
66 "../../../api/video:video_codec_constants",
67 "../../../api/video_codecs:video_codecs_api",
68 "../../../rtc_base:checks",
69 "../../../rtc_base/experiments:stable_target_rate_experiment",
70 ]
71 absl_deps = [ "//third_party/abseil-cpp/absl/container:inlined_vector" ]
72}
73
Danil Chapovalovda7fe392020-10-15 15:57:17 +020074if (rtc_include_tests) {
Danil Chapovalov649648e2020-11-05 18:06:00 +010075 rtc_source_set("scalability_structure_tests") {
Danil Chapovalovda7fe392020-10-15 15:57:17 +020076 testonly = true
77 sources = [
Danil Chapovalovf91f8b52021-02-12 17:24:51 +010078 "scalability_structure_full_svc_unittest.cc",
Danil Chapovalov4b18e242020-10-16 16:14:58 +020079 "scalability_structure_key_svc_unittest.cc",
Danil Chapovalov71002a22020-10-23 19:04:11 +020080 "scalability_structure_l2t2_key_shift_unittest.cc",
Danil Chapovalovda7fe392020-10-15 15:57:17 +020081 "scalability_structure_test_helpers.cc",
82 "scalability_structure_test_helpers.h",
83 "scalability_structure_unittest.cc",
84 ]
85 deps = [
86 ":scalability_structures",
87 ":scalable_video_controller",
88 "..:chain_diff_calculator",
89 "..:frame_dependencies_calculator",
Danil Chapovalov4b18e242020-10-16 16:14:58 +020090 "../../../api:array_view",
Danil Chapovalovda7fe392020-10-15 15:57:17 +020091 "../../../api/transport/rtp:dependency_descriptor",
92 "../../../api/video:video_bitrate_allocation",
93 "../../../api/video:video_frame_type",
94 "../../../common_video/generic_frame_descriptor",
95 "../../../test:test_support",
96 ]
97 absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
98 }
Danil Chapovalov649648e2020-11-05 18:06:00 +010099
100 rtc_source_set("svc_rate_allocator_tests") {
101 testonly = true
102 sources = [ "svc_rate_allocator_unittest.cc" ]
103 deps = [
104 ":svc_rate_allocator",
105 "..:webrtc_vp9_helpers",
106 "../../../rtc_base:checks",
107 "../../../test:field_trial",
108 "../../../test:test_support",
109 ]
110 }
Danil Chapovalovda7fe392020-10-15 15:57:17 +0200111}