xref: /aosp_15_r20/external/webrtc/video/adaptation/BUILD.gn (revision d9f758449e529ab9291ac668be2861e7a55c2422)
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_library("video_adaptation") {
12  sources = [
13    "balanced_constraint.cc",
14    "balanced_constraint.h",
15    "bandwidth_quality_scaler_resource.cc",
16    "bandwidth_quality_scaler_resource.h",
17    "bitrate_constraint.cc",
18    "bitrate_constraint.h",
19    "encode_usage_resource.cc",
20    "encode_usage_resource.h",
21    "overuse_frame_detector.cc",
22    "overuse_frame_detector.h",
23    "pixel_limit_resource.cc",
24    "pixel_limit_resource.h",
25    "quality_rampup_experiment_helper.cc",
26    "quality_rampup_experiment_helper.h",
27    "quality_scaler_resource.cc",
28    "quality_scaler_resource.h",
29    "video_stream_encoder_resource.cc",
30    "video_stream_encoder_resource.h",
31    "video_stream_encoder_resource_manager.cc",
32    "video_stream_encoder_resource_manager.h",
33  ]
34
35  deps = [
36    "../../api:field_trials_view",
37    "../../api:rtp_parameters",
38    "../../api:scoped_refptr",
39    "../../api:sequence_checker",
40    "../../api/adaptation:resource_adaptation_api",
41    "../../api/task_queue:task_queue",
42    "../../api/units:data_rate",
43    "../../api/units:time_delta",
44    "../../api/video:video_adaptation",
45    "../../api/video:video_frame",
46    "../../api/video:video_stream_encoder",
47    "../../api/video_codecs:video_codecs_api",
48    "../../call/adaptation:resource_adaptation",
49    "../../modules/video_coding:video_coding_utility",
50    "../../modules/video_coding/svc:scalability_mode_util",
51    "../../rtc_base:checks",
52    "../../rtc_base:event_tracer",
53    "../../rtc_base:logging",
54    "../../rtc_base:macromagic",
55    "../../rtc_base:refcount",
56    "../../rtc_base:rtc_event",
57    "../../rtc_base:rtc_numerics",
58    "../../rtc_base:safe_conversions",
59    "../../rtc_base:stringutils",
60    "../../rtc_base:timeutils",
61    "../../rtc_base/experiments:balanced_degradation_settings",
62    "../../rtc_base/experiments:field_trial_parser",
63    "../../rtc_base/experiments:quality_rampup_experiment",
64    "../../rtc_base/experiments:quality_scaler_settings",
65    "../../rtc_base/synchronization:mutex",
66    "../../rtc_base/system:no_unique_address",
67    "../../rtc_base/task_utils:repeating_task",
68    "../../system_wrappers:field_trial",
69    "../../system_wrappers:system_wrappers",
70    "../../video:video_stream_encoder_interface",
71    "../../video/config:encoder_config",
72  ]
73  absl_deps = [
74    "//third_party/abseil-cpp/absl/algorithm:container",
75    "//third_party/abseil-cpp/absl/base:core_headers",
76    "//third_party/abseil-cpp/absl/types:optional",
77  ]
78}
79
80if (rtc_include_tests) {
81  rtc_library("video_adaptation_tests") {
82    testonly = true
83
84    defines = []
85    sources = [
86      "bitrate_constraint_unittest.cc",
87      "overuse_frame_detector_unittest.cc",
88      "pixel_limit_resource_unittest.cc",
89      "quality_scaler_resource_unittest.cc",
90    ]
91    deps = [
92      ":video_adaptation",
93      "../../api:field_trials_view",
94      "../../api:scoped_refptr",
95      "../../api/task_queue:task_queue",
96      "../../api/units:time_delta",
97      "../../api/units:timestamp",
98      "../../api/video:encoded_image",
99      "../../api/video:video_adaptation",
100      "../../api/video:video_frame",
101      "../../api/video_codecs:scalability_mode",
102      "../../api/video_codecs:video_codecs_api",
103      "../../call/adaptation:resource_adaptation",
104      "../../call/adaptation:resource_adaptation_test_utilities",
105      "../../modules/video_coding:video_coding_utility",
106      "../../rtc_base:checks",
107      "../../rtc_base:logging",
108      "../../rtc_base:random",
109      "../../rtc_base:rtc_base_tests_utils",
110      "../../rtc_base:rtc_event",
111      "../../rtc_base:rtc_numerics",
112      "../../rtc_base:task_queue_for_test",
113      "../../rtc_base:threading",
114      "../../test:field_trial",
115      "../../test:rtc_expect_death",
116      "../../test:scoped_key_value_config",
117      "../../test:test_support",
118      "../../test/time_controller:time_controller",
119    ]
120    absl_deps = [
121      "//third_party/abseil-cpp/absl/functional:any_invocable",
122      "//third_party/abseil-cpp/absl/types:optional",
123    ]
124  }
125}
126