| # Copyright (c) 2014 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_library("encoded_frame") { | |
| visibility = [ "*" ] | |
| sources = [ | |
| "encoded_frame.cc", | |
| "encoded_frame.h", | |
| ] | |
| deps = [ | |
| ":codec_globals_headers", | |
| ":video_codec_interface", | |
| "../../api/video:encoded_image", | |
| "../../api/video:video_frame", | |
| "../../api/video:video_frame_i420", | |
| "../../api/video:video_rtp_headers", | |
| "../../modules:module_api", | |
| "../../modules:module_api_public", | |
| "../../modules/rtp_rtcp:rtp_video_header", | |
| "../../rtc_base:checks", | |
| "../../rtc_base:rtc_base_approved", | |
| "../../rtc_base/experiments:alr_experiment", | |
| "../../rtc_base/experiments:rtt_mult_experiment", | |
| "../../rtc_base/system:rtc_export", | |
| "../../system_wrappers", | |
| "//third_party/abseil-cpp/absl/types:optional", | |
| "//third_party/abseil-cpp/absl/types:variant", | |
| ] | |
| } | |
| rtc_library("frame_dependencies_calculator") { | |
| sources = [ | |
| "frame_dependencies_calculator.cc", | |
| "frame_dependencies_calculator.h", | |
| ] | |
| deps = [ | |
| "../../api:array_view", | |
| "../../api/video:video_frame_type", | |
| "../../common_video/generic_frame_descriptor", | |
| "../../rtc_base:checks", | |
| "../../rtc_base:logging", | |
| "//third_party/abseil-cpp/absl/algorithm:container", | |
| "//third_party/abseil-cpp/absl/container:inlined_vector", | |
| "//third_party/abseil-cpp/absl/types:optional", | |
| ] | |
| } | |
| rtc_library("nack_module") { | |
| visibility = [ "*" ] | |
| sources = [ | |
| "histogram.cc", | |
| "histogram.h", | |
| "nack_module.cc", | |
| "nack_module.h", | |
| ] | |
| deps = [ | |
| "..:module_api", | |
| "../../api/units:time_delta", | |
| "../../api/units:timestamp", | |
| "../../rtc_base:checks", | |
| "../../rtc_base:rtc_base_approved", | |
| "../../rtc_base:rtc_numerics", | |
| "../../rtc_base/experiments:field_trial_parser", | |
| "../../system_wrappers", | |
| "../../system_wrappers:field_trial", | |
| "../utility", | |
| ] | |
| } | |
| rtc_library("video_coding") { | |
| visibility = [ "*" ] | |
| deps = [ | |
| "..:module_fec_api", | |
| "../../api:array_view", | |
| "../../api:scoped_refptr", | |
| "../../api/video:encoded_image", | |
| "../../api/video:video_bitrate_allocation", | |
| "../../api/video:video_bitrate_allocator_factory", | |
| "../../rtc_base:deprecation", | |
| "../../system_wrappers:field_trial", | |
| "../../system_wrappers:metrics", | |
| "../rtp_rtcp:rtp_video_header", | |
| "//third_party/abseil-cpp/absl/base:core_headers", | |
| "//third_party/abseil-cpp/absl/memory", | |
| ] | |
| sources = [ | |
| "codec_timer.cc", | |
| "codec_timer.h", | |
| "decoder_database.cc", | |
| "decoder_database.h", | |
| "fec_controller_default.cc", | |
| "fec_controller_default.h", | |
| "fec_rate_table.h", | |
| "frame_buffer2.cc", | |
| "frame_buffer2.h", | |
| "frame_object.cc", | |
| "frame_object.h", | |
| "generic_decoder.cc", | |
| "generic_decoder.h", | |
| "h264_sprop_parameter_sets.cc", | |
| "h264_sprop_parameter_sets.h", | |
| "h264_sps_pps_tracker.cc", | |
| "h264_sps_pps_tracker.h", | |
| "include/video_codec_initializer.h", | |
| "inter_frame_delay.cc", | |
| "inter_frame_delay.h", | |
| "internal_defines.h", | |
| "jitter_estimator.cc", | |
| "jitter_estimator.h", | |
| "loss_notification_controller.cc", | |
| "loss_notification_controller.h", | |
| "media_opt_util.cc", | |
| "media_opt_util.h", | |
| "packet_buffer.cc", | |
| "packet_buffer.h", | |
| "rtp_frame_reference_finder.cc", | |
| "rtp_frame_reference_finder.h", | |
| "rtt_filter.cc", | |
| "rtt_filter.h", | |
| "timestamp_map.cc", | |
| "timestamp_map.h", | |
| "timing.cc", | |
| "timing.h", | |
| "unique_timestamp_counter.cc", | |
| "unique_timestamp_counter.h", | |
| "video_codec_initializer.cc", | |
| "video_receiver2.cc", | |
| "video_receiver2.h", | |
| ] | |
| deps += [ | |
| ":codec_globals_headers", | |
| ":encoded_frame", | |
| ":video_codec_interface", | |
| ":video_coding_utility", | |
| ":webrtc_vp9_helpers", | |
| "..:module_api", | |
| "..:module_api_public", | |
| "../../api:fec_controller_api", | |
| "../../api:rtp_headers", | |
| "../../api:rtp_packet_info", | |
| "../../api/units:data_rate", | |
| "../../api/units:time_delta", | |
| "../../api/video:builtin_video_bitrate_allocator_factory", | |
| "../../api/video:encoded_frame", | |
| "../../api/video:video_bitrate_allocator", | |
| "../../api/video:video_frame", | |
| "../../api/video:video_frame_i420", | |
| "../../api/video:video_frame_type", | |
| "../../api/video:video_rtp_headers", | |
| "../../api/video_codecs:video_codecs_api", | |
| "../../common_video", | |
| "../../rtc_base", | |
| "../../rtc_base:checks", | |
| "../../rtc_base:rtc_base_approved", | |
| "../../rtc_base:rtc_numerics", | |
| "../../rtc_base:rtc_task_queue", | |
| "../../rtc_base/experiments:alr_experiment", | |
| "../../rtc_base/experiments:field_trial_parser", | |
| "../../rtc_base/experiments:jitter_upper_bound_experiment", | |
| "../../rtc_base/experiments:min_video_bitrate_experiment", | |
| "../../rtc_base/experiments:rate_control_settings", | |
| "../../rtc_base/experiments:rtt_mult_experiment", | |
| "../../rtc_base/synchronization:sequence_checker", | |
| "../../rtc_base/task_utils:repeating_task", | |
| "../../rtc_base/third_party/base64", | |
| "../../rtc_base/time:timestamp_extrapolator", | |
| "../../system_wrappers", | |
| "../rtp_rtcp", | |
| "../rtp_rtcp:rtp_rtcp_format", | |
| "//third_party/abseil-cpp/absl/container:inlined_vector", | |
| "//third_party/abseil-cpp/absl/types:optional", | |
| "//third_party/abseil-cpp/absl/types:variant", | |
| ] | |
| } | |
| rtc_library("video_codec_interface") { | |
| visibility = [ "*" ] | |
| sources = [ | |
| "include/video_codec_interface.cc", | |
| "include/video_codec_interface.h", | |
| "include/video_coding_defines.h", | |
| "include/video_error_codes.h", | |
| "video_coding_defines.cc", | |
| ] | |
| deps = [ | |
| ":codec_globals_headers", | |
| "..:module_api", | |
| "../../api/video:video_frame", | |
| "../../api/video:video_rtp_headers", | |
| "../../api/video_codecs:video_codecs_api", | |
| "../../common_video", | |
| "../../common_video/generic_frame_descriptor", | |
| "../../rtc_base/system:rtc_export", | |
| "//third_party/abseil-cpp/absl/types:optional", | |
| ] | |
| } | |
| rtc_library("video_coding_legacy") { | |
| visibility = [ ":video_coding_unittests" ] | |
| sources = [ | |
| "decoding_state.cc", | |
| "decoding_state.h", | |
| "event_wrapper.cc", | |
| "event_wrapper.h", | |
| "frame_buffer.cc", | |
| "frame_buffer.h", | |
| "include/video_coding.h", | |
| "jitter_buffer.cc", | |
| "jitter_buffer.h", | |
| "jitter_buffer_common.h", | |
| "packet.cc", | |
| "packet.h", | |
| "receiver.cc", | |
| "receiver.h", | |
| "session_info.cc", | |
| "session_info.h", | |
| "video_coding_impl.cc", | |
| "video_coding_impl.h", | |
| "video_receiver.cc", | |
| ] | |
| deps = [ | |
| ":codec_globals_headers", | |
| ":encoded_frame", | |
| ":video_codec_interface", | |
| ":video_coding", | |
| "..:module_api", | |
| "..:module_api_public", | |
| "../../:webrtc_common", | |
| "../../api:rtp_headers", | |
| "../../api:rtp_packet_info", | |
| "../../api/video:encoded_image", | |
| "../../api/video:video_frame", | |
| "../../api/video:video_frame_type", | |
| "../../api/video:video_rtp_headers", | |
| "../../api/video_codecs:video_codecs_api", | |
| "../../common_video", | |
| "../../modules/rtp_rtcp:rtp_video_header", | |
| "../../rtc_base:checks", | |
| "../../rtc_base:logging", | |
| "../../rtc_base:rtc_base_approved", | |
| "../../rtc_base:rtc_event", | |
| "../../rtc_base/synchronization:sequence_checker", | |
| "../../system_wrappers", | |
| "../rtp_rtcp:rtp_rtcp_format", | |
| "../rtp_rtcp:rtp_video_header", | |
| "../utility", | |
| "//third_party/abseil-cpp/absl/memory", | |
| "//third_party/abseil-cpp/absl/types:optional", | |
| "//third_party/abseil-cpp/absl/types:variant", | |
| ] | |
| } | |
| rtc_source_set("codec_globals_headers") { | |
| visibility = [ "*" ] | |
| sources = [ | |
| "codecs/h264/include/h264_globals.h", | |
| "codecs/interface/common_constants.h", | |
| "codecs/vp8/include/vp8_globals.h", | |
| "codecs/vp9/include/vp9_globals.h", | |
| ] | |
| deps = [ "../../rtc_base:checks" ] | |
| } | |
| rtc_library("video_coding_utility") { | |
| visibility = [ "*" ] | |
| sources = [ | |
| "utility/decoded_frames_history.cc", | |
| "utility/decoded_frames_history.h", | |
| "utility/frame_dropper.cc", | |
| "utility/frame_dropper.h", | |
| "utility/framerate_controller.cc", | |
| "utility/framerate_controller.h", | |
| "utility/ivf_file_reader.cc", | |
| "utility/ivf_file_reader.h", | |
| "utility/ivf_file_writer.cc", | |
| "utility/ivf_file_writer.h", | |
| "utility/quality_scaler.cc", | |
| "utility/quality_scaler.h", | |
| "utility/simulcast_rate_allocator.cc", | |
| "utility/simulcast_rate_allocator.h", | |
| "utility/simulcast_utility.cc", | |
| "utility/simulcast_utility.h", | |
| "utility/vp8_header_parser.cc", | |
| "utility/vp8_header_parser.h", | |
| "utility/vp9_uncompressed_header_parser.cc", | |
| "utility/vp9_uncompressed_header_parser.h", | |
| ] | |
| deps = [ | |
| ":video_codec_interface", | |
| "..:module_api", | |
| "../../api/video:encoded_frame", | |
| "../../api/video:encoded_image", | |
| "../../api/video:video_bitrate_allocation", | |
| "../../api/video:video_bitrate_allocator", | |
| "../../api/video_codecs:video_codecs_api", | |
| "../../common_video", | |
| "../../modules/rtp_rtcp", | |
| "../../rtc_base:checks", | |
| "../../rtc_base:rtc_base_approved", | |
| "../../rtc_base:rtc_numerics", | |
| "../../rtc_base:rtc_task_queue", | |
| "../../rtc_base/experiments:experimental_screenshare_settings", | |
| "../../rtc_base/experiments:quality_scaler_settings", | |
| "../../rtc_base/experiments:quality_scaling_experiment", | |
| "../../rtc_base/experiments:rate_control_settings", | |
| "../../rtc_base/experiments:stable_target_rate_experiment", | |
| "../../rtc_base/synchronization:sequence_checker", | |
| "../../rtc_base/system:arch", | |
| "../../rtc_base/system:file_wrapper", | |
| "../../rtc_base/task_utils:repeating_task", | |
| "../../system_wrappers:field_trial", | |
| "../rtp_rtcp:rtp_rtcp_format", | |
| "//third_party/abseil-cpp/absl/types:optional", | |
| ] | |
| } | |
| rtc_library("webrtc_h264") { | |
| visibility = [ "*" ] | |
| sources = [ | |
| "codecs/h264/h264.cc", | |
| "codecs/h264/h264_color_space.cc", | |
| "codecs/h264/h264_color_space.h", | |
| "codecs/h264/h264_decoder_impl.cc", | |
| "codecs/h264/h264_decoder_impl.h", | |
| "codecs/h264/h264_encoder_impl.cc", | |
| "codecs/h264/h264_encoder_impl.h", | |
| "codecs/h264/include/h264.h", | |
| ] | |
| defines = [] | |
| deps = [ | |
| ":video_codec_interface", | |
| ":video_coding_utility", | |
| "../../api/video:video_frame", | |
| "../../api/video:video_frame_i010", | |
| "../../api/video:video_frame_i420", | |
| "../../api/video:video_rtp_headers", | |
| "../../api/video_codecs:video_codecs_api", | |
| "../../common_video", | |
| "../../media:rtc_h264_profile_id", | |
| "../../media:rtc_media_base", | |
| "../../rtc_base", | |
| "../../rtc_base:checks", | |
| "../../rtc_base/system:rtc_export", | |
| "../../system_wrappers:field_trial", | |
| "../../system_wrappers:metrics", | |
| "//third_party/abseil-cpp/absl/strings", | |
| "//third_party/abseil-cpp/absl/types:optional", | |
| "//third_party/libyuv", | |
| ] | |
| if (rtc_use_h264) { | |
| deps += [ | |
| "//third_party/ffmpeg", | |
| "//third_party/openh264:encoder", | |
| ] | |
| if (!build_with_mozilla) { | |
| deps += [ "../../media:rtc_media_base" ] | |
| } | |
| } | |
| } | |
| rtc_library("webrtc_multiplex") { | |
| sources = [ | |
| "codecs/multiplex/augmented_video_frame_buffer.cc", | |
| "codecs/multiplex/include/augmented_video_frame_buffer.h", | |
| "codecs/multiplex/include/multiplex_decoder_adapter.h", | |
| "codecs/multiplex/include/multiplex_encoder_adapter.h", | |
| "codecs/multiplex/multiplex_decoder_adapter.cc", | |
| "codecs/multiplex/multiplex_encoded_image_packer.cc", | |
| "codecs/multiplex/multiplex_encoded_image_packer.h", | |
| "codecs/multiplex/multiplex_encoder_adapter.cc", | |
| ] | |
| deps = [ | |
| ":video_codec_interface", | |
| ":video_coding_utility", | |
| "..:module_api", | |
| "../../api:fec_controller_api", | |
| "../../api:scoped_refptr", | |
| "../../api/video:encoded_image", | |
| "../../api/video:video_frame", | |
| "../../api/video:video_frame_i420", | |
| "../../api/video:video_rtp_headers", | |
| "../../api/video_codecs:video_codecs_api", | |
| "../../common_video", | |
| "../../media:rtc_media_base", | |
| "../../rtc_base", | |
| "../../rtc_base:checks", | |
| "../rtp_rtcp:rtp_rtcp_format", | |
| ] | |
| } | |
| # This target includes the internal SW codec. | |
| rtc_library("webrtc_vp8") { | |
| visibility = [ "*" ] | |
| poisonous = [ "software_video_codecs" ] | |
| sources = [ | |
| "codecs/vp8/include/vp8.h", | |
| "codecs/vp8/libvpx_interface.cc", | |
| "codecs/vp8/libvpx_interface.h", | |
| "codecs/vp8/libvpx_vp8_decoder.cc", | |
| "codecs/vp8/libvpx_vp8_decoder.h", | |
| "codecs/vp8/libvpx_vp8_encoder.cc", | |
| "codecs/vp8/libvpx_vp8_encoder.h", | |
| ] | |
| deps = [ | |
| ":codec_globals_headers", | |
| ":video_codec_interface", | |
| ":video_coding_utility", | |
| ":webrtc_vp8_temporal_layers", | |
| "..:module_api", | |
| "../..:webrtc_common", | |
| "../../api:fec_controller_api", | |
| "../../api:scoped_refptr", | |
| "../../api/video:encoded_image", | |
| "../../api/video:video_frame", | |
| "../../api/video:video_frame_i420", | |
| "../../api/video:video_rtp_headers", | |
| "../../api/video_codecs:video_codecs_api", | |
| "../../api/video_codecs:vp8_temporal_layers_factory", | |
| "../../common_video", | |
| "../../rtc_base:checks", | |
| "../../rtc_base:deprecation", | |
| "../../rtc_base:rtc_base_approved", | |
| "../../rtc_base:rtc_numerics", | |
| "../../rtc_base/experiments:cpu_speed_experiment", | |
| "../../rtc_base/experiments:experimental_screenshare_settings", | |
| "../../rtc_base/experiments:field_trial_parser", | |
| "../../rtc_base/experiments:rate_control_settings", | |
| "../../system_wrappers:field_trial", | |
| "../../system_wrappers:metrics", | |
| "//third_party/abseil-cpp/absl/types:optional", | |
| "//third_party/libyuv", | |
| ] | |
| if (rtc_build_libvpx) { | |
| deps += [ rtc_libvpx_dir ] | |
| } | |
| } | |
| rtc_library("webrtc_vp8_temporal_layers") { | |
| visibility = [ "*" ] | |
| sources = [ | |
| "codecs/vp8/default_temporal_layers.cc", | |
| "codecs/vp8/default_temporal_layers.h", | |
| "codecs/vp8/include/temporal_layers_checker.h", | |
| "codecs/vp8/screenshare_layers.cc", | |
| "codecs/vp8/screenshare_layers.h", | |
| "codecs/vp8/temporal_layers.h", | |
| "codecs/vp8/temporal_layers_checker.cc", | |
| ] | |
| deps = [ | |
| ":codec_globals_headers", | |
| ":video_codec_interface", | |
| ":video_coding_utility", | |
| "..:module_api", | |
| "../..:webrtc_common", | |
| "../../api:fec_controller_api", | |
| "../../api/video_codecs:video_codecs_api", | |
| "../../rtc_base:checks", | |
| "../../rtc_base:rtc_base_approved", | |
| "../../rtc_base:rtc_numerics", | |
| "../../system_wrappers:field_trial", | |
| "../../system_wrappers:metrics", | |
| "//third_party/abseil-cpp/absl/types:optional", | |
| ] | |
| } | |
| # This target includes VP9 files that may be used for any VP9 codec, internal SW or external HW. | |
| rtc_library("webrtc_vp9_helpers") { | |
| sources = [ | |
| "codecs/vp9/svc_config.cc", | |
| "codecs/vp9/svc_config.h", | |
| "codecs/vp9/svc_rate_allocator.cc", | |
| "codecs/vp9/svc_rate_allocator.h", | |
| ] | |
| deps = [ | |
| ":codec_globals_headers", | |
| ":video_codec_interface", | |
| "../..:webrtc_common", | |
| "../../api/video:video_bitrate_allocation", | |
| "../../api/video:video_bitrate_allocator", | |
| "../../api/video:video_codec_constants", | |
| "../../api/video_codecs:video_codecs_api", | |
| "../../common_video", | |
| "../../rtc_base:checks", | |
| "../../rtc_base/experiments:stable_target_rate_experiment", | |
| "//third_party/abseil-cpp/absl/container:inlined_vector", | |
| ] | |
| } | |
| rtc_library("webrtc_vp9") { | |
| visibility = [ "*" ] | |
| poisonous = [ "software_video_codecs" ] | |
| sources = [ | |
| "codecs/vp9/include/vp9.h", | |
| "codecs/vp9/vp9.cc", | |
| "codecs/vp9/vp9_frame_buffer_pool.cc", | |
| "codecs/vp9/vp9_frame_buffer_pool.h", | |
| "codecs/vp9/vp9_impl.cc", | |
| "codecs/vp9/vp9_impl.h", | |
| ] | |
| deps = [ | |
| ":video_codec_interface", | |
| ":video_coding_utility", | |
| ":webrtc_vp9_helpers", | |
| "..:module_api", | |
| "../..:webrtc_common", | |
| "../../api:fec_controller_api", | |
| "../../api:scoped_refptr", | |
| "../../api/video:video_frame", | |
| "../../api/video:video_frame_i010", | |
| "../../api/video:video_rtp_headers", | |
| "../../api/video_codecs:video_codecs_api", | |
| "../../common_video", | |
| "../../media:rtc_media_base", | |
| "../../media:rtc_vp9_profile", | |
| "../../rtc_base", | |
| "../../rtc_base:checks", | |
| "../../rtc_base/experiments:rate_control_settings", | |
| "../../system_wrappers:field_trial", | |
| "../rtp_rtcp:rtp_rtcp_format", | |
| "//third_party/abseil-cpp/absl/memory", | |
| ] | |
| if (rtc_build_libvpx) { | |
| deps += [ rtc_libvpx_dir ] | |
| } | |
| } | |
| if (rtc_include_tests) { | |
| if (is_android) { | |
| rtc_library("android_codec_factory_helper") { | |
| sources = [ | |
| "codecs/test/android_codec_factory_helper.cc", | |
| "codecs/test/android_codec_factory_helper.h", | |
| ] | |
| deps = [ | |
| "../../api/video_codecs:video_codecs_api", | |
| "../../rtc_base:checks", | |
| "../../rtc_base:ignore_wundef", | |
| "../../rtc_base:rtc_base_approved", | |
| "../../sdk/android:native_api_base", | |
| "../../sdk/android:native_api_codecs", | |
| "../../sdk/android:native_api_jni", | |
| "//base", | |
| ] | |
| } | |
| } | |
| if (is_ios || is_mac) { | |
| rtc_library("objc_codec_factory_helper") { | |
| sources = [ | |
| "codecs/test/objc_codec_factory_helper.h", | |
| "codecs/test/objc_codec_factory_helper.mm", | |
| ] | |
| deps = [ | |
| "../../api/video:video_frame", | |
| "../../api/video:video_rtp_headers", | |
| "../../api/video_codecs:video_codecs_api", | |
| "../../media:rtc_audio_video", | |
| "../../media:rtc_media_base", | |
| "../../modules:module_api", | |
| "../../rtc_base:rtc_base_approved", | |
| "../../sdk:native_api", | |
| "../../sdk:peerconnectionfactory_base_objc", | |
| "../../sdk:videocodec_objc", | |
| "../../sdk:videosource_objc", | |
| "../../sdk:videotoolbox_objc", | |
| ] | |
| } | |
| } | |
| rtc_library("simulcast_test_fixture_impl") { | |
| testonly = true | |
| sources = [ | |
| "utility/simulcast_test_fixture_impl.cc", | |
| "utility/simulcast_test_fixture_impl.h", | |
| ] | |
| deps = [ | |
| ":video_codec_interface", | |
| ":video_coding", | |
| ":video_coding_utility", | |
| "../../:webrtc_common", | |
| "../../api:mock_video_decoder", | |
| "../../api:mock_video_encoder", | |
| "../../api:simulcast_test_fixture_api", | |
| "../../api/video:encoded_image", | |
| "../../api/video:video_frame", | |
| "../../api/video:video_frame_i420", | |
| "../../api/video:video_rtp_headers", | |
| "../../api/video_codecs:video_codecs_api", | |
| "../../common_video", | |
| "../../rtc_base:checks", | |
| "../../rtc_base:rtc_base_approved", | |
| "../../test:test_support", | |
| ] | |
| } | |
| rtc_library("video_codecs_test_framework") { | |
| testonly = true | |
| sources = [ | |
| "codecs/test/video_codec_unittest.cc", | |
| "codecs/test/video_codec_unittest.h", | |
| "codecs/test/videoprocessor.cc", | |
| "codecs/test/videoprocessor.h", | |
| ] | |
| deps = [ | |
| ":codec_globals_headers", | |
| ":video_codec_interface", | |
| ":video_coding", | |
| ":video_coding_utility", | |
| ":videocodec_test_stats_impl", | |
| ":webrtc_vp9_helpers", | |
| "..:module_api", | |
| "../../api:create_frame_generator", | |
| "../../api:frame_generator_api", | |
| "../../api:scoped_refptr", | |
| "../../api:videocodec_test_fixture_api", | |
| "../../api/task_queue", | |
| "../../api/video:builtin_video_bitrate_allocator_factory", | |
| "../../api/video:encoded_image", | |
| "../../api/video:video_bitrate_allocation", | |
| "../../api/video:video_bitrate_allocator", | |
| "../../api/video:video_bitrate_allocator_factory", | |
| "../../api/video:video_frame", | |
| "../../api/video:video_frame_i420", | |
| "../../api/video:video_rtp_headers", | |
| "../../api/video_codecs:video_codecs_api", | |
| "../../common_video", | |
| "../../rtc_base:checks", | |
| "../../rtc_base:rtc_base_approved", | |
| "../../rtc_base:rtc_task_queue", | |
| "../../rtc_base/synchronization:sequence_checker", | |
| "../../rtc_base/task_utils:to_queued_task", | |
| "../../test:test_support", | |
| "../../test:video_test_common", | |
| "../../test:video_test_support", | |
| "../rtp_rtcp:rtp_rtcp_format", | |
| "//third_party/abseil-cpp/absl/types:optional", | |
| "//third_party/libyuv", | |
| ] | |
| } | |
| video_coding_modules_tests_resources = [] | |
| if (is_android) { | |
| video_coding_modules_tests_resources += [ | |
| "../../resources/foreman_128x96.yuv", | |
| "../../resources/foreman_160x120.yuv", | |
| "../../resources/foreman_176x144.yuv", | |
| "../../resources/foreman_240x136.yuv", | |
| "../../resources/foreman_320x240.yuv", | |
| "../../resources/foreman_480x272.yuv", | |
| ] | |
| } | |
| if (!is_android) { | |
| video_coding_modules_tests_resources += [ | |
| "../../resources/ConferenceMotion_1280_720_50.yuv", | |
| "../../resources/FourPeople_1280x720_30.yuv", | |
| ] | |
| } | |
| num_video_coding_modules_tests_resources = 0 | |
| foreach(i, video_coding_modules_tests_resources) { | |
| num_video_coding_modules_tests_resources += 1 | |
| } | |
| if (num_video_coding_modules_tests_resources > 0) { | |
| if (is_ios || is_mac) { | |
| bundle_data("video_coding_modules_tests_resources_bundle_data") { | |
| testonly = true | |
| sources = video_coding_modules_tests_resources | |
| outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ] | |
| } | |
| } | |
| } | |
| rtc_library("videocodec_test_impl") { | |
| testonly = true | |
| sources = [ | |
| "codecs/test/videocodec_test_fixture_impl.cc", | |
| "codecs/test/videocodec_test_fixture_impl.h", | |
| ] | |
| deps = [ | |
| ":codec_globals_headers", | |
| ":video_codec_interface", | |
| ":video_codecs_test_framework", | |
| ":video_coding_utility", | |
| ":videocodec_test_stats_impl", | |
| ":webrtc_vp9_helpers", | |
| "../..:webrtc_common", | |
| "../../api:array_view", | |
| "../../api:videocodec_test_fixture_api", | |
| "../../api/test/video:function_video_factory", | |
| "../../api/video:video_bitrate_allocation", | |
| "../../api/video_codecs:video_codecs_api", | |
| "../../call:video_stream_api", | |
| "../../common_video", | |
| "../../media:rtc_audio_video", | |
| "../../media:rtc_h264_profile_id", | |
| "../../media:rtc_internal_video_codecs", | |
| "../../media:rtc_media_base", | |
| "../../rtc_base:checks", | |
| "../../rtc_base:rtc_base_approved", | |
| "../../rtc_base:rtc_base_tests_utils", | |
| "../../rtc_base:task_queue_for_test", | |
| "../../system_wrappers", | |
| "../../test:fileutils", | |
| "../../test:perf_test", | |
| "../../test:test_support", | |
| "../../test:video_test_common", | |
| "../../test:video_test_support", | |
| "//third_party/abseil-cpp/absl/types:optional", | |
| ] | |
| } | |
| rtc_library("videocodec_test_stats_impl") { | |
| testonly = true | |
| sources = [ | |
| "codecs/test/videocodec_test_stats_impl.cc", | |
| "codecs/test/videocodec_test_stats_impl.h", | |
| ] | |
| deps = [ | |
| "../../api:videocodec_test_fixture_api", | |
| "../../rtc_base:checks", | |
| "../../rtc_base:rtc_numerics", | |
| "../../rtc_base:stringutils", | |
| "../../test:test_common", | |
| "../rtp_rtcp:rtp_rtcp_format", | |
| ] | |
| } | |
| rtc_library("video_coding_modules_tests") { | |
| testonly = true | |
| defines = [] | |
| sources = [ | |
| "codecs/h264/test/h264_impl_unittest.cc", | |
| "codecs/multiplex/test/multiplex_adapter_unittest.cc", | |
| "codecs/test/video_encoder_decoder_instantiation_tests.cc", | |
| "codecs/test/videocodec_test_libvpx.cc", | |
| "codecs/vp8/test/mock_libvpx_interface.h", | |
| "codecs/vp8/test/vp8_impl_unittest.cc", | |
| "codecs/vp9/test/vp9_impl_unittest.cc", | |
| ] | |
| if (rtc_use_h264) { | |
| sources += [ "codecs/test/videocodec_test_openh264.cc" ] | |
| } | |
| deps = [ | |
| ":video_codec_interface", | |
| ":video_codecs_test_framework", | |
| ":video_coding_utility", | |
| ":videocodec_test_impl", | |
| ":webrtc_h264", | |
| ":webrtc_multiplex", | |
| ":webrtc_vp8", | |
| ":webrtc_vp9", | |
| ":webrtc_vp9_helpers", | |
| "../..:webrtc_common", | |
| "../../api:create_frame_generator", | |
| "../../api:create_videocodec_test_fixture_api", | |
| "../../api:frame_generator_api", | |
| "../../api:mock_video_codec_factory", | |
| "../../api:mock_video_decoder", | |
| "../../api:mock_video_encoder", | |
| "../../api:scoped_refptr", | |
| "../../api:videocodec_test_fixture_api", | |
| "../../api/test/video:function_video_factory", | |
| "../../api/video:encoded_image", | |
| "../../api/video:video_frame", | |
| "../../api/video:video_frame_i420", | |
| "../../api/video:video_rtp_headers", | |
| "../../api/video_codecs:rtc_software_fallback_wrappers", | |
| "../../api/video_codecs:video_codecs_api", | |
| "../../common_video", | |
| "../../common_video/test:utilities", | |
| "../../media:rtc_h264_profile_id", | |
| "../../media:rtc_internal_video_codecs", | |
| "../../media:rtc_media_base", | |
| "../../media:rtc_simulcast_encoder_adapter", | |
| "../../media:rtc_vp9_profile", | |
| "../../rtc_base", | |
| "../../test:field_trial", | |
| "../../test:fileutils", | |
| "../../test:test_support", | |
| "../../test:video_test_common", | |
| "../rtp_rtcp:rtp_rtcp_format", | |
| "//third_party/abseil-cpp/absl/types:optional", | |
| "//third_party/libyuv", | |
| ] | |
| data = video_coding_modules_tests_resources | |
| if (is_android) { | |
| sources += [ "codecs/test/videocodec_test_mediacodec.cc" ] | |
| deps += [ ":android_codec_factory_helper" ] | |
| } | |
| if (is_ios || is_mac) { | |
| sources += [ "codecs/test/videocodec_test_videotoolbox.cc" ] | |
| deps += [ ":objc_codec_factory_helper" ] | |
| if (num_video_coding_modules_tests_resources > 0) { | |
| deps += [ ":video_coding_modules_tests_resources_bundle_data" ] | |
| } | |
| } | |
| if (rtc_build_libvpx) { | |
| deps += [ rtc_libvpx_dir ] | |
| } | |
| } | |
| rtc_library("video_coding_unittests") { | |
| testonly = true | |
| sources = [ | |
| "codecs/test/videocodec_test_fixture_config_unittest.cc", | |
| "codecs/test/videocodec_test_stats_impl_unittest.cc", | |
| "codecs/test/videoprocessor_unittest.cc", | |
| "codecs/vp8/default_temporal_layers_unittest.cc", | |
| "codecs/vp8/libvpx_vp8_simulcast_test.cc", | |
| "codecs/vp8/screenshare_layers_unittest.cc", | |
| "codecs/vp9/svc_config_unittest.cc", | |
| "codecs/vp9/svc_rate_allocator_unittest.cc", | |
| "decoding_state_unittest.cc", | |
| "fec_controller_unittest.cc", | |
| "frame_buffer2_unittest.cc", | |
| "frame_dependencies_calculator_unittest.cc", | |
| "generic_decoder_unittest.cc", | |
| "h264_sprop_parameter_sets_unittest.cc", | |
| "h264_sps_pps_tracker_unittest.cc", | |
| "histogram_unittest.cc", | |
| "jitter_buffer_unittest.cc", | |
| "jitter_estimator_tests.cc", | |
| "loss_notification_controller_unittest.cc", | |
| "nack_module_unittest.cc", | |
| "packet_buffer_unittest.cc", | |
| "receiver_unittest.cc", | |
| "rtp_frame_reference_finder_unittest.cc", | |
| "session_info_unittest.cc", | |
| "test/stream_generator.cc", | |
| "test/stream_generator.h", | |
| "timing_unittest.cc", | |
| "unique_timestamp_counter_unittest.cc", | |
| "utility/decoded_frames_history_unittest.cc", | |
| "utility/frame_dropper_unittest.cc", | |
| "utility/framerate_controller_unittest.cc", | |
| "utility/ivf_file_reader_unittest.cc", | |
| "utility/ivf_file_writer_unittest.cc", | |
| "utility/quality_scaler_unittest.cc", | |
| "utility/simulcast_rate_allocator_unittest.cc", | |
| "video_codec_initializer_unittest.cc", | |
| "video_receiver_unittest.cc", | |
| ] | |
| if (rtc_use_h264) { | |
| sources += [ | |
| "codecs/h264/h264_encoder_impl_unittest.cc", | |
| "codecs/h264/h264_simulcast_unittest.cc", | |
| ] | |
| } | |
| deps = [ | |
| ":codec_globals_headers", | |
| ":encoded_frame", | |
| ":frame_dependencies_calculator", | |
| ":nack_module", | |
| ":simulcast_test_fixture_impl", | |
| ":video_codec_interface", | |
| ":video_codecs_test_framework", | |
| ":video_coding", | |
| ":video_coding_legacy", | |
| ":video_coding_utility", | |
| ":videocodec_test_impl", | |
| ":videocodec_test_stats_impl", | |
| ":webrtc_h264", | |
| ":webrtc_vp8", | |
| ":webrtc_vp8_temporal_layers", | |
| ":webrtc_vp9", | |
| ":webrtc_vp9_helpers", | |
| "..:module_api", | |
| "..:module_fec_api", | |
| "../../api:array_view", | |
| "../../api:create_simulcast_test_fixture_api", | |
| "../../api:fec_controller_api", | |
| "../../api:mock_fec_controller_override", | |
| "../../api:mock_video_decoder", | |
| "../../api:mock_video_encoder", | |
| "../../api:scoped_refptr", | |
| "../../api:simulcast_test_fixture_api", | |
| "../../api:videocodec_test_fixture_api", | |
| "../../api/task_queue:default_task_queue_factory", | |
| "../../api/test/video:function_video_factory", | |
| "../../api/video:builtin_video_bitrate_allocator_factory", | |
| "../../api/video:video_bitrate_allocation", | |
| "../../api/video:video_bitrate_allocator", | |
| "../../api/video:video_bitrate_allocator_factory", | |
| "../../api/video:video_frame", | |
| "../../api/video:video_frame_i420", | |
| "../../api/video:video_frame_type", | |
| "../../api/video:video_rtp_headers", | |
| "../../api/video_codecs:video_codecs_api", | |
| "../../api/video_codecs:vp8_temporal_layers_factory", | |
| "../../common_video", | |
| "../../common_video/generic_frame_descriptor", | |
| "../../common_video/test:utilities", | |
| "../../media:rtc_media_base", | |
| "../../rtc_base", | |
| "../../rtc_base:checks", | |
| "../../rtc_base:rtc_base_approved", | |
| "../../rtc_base:rtc_base_tests_utils", | |
| "../../rtc_base:rtc_numerics", | |
| "../../rtc_base:rtc_task_queue", | |
| "../../rtc_base:task_queue_for_test", | |
| "../../rtc_base/experiments:jitter_upper_bound_experiment", | |
| "../../system_wrappers", | |
| "../../system_wrappers:field_trial", | |
| "../../system_wrappers:metrics", | |
| "../../test:fake_video_codecs", | |
| "../../test:field_trial", | |
| "../../test:fileutils", | |
| "../../test:test_common", | |
| "../../test:test_support", | |
| "../../test:video_test_common", | |
| "../../test:video_test_support", | |
| "../../test/time_controller:time_controller", | |
| "../rtp_rtcp:rtp_rtcp_format", | |
| "../rtp_rtcp:rtp_video_header", | |
| "//third_party/abseil-cpp/absl/memory", | |
| "//third_party/abseil-cpp/absl/types:optional", | |
| "//third_party/abseil-cpp/absl/types:variant", | |
| ] | |
| if (rtc_build_libvpx) { | |
| deps += [ rtc_libvpx_dir ] | |
| } | |
| } | |
| } |