# 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/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", ] } }