mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-12 21:30:45 +01:00

Instead, use an array indexed on the scalability mode. This is a follow-up on https://webrtc-review.googlesource.com/c/src/+/344760. Bug: webrtc:15892 Change-Id: I8e820d758e1838d65ae771b502c7c27a89790026 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/345922 Commit-Queue: Evan Shrubsole <eshr@google.com> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#42013}
136 lines
4.3 KiB
Text
136 lines
4.3 KiB
Text
# Copyright (c) 2020 The WebRTC project authors. All Rights Reserved.
|
|
#
|
|
# Use of this source code is governed by a BSD-style license
|
|
# that can be found in the LICENSE file in the root of the source
|
|
# tree. An additional intellectual property rights grant can be found
|
|
# in the file PATENTS. All contributing project authors may
|
|
# be found in the AUTHORS file in the root of the source tree.
|
|
|
|
import("../../../webrtc.gni")
|
|
|
|
rtc_source_set("scalability_mode_util") {
|
|
sources = [
|
|
"scalability_mode_util.cc",
|
|
"scalability_mode_util.h",
|
|
]
|
|
deps = [
|
|
"../../../api/video_codecs:scalability_mode",
|
|
"../../../api/video_codecs:video_codecs_api",
|
|
"../../../rtc_base:checks",
|
|
]
|
|
absl_deps = [
|
|
"//third_party/abseil-cpp/absl/algorithm:container",
|
|
"//third_party/abseil-cpp/absl/strings",
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("scalable_video_controller") {
|
|
sources = [
|
|
"scalable_video_controller.h",
|
|
"scalable_video_controller_no_layering.cc",
|
|
"scalable_video_controller_no_layering.h",
|
|
]
|
|
deps = [
|
|
"../../../api/transport/rtp:dependency_descriptor",
|
|
"../../../api/video:video_bitrate_allocation",
|
|
"../../../common_video/generic_frame_descriptor",
|
|
"../../../rtc_base:checks",
|
|
]
|
|
absl_deps = [
|
|
"//third_party/abseil-cpp/absl/container:inlined_vector",
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("scalability_structures") {
|
|
sources = [
|
|
"create_scalability_structure.cc",
|
|
"create_scalability_structure.h",
|
|
"scalability_structure_full_svc.cc",
|
|
"scalability_structure_full_svc.h",
|
|
"scalability_structure_key_svc.cc",
|
|
"scalability_structure_key_svc.h",
|
|
"scalability_structure_l2t2_key_shift.cc",
|
|
"scalability_structure_l2t2_key_shift.h",
|
|
"scalability_structure_simulcast.cc",
|
|
"scalability_structure_simulcast.h",
|
|
]
|
|
deps = [
|
|
":scalable_video_controller",
|
|
"../../../api/transport/rtp:dependency_descriptor",
|
|
"../../../api/video:video_bitrate_allocation",
|
|
"../../../api/video_codecs:scalability_mode",
|
|
"../../../common_video/generic_frame_descriptor",
|
|
"../../../rtc_base:checks",
|
|
"../../../rtc_base:logging",
|
|
]
|
|
absl_deps = [
|
|
"//third_party/abseil-cpp/absl/base:core_headers",
|
|
"//third_party/abseil-cpp/absl/strings",
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("svc_rate_allocator") {
|
|
sources = [
|
|
"svc_rate_allocator.cc",
|
|
"svc_rate_allocator.h",
|
|
]
|
|
deps = [
|
|
":scalability_structures",
|
|
"../../../api/video:video_bitrate_allocation",
|
|
"../../../api/video:video_bitrate_allocator",
|
|
"../../../api/video:video_codec_constants",
|
|
"../../../api/video_codecs:video_codecs_api",
|
|
"../../../rtc_base:checks",
|
|
"../../../rtc_base/experiments:stable_target_rate_experiment",
|
|
]
|
|
absl_deps = [ "//third_party/abseil-cpp/absl/container:inlined_vector" ]
|
|
}
|
|
|
|
if (rtc_include_tests) {
|
|
rtc_source_set("scalability_structure_tests") {
|
|
testonly = true
|
|
sources = [
|
|
"scalability_mode_util_unittest.cc",
|
|
"scalability_structure_full_svc_unittest.cc",
|
|
"scalability_structure_key_svc_unittest.cc",
|
|
"scalability_structure_l2t2_key_shift_unittest.cc",
|
|
"scalability_structure_test_helpers.cc",
|
|
"scalability_structure_test_helpers.h",
|
|
"scalability_structure_unittest.cc",
|
|
]
|
|
deps = [
|
|
":scalability_mode_util",
|
|
":scalability_structures",
|
|
":scalable_video_controller",
|
|
"..:chain_diff_calculator",
|
|
"..:frame_dependencies_calculator",
|
|
"../../../api:array_view",
|
|
"../../../api/transport/rtp:dependency_descriptor",
|
|
"../../../api/video:video_bitrate_allocation",
|
|
"../../../api/video:video_frame_type",
|
|
"../../../api/video_codecs:scalability_mode",
|
|
"../../../common_video/generic_frame_descriptor",
|
|
"../../../rtc_base:stringutils",
|
|
"../../../test:test_support",
|
|
]
|
|
absl_deps = [
|
|
"//third_party/abseil-cpp/absl/strings",
|
|
"//third_party/abseil-cpp/absl/types:optional",
|
|
]
|
|
}
|
|
|
|
rtc_source_set("svc_rate_allocator_tests") {
|
|
testonly = true
|
|
sources = [ "svc_rate_allocator_unittest.cc" ]
|
|
deps = [
|
|
":svc_rate_allocator",
|
|
"..:webrtc_vp9_helpers",
|
|
"../../../rtc_base:checks",
|
|
"../../../test:field_trial",
|
|
"../../../test:test_support",
|
|
]
|
|
}
|
|
}
|