| # 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("//third_party/libaom/options.gni") | |
| import("../../../../webrtc.gni") | |
| rtc_library("av1_svc_config") { | |
| sources = [ | |
| "av1_svc_config.cc", | |
| "av1_svc_config.h", | |
| ] | |
| deps = [ | |
| "../../../../api/video:video_frame", | |
| "../../../../api/video_codecs:scalability_mode", | |
| "../../../../api/video_codecs:video_codecs_api", | |
| "../../../../rtc_base:checks", | |
| "../../../../rtc_base:logging", | |
| "../../../../rtc_base:stringutils", | |
| "../../svc:scalability_mode_util", | |
| "../../svc:scalability_structures", | |
| "../../svc:scalable_video_controller", | |
| "//third_party/abseil-cpp/absl/container:inlined_vector", | |
| ] | |
| } | |
| rtc_library("dav1d_decoder") { | |
| visibility = [ "*" ] | |
| poisonous = [ "software_video_codecs" ] | |
| sources = [ | |
| "dav1d_decoder.cc", | |
| "dav1d_decoder.h", | |
| ] | |
| deps = [ | |
| "../..:video_codec_interface", | |
| "../../../../api:refcountedbase", | |
| "../../../../api:scoped_refptr", | |
| "../../../../api/environment", | |
| "../../../../api/video:encoded_image", | |
| "../../../../api/video:video_frame", | |
| "../../../../api/video:video_rtp_headers", | |
| "../../../../api/video_codecs:video_codecs_api", | |
| "../../../../common_video", | |
| "../../../../rtc_base:logging", | |
| "//third_party/dav1d", | |
| "//third_party/libyuv", | |
| ] | |
| } | |
| rtc_library("libaom_av1_encoder") { | |
| visibility = [ "*" ] | |
| poisonous = [ "software_video_codecs" ] | |
| sources = [ | |
| "libaom_av1_encoder.cc", | |
| "libaom_av1_encoder.h", | |
| ] | |
| deps = [ | |
| ":libaom_speed_config_factory", | |
| "../..:frame_sampler", | |
| "../..:video_codec_interface", | |
| "../../../../api:field_trials_view", | |
| "../../../../api:scoped_refptr", | |
| "../../../../api/environment", | |
| "../../../../api/units:time_delta", | |
| "../../../../api/units:timestamp", | |
| "../../../../api/video:encoded_image", | |
| "../../../../api/video:render_resolution", | |
| "../../../../api/video:video_codec_constants", | |
| "../../../../api/video:video_frame", | |
| "../../../../api/video:video_frame_type", | |
| "../../../../api/video:video_rtp_headers", | |
| "../../../../api/video_codecs:scalability_mode", | |
| "../../../../api/video_codecs:video_codecs_api", | |
| "../../../../common_video/generic_frame_descriptor", | |
| "../../../../rtc_base:checks", | |
| "../../../../rtc_base:logging", | |
| "../../../../rtc_base/experiments:encoder_info_settings", | |
| "../../../../rtc_base/experiments:encoder_speed_experiment", | |
| "../../../../rtc_base/experiments:psnr_experiment", | |
| "../../../../system_wrappers", | |
| "../../../rtp_rtcp:rtp_rtcp_format", | |
| "../../svc:scalability_structures", | |
| "../../svc:scalable_video_controller", | |
| "//third_party/abseil-cpp/absl/algorithm:container", | |
| "//third_party/abseil-cpp/absl/base:core_headers", | |
| "//third_party/abseil-cpp/absl/base:nullability", | |
| "//third_party/abseil-cpp/absl/container:inlined_vector", | |
| "//third_party/abseil-cpp/absl/strings", | |
| "//third_party/libaom", | |
| ] | |
| } | |
| rtc_library("libaom_av1_encoder_v2") { | |
| visibility = [ "../../../../api/video_codecs:libaom_av1_encoder_factory" ] | |
| poisonous = [ "software_video_codecs" ] | |
| sources = [ | |
| "libaom_av1_encoder_v2.cc", | |
| "libaom_av1_encoder_v2.h", | |
| ] | |
| deps = [ | |
| "../../../../api:scoped_refptr", | |
| "../../../../api/units:data_rate", | |
| "../../../../api/units:data_size", | |
| "../../../../api/units:time_delta", | |
| "../../../../api/video:resolution", | |
| "../../../../api/video:video_codec_constants", | |
| "../../../../api/video:video_frame", | |
| "../../../../api/video_codecs:video_codecs_api", | |
| "../../../../api/video_codecs:video_encoder_factory_interface", | |
| "../../../../api/video_codecs:video_encoder_interface", | |
| "../../../../api/video_codecs:video_encoding_general", | |
| "../../../../rtc_base:checks", | |
| "../../../../rtc_base:logging", | |
| "../../../../rtc_base:rtc_numerics", | |
| "../../../../rtc_base:stringutils", | |
| "//third_party/abseil-cpp/absl/algorithm:container", | |
| "//third_party/abseil-cpp/absl/cleanup", | |
| "//third_party/libaom", | |
| ] | |
| } | |
| rtc_library("libaom_speed_config_factory") { | |
| sources = [ | |
| "libaom_speed_config_factory.cc", | |
| "libaom_speed_config_factory.h", | |
| ] | |
| deps = [ | |
| "../../../../api:field_trials_view", | |
| "../../../../api/units:time_delta", | |
| "../../../../api/video_codecs:video_codecs_api", | |
| "../../../../rtc_base/experiments:psnr_experiment", | |
| ] | |
| } | |
| if (rtc_include_tests) { | |
| rtc_library("video_coding_codecs_av1_tests") { | |
| testonly = true | |
| sources = [ | |
| "av1_svc_config_unittest.cc", | |
| "dav1d_decoder_unittest.cc", | |
| ] | |
| deps = [ | |
| ":av1_svc_config", | |
| ":dav1d_decoder", | |
| "../..:video_codec_interface", | |
| "../../../../api:field_trials", | |
| "../../../../api:make_ref_counted", | |
| "../../../../api:scoped_refptr", | |
| "../../../../api/environment", | |
| "../../../../api/environment:environment_factory", | |
| "../../../../api/transport/rtp:dependency_descriptor", | |
| "../../../../api/units:data_rate", | |
| "../../../../api/units:timestamp", | |
| "../../../../api/video:encoded_image", | |
| "../../../../api/video:render_resolution", | |
| "../../../../api/video:video_bitrate_allocation", | |
| "../../../../api/video:video_frame", | |
| "../../../../api/video:video_frame_type", | |
| "../../../../api/video:video_rtp_headers", | |
| "../../../../api/video_codecs:scalability_mode", | |
| "../../../../api/video_codecs:video_codecs_api", | |
| "../../../../rtc_base:checks", | |
| "../../../../test:create_test_field_trials", | |
| "../../../../test:test_support", | |
| ] | |
| if (enable_libaom) { | |
| sources += [ | |
| "libaom_av1_encoder_unittest.cc", | |
| "libaom_av1_unittest.cc", | |
| "libaom_speed_config_factory_unittest.cc", | |
| ] | |
| deps += [ | |
| ":libaom_av1_encoder", | |
| ":libaom_speed_config_factory", | |
| "../..:encoded_video_frame_producer", | |
| "../..:video_coding_utility", | |
| "../../../../api:create_frame_generator", | |
| "../../../../api:field_trials", | |
| "../../../../api:field_trials_view", | |
| "../../../../api:frame_generator_api", | |
| "../../../../api:mock_video_encoder", | |
| "../../../../api/units:data_size", | |
| "../../../../api/units:time_delta", | |
| "../../../../modules/rtp_rtcp:rtp_rtcp_format", | |
| "../../../../test:create_test_environment", | |
| "../../../../test:fileutils", | |
| "../../../../test:test_support", | |
| "../../../../test:video_test_support", | |
| "../../svc:scalability_mode_util", | |
| "../../svc:scalability_structures", | |
| "../../svc:scalable_video_controller", | |
| "../../svc:svc_rate_allocator", | |
| ] | |
| } | |
| } | |
| } |