Source code

Revision control

Copy as Markdown

Other Tools

# 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",
"//third_party/abseil-cpp/absl/algorithm:container",
"//third_party/abseil-cpp/absl/strings:string_view",
]
}
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",
"//third_party/abseil-cpp/absl/container:inlined_vector",
]
}
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",
"//third_party/abseil-cpp/absl/base:core_headers",
"//third_party/abseil-cpp/absl/strings:string_view",
]
}
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",
"//third_party/abseil-cpp/absl/container:inlined_vector",
]
}
rtc_source_set("simulcast_to_svc_converter") {
sources = [
"simulcast_to_svc_converter.cc",
"simulcast_to_svc_converter.h",
]
deps = [
":scalability_mode_util",
":scalability_structures",
":scalable_video_controller",
"../../../api/video:encoded_image",
"../../../api/video_codecs:video_codecs_api",
"../../../modules/video_coding:video_codec_interface",
"../../../rtc_base:checks",
"../../../rtc_base/system:rtc_export",
]
}
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",
":simulcast_to_svc_converter",
"..: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",
"//third_party/abseil-cpp/absl/strings:string_view",
]
}
rtc_source_set("svc_rate_allocator_tests") {
testonly = true
sources = [ "svc_rate_allocator_unittest.cc" ]
deps = [
":svc_rate_allocator",
"..:webrtc_vp9_helpers",
"../../../api/video:video_frame",
"../../../modules/video_coding/codecs/av1:av1_svc_config",
"../../../rtc_base:checks",
"../../../test:field_trial",
"../../../test:test_support",
]
}
rtc_source_set("simulcast_to_svc_converter_tests") {
testonly = true
sources = [ "simulcast_to_svc_converter_unittest.cc" ]
deps = [
":scalability_structures",
":scalable_video_controller",
":simulcast_to_svc_converter",
"../../../rtc_base:checks",
"../../../test:test_support",
]
}
}