BUILD.gn (45024B)
1 # Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. 2 # 3 # Use of this source code is governed by a BSD-style license 4 # that can be found in the LICENSE file in the root of the source 5 # tree. An additional intellectual property rights grant can be found 6 # in the file PATENTS. All contributing project authors may 7 # be found in the AUTHORS file in the root of the source tree. 8 9 import("//chromium/build/config/linux/pkg_config.gni") 10 import("//libwebrtc/third_party/libaom/options.gni") 11 import("../../webrtc.gni") 12 13 rtc_library("encoded_frame") { 14 visibility = [ "*" ] 15 sources = [ 16 "encoded_frame.cc", 17 "encoded_frame.h", 18 ] 19 deps = [ 20 ":codec_globals_headers", 21 ":video_codec_interface", 22 "../../api/video:encoded_image", 23 "../../api/video:video_frame", 24 "../../api/video:video_frame_type", 25 "../../api/video:video_rtp_headers", 26 "../../modules:module_api_public", 27 "../../modules/rtp_rtcp:rtp_video_header", 28 "../../rtc_base:checks", 29 "../../rtc_base/experiments:alr_experiment", 30 "../../rtc_base/system:rtc_export", 31 "../../system_wrappers", 32 ] 33 } 34 35 rtc_library("chain_diff_calculator") { 36 sources = [ 37 "chain_diff_calculator.cc", 38 "chain_diff_calculator.h", 39 ] 40 41 deps = [ 42 "../../rtc_base:checks", 43 "../../rtc_base:logging", 44 "//third_party/abseil-cpp/absl/container:inlined_vector", 45 ] 46 } 47 48 rtc_library("frame_dependencies_calculator") { 49 sources = [ 50 "frame_dependencies_calculator.cc", 51 "frame_dependencies_calculator.h", 52 ] 53 54 deps = [ 55 "../../api:array_view", 56 "../../common_video/generic_frame_descriptor", 57 "../../rtc_base:checks", 58 "../../rtc_base:logging", 59 "//third_party/abseil-cpp/absl/algorithm:container", 60 "//third_party/abseil-cpp/absl/container:inlined_vector", 61 ] 62 } 63 64 rtc_library("nack_requester") { 65 sources = [ 66 "histogram.cc", 67 "histogram.h", 68 "nack_requester.cc", 69 "nack_requester.h", 70 ] 71 72 deps = [ 73 "..:module_api", 74 "../../api:field_trials_view", 75 "../../api:sequence_checker", 76 "../../api/task_queue", 77 "../../api/task_queue:pending_task_safety_flag", 78 "../../api/units:time_delta", 79 "../../api/units:timestamp", 80 "../../rtc_base:checks", 81 "../../rtc_base:logging", 82 "../../rtc_base:macromagic", 83 "../../rtc_base:mod_ops", 84 "../../rtc_base:rtc_numerics", 85 "../../rtc_base/experiments:field_trial_parser", 86 "../../rtc_base/system:no_unique_address", 87 "../../rtc_base/task_utils:repeating_task", 88 "../../system_wrappers", 89 ] 90 } 91 92 rtc_library("packet_buffer") { 93 sources = [ 94 "packet_buffer.cc", 95 "packet_buffer.h", 96 ] 97 deps = [ 98 ":codec_globals_headers", 99 "../../api:array_view", 100 "../../api:rtp_packet_info", 101 "../../api/units:timestamp", 102 "../../api/video:encoded_image", 103 "../../api/video:video_frame", 104 "../../api/video:video_frame_type", 105 "../../common_video", 106 "../../rtc_base:checks", 107 "../../rtc_base:copy_on_write_buffer", 108 "../../rtc_base:logging", 109 "../../rtc_base:mod_ops", 110 "../../rtc_base:rtc_numerics", 111 "../rtp_rtcp:rtp_rtcp_format", 112 "../rtp_rtcp:rtp_video_header", 113 "//third_party/abseil-cpp/absl/base:core_headers", 114 ] 115 } 116 117 rtc_library("h26x_packet_buffer") { 118 sources = [ 119 "h26x_packet_buffer.cc", 120 "h26x_packet_buffer.h", 121 ] 122 deps = [ 123 ":codec_globals_headers", 124 ":h264_sprop_parameter_sets", 125 ":packet_buffer", 126 "../../api:array_view", 127 "../../api:rtp_packet_info", 128 "../../api/units:timestamp", 129 "../../api/video:encoded_image", 130 "../../api/video:video_frame", 131 "../../api/video:video_frame_type", 132 "../../common_video", 133 "../../rtc_base:checks", 134 "../../rtc_base:copy_on_write_buffer", 135 "../../rtc_base:logging", 136 "../../rtc_base:rtc_numerics", 137 "../rtp_rtcp:rtp_rtcp_format", 138 "../rtp_rtcp:rtp_video_header", 139 "//third_party/abseil-cpp/absl/algorithm:container", 140 "//third_party/abseil-cpp/absl/base:core_headers", 141 ] 142 } 143 144 rtc_library("frame_helpers") { 145 sources = [ 146 "frame_helpers.cc", 147 "frame_helpers.h", 148 ] 149 deps = [ 150 "../../api/units:time_delta", 151 "../../api/units:timestamp", 152 "../../api/video:encoded_frame", 153 "../../api/video:encoded_image", 154 "../../rtc_base:checks", 155 "../../rtc_base:logging", 156 "//third_party/abseil-cpp/absl/container:inlined_vector", 157 ] 158 } 159 160 rtc_library("h264_sprop_parameter_sets") { 161 sources = [ 162 "h264_sprop_parameter_sets.cc", 163 "h264_sprop_parameter_sets.h", 164 ] 165 deps = [ 166 "../../rtc_base:base64", 167 "../../rtc_base:logging", 168 ] 169 } 170 171 rtc_library("video_coding") { 172 visibility = [ "*" ] 173 sources = [ 174 "decoder_database.cc", 175 "decoder_database.h", 176 "fec_controller_default.cc", 177 "fec_controller_default.h", 178 "fec_rate_table.h", 179 "generic_decoder.cc", 180 "generic_decoder.h", 181 "h264_sps_pps_tracker.cc", 182 "h264_sps_pps_tracker.h", 183 "include/video_codec_initializer.h", 184 "internal_defines.h", 185 "loss_notification_controller.cc", 186 "loss_notification_controller.h", 187 "media_opt_util.cc", 188 "media_opt_util.h", 189 "rtp_frame_id_only_ref_finder.cc", 190 "rtp_frame_id_only_ref_finder.h", 191 "rtp_frame_reference_finder.cc", 192 "rtp_frame_reference_finder.h", 193 "rtp_generic_ref_finder.cc", 194 "rtp_generic_ref_finder.h", 195 "rtp_seq_num_only_ref_finder.cc", 196 "rtp_seq_num_only_ref_finder.h", 197 "rtp_vp8_ref_finder.cc", 198 "rtp_vp8_ref_finder.h", 199 "rtp_vp9_ref_finder.cc", 200 "rtp_vp9_ref_finder.h", 201 "video_codec_initializer.cc", 202 "video_receiver2.cc", 203 "video_receiver2.h", 204 ] 205 206 deps = [ 207 ":codec_globals_headers", 208 ":encoded_frame", 209 ":frame_helpers", 210 ":h264_sprop_parameter_sets", 211 ":video_codec_interface", 212 ":video_coding_utility", 213 ":webrtc_vp8_scalability", 214 ":webrtc_vp9_helpers", 215 "..:module_api", 216 "..:module_api_public", 217 "..:module_fec_api", 218 "../../api:array_view", 219 "../../api:fec_controller_api", 220 "../../api:field_trials_view", 221 "../../api:rtp_headers", 222 "../../api:rtp_packet_info", 223 "../../api:scoped_refptr", 224 "../../api:sequence_checker", 225 "../../api/environment", 226 "../../api/task_queue", 227 "../../api/units:data_rate", 228 "../../api/units:data_size", 229 "../../api/units:frequency", 230 "../../api/units:time_delta", 231 "../../api/units:timestamp", 232 "../../api/video:builtin_video_bitrate_allocator_factory", 233 "../../api/video:encoded_frame", 234 "../../api/video:encoded_image", 235 "../../api/video:render_resolution", 236 "../../api/video:video_adaptation", 237 "../../api/video:video_adaptation", 238 "../../api/video:video_bitrate_allocation", 239 "../../api/video:video_bitrate_allocator", 240 "../../api/video:video_bitrate_allocator_factory", 241 "../../api/video:video_codec_constants", 242 "../../api/video:video_frame", 243 "../../api/video:video_frame_type", 244 "../../api/video:video_rtp_headers", 245 "../../api/video/corruption_detection:frame_instrumentation_data", 246 "../../api/video/corruption_detection:frame_instrumentation_evaluation", 247 "../../api/video_codecs:scalability_mode", 248 "../../api/video_codecs:video_codecs_api", 249 "../../common_video", 250 "../../common_video:corruption_score_calculator", 251 "../../rtc_base:base64", 252 "../../rtc_base:buffer", 253 "../../rtc_base:byte_buffer", 254 "../../rtc_base:checks", 255 "../../rtc_base:copy_on_write_buffer", 256 "../../rtc_base:event_tracer", 257 "../../rtc_base:logging", 258 "../../rtc_base:macromagic", 259 "../../rtc_base:mod_ops", 260 "../../rtc_base:rtc_event", 261 "../../rtc_base:rtc_numerics", 262 "../../rtc_base:safe_conversions", 263 "../../rtc_base:stringutils", 264 "../../rtc_base:threading", 265 "../../rtc_base:timeutils", 266 "../../rtc_base/experiments:alr_experiment", 267 "../../rtc_base/experiments:field_trial_parser", 268 "../../rtc_base/experiments:min_video_bitrate_experiment", 269 "../../rtc_base/experiments:rate_control_settings", 270 "../../rtc_base/synchronization:mutex", 271 "../../rtc_base/system:no_unique_address", 272 "../../rtc_base/task_utils:repeating_task", 273 "../../system_wrappers", 274 "../../system_wrappers:metrics", 275 "../../video/config:encoder_config", 276 "../rtp_rtcp", 277 "../rtp_rtcp:rtp_rtcp_format", 278 "../rtp_rtcp:rtp_video_header", 279 "codecs/av1:av1_svc_config", 280 "svc:scalability_mode_util", 281 "timing:inter_frame_delay_variation_calculator", 282 "timing:jitter_estimator", 283 "timing:rtt_filter", 284 "timing:timing_module", 285 "//third_party/abseil-cpp/absl/algorithm:container", 286 "//third_party/abseil-cpp/absl/container:inlined_vector", 287 ] 288 } 289 290 rtc_library("video_codec_interface") { 291 visibility = [ "*" ] 292 sources = [ 293 "include/video_codec_interface.cc", 294 "include/video_codec_interface.h", 295 "include/video_coding_defines.h", 296 "include/video_error_codes.h", 297 "include/video_error_codes_utils.cc", 298 "include/video_error_codes_utils.h", 299 "video_coding_defines.cc", 300 ] 301 deps = [ 302 ":codec_globals_headers", 303 "../../api/transport/rtp:dependency_descriptor", 304 "../../api/units:time_delta", 305 "../../api/video:video_frame", 306 "../../api/video:video_frame_type", 307 "../../api/video:video_rtp_headers", 308 "../../api/video/corruption_detection:frame_instrumentation_data", 309 "../../api/video_codecs:scalability_mode", 310 "../../api/video_codecs:video_codecs_api", 311 "../../common_video", 312 "../../common_video/generic_frame_descriptor", 313 "../../rtc_base:checks", 314 "../../rtc_base/system:rtc_export", 315 ] 316 } 317 318 rtc_library("video_coding_legacy") { 319 visibility = [ ":video_coding_unittests" ] 320 sources = [ 321 "include/video_coding.h", 322 "video_coding_impl.cc", 323 "video_coding_impl.h", 324 "video_receiver.cc", 325 ] 326 deps = [ 327 ":codec_globals_headers", 328 ":encoded_frame", 329 ":video_codec_interface", 330 ":video_coding", 331 "..:module_api", 332 "..:module_api_public", 333 "../../api:field_trials_view", 334 "../../api:rtp_headers", 335 "../../api:rtp_packet_info", 336 "../../api:sequence_checker", 337 "../../api/environment", 338 "../../api/units:timestamp", 339 "../../api/video:encoded_image", 340 "../../api/video:render_resolution", 341 "../../api/video:video_frame", 342 "../../api/video:video_frame_type", 343 "../../api/video:video_rtp_headers", 344 "../../api/video_codecs:video_codecs_api", 345 "../../common_video", 346 "../../common_video:corruption_score_calculator", 347 "../../modules/rtp_rtcp:rtp_video_header", 348 "../../rtc_base:checks", 349 "../../rtc_base:event_tracer", 350 "../../rtc_base:logging", 351 "../../rtc_base:macromagic", 352 "../../rtc_base:one_time_event", 353 "../../rtc_base:rtc_event", 354 "../../rtc_base:safe_conversions", 355 "../../rtc_base/synchronization:mutex", 356 "../../system_wrappers", 357 "../rtp_rtcp:rtp_rtcp_format", 358 "../rtp_rtcp:rtp_video_header", 359 "deprecated:deprecated_decoding_state", 360 "deprecated:deprecated_event_wrapper", 361 "deprecated:deprecated_frame_buffer", 362 "deprecated:deprecated_jitter_buffer", 363 "deprecated:deprecated_jitter_buffer_common", 364 "deprecated:deprecated_packet", 365 "deprecated:deprecated_receiver", 366 "deprecated:deprecated_session_info", 367 "timing:inter_frame_delay_variation_calculator", 368 "timing:jitter_estimator", 369 "timing:timing_module", 370 ] 371 } 372 373 rtc_source_set("codec_globals_headers") { 374 visibility = [ "*" ] 375 sources = [ 376 "codecs/h264/include/h264_globals.h", 377 "codecs/interface/common_constants.h", 378 "codecs/vp8/include/vp8_globals.h", 379 "codecs/vp9/include/vp9_globals.h", 380 ] 381 382 deps = [ "../../rtc_base:checks" ] 383 } 384 385 if (rtc_use_h264 && rtc_system_openh264) { 386 pkg_config("openh264") { 387 packages = [ "openh264" ] 388 } 389 } 390 391 rtc_library("frame_sampler") { 392 visibility = [ "*" ] 393 sources = [ 394 "utility/frame_sampler.cc", 395 "utility/frame_sampler.h", 396 ] 397 deps = [ 398 "..:module_api_public", 399 "../../api/video:video_frame", 400 ] 401 } 402 403 rtc_library("video_coding_utility") { 404 visibility = [ "*" ] 405 sources = [ 406 "utility/bandwidth_quality_scaler.cc", 407 "utility/bandwidth_quality_scaler.h", 408 "utility/corruption_detection_settings_generator.cc", 409 "utility/corruption_detection_settings_generator.h", 410 "utility/decoded_frames_history.cc", 411 "utility/decoded_frames_history.h", 412 "utility/frame_dropper.cc", 413 "utility/frame_dropper.h", 414 "utility/framerate_controller_deprecated.cc", 415 "utility/framerate_controller_deprecated.h", 416 "utility/ivf_defines.h", 417 "utility/ivf_file_reader.cc", 418 "utility/ivf_file_reader.h", 419 "utility/ivf_file_writer.cc", 420 "utility/ivf_file_writer.h", 421 "utility/qp_parser.cc", 422 "utility/qp_parser.h", 423 "utility/quality_scaler.cc", 424 "utility/quality_scaler.h", 425 "utility/simulcast_rate_allocator.cc", 426 "utility/simulcast_rate_allocator.h", 427 "utility/simulcast_utility.cc", 428 "utility/simulcast_utility.h", 429 "utility/vp8_constants.h", 430 "utility/vp8_header_parser.cc", 431 "utility/vp8_header_parser.h", 432 "utility/vp9_constants.h", 433 "utility/vp9_uncompressed_header_parser.cc", 434 "utility/vp9_uncompressed_header_parser.h", 435 ] 436 437 deps = [ 438 ":video_codec_interface", 439 "../../api:array_view", 440 "../../api:field_trials_view", 441 "../../api:scoped_refptr", 442 "../../api:sequence_checker", 443 "../../api/environment", 444 "../../api/task_queue", 445 "../../api/units:data_rate", 446 "../../api/units:time_delta", 447 "../../api/video:encoded_frame", 448 "../../api/video:encoded_image", 449 "../../api/video:video_adaptation", 450 "../../api/video:video_bitrate_allocation", 451 "../../api/video:video_bitrate_allocator", 452 "../../api/video:video_codec_constants", 453 "../../api/video:video_frame", 454 "../../api/video:video_frame_type", 455 "../../api/video/corruption_detection:filter_settings", 456 "../../api/video_codecs:video_codecs_api", 457 "../../common_video", 458 "../../modules/rtp_rtcp", 459 "../../rtc_base:bitstream_reader", 460 "../../rtc_base:checks", 461 "../../rtc_base:logging", 462 "../../rtc_base:macromagic", 463 "../../rtc_base:rate_statistics", 464 "../../rtc_base:refcount", 465 "../../rtc_base:rtc_numerics", 466 "../../rtc_base:stringutils", 467 "../../rtc_base:timeutils", 468 "../../rtc_base:weak_ptr", 469 "../../rtc_base/experiments:encoder_info_settings", 470 "../../rtc_base/experiments:quality_scaler_settings", 471 "../../rtc_base/experiments:quality_scaling_experiment", 472 "../../rtc_base/experiments:rate_control_settings", 473 "../../rtc_base/synchronization:mutex", 474 "../../rtc_base/system:arch", 475 "../../rtc_base/system:file_wrapper", 476 "../../rtc_base/system:no_unique_address", 477 "../../rtc_base/system:rtc_export", 478 "../../rtc_base/task_utils:repeating_task", 479 "../../video/config:encoder_config", 480 "../rtp_rtcp:rtp_rtcp_format", 481 "svc:scalability_mode_util", 482 "//third_party/abseil-cpp/absl/numeric:bits", 483 "//third_party/abseil-cpp/absl/strings:string_view", 484 ] 485 } 486 487 rtc_library("webrtc_h264") { 488 visibility = [ "*" ] 489 sources = [ 490 "codecs/h264/h264.cc", 491 "codecs/h264/h264_color_space.cc", 492 "codecs/h264/h264_color_space.h", 493 "codecs/h264/h264_decoder_impl.cc", 494 "codecs/h264/h264_decoder_impl.h", 495 "codecs/h264/h264_encoder_impl.cc", 496 "codecs/h264/h264_encoder_impl.h", 497 "codecs/h264/include/h264.h", 498 ] 499 500 defines = [] 501 deps = [ 502 ":codec_globals_headers", 503 ":frame_sampler", 504 ":video_codec_interface", 505 ":video_coding_utility", 506 "../../api:scoped_refptr", 507 "../../api/environment", 508 "../../api/transport/rtp:dependency_descriptor", 509 "../../api/units:data_rate", 510 "../../api/video:encoded_image", 511 "../../api/video:render_resolution", 512 "../../api/video:video_bitrate_allocation", 513 "../../api/video:video_bitrate_allocator", 514 "../../api/video:video_codec_constants", 515 "../../api/video:video_frame", 516 "../../api/video:video_frame_i010", 517 "../../api/video:video_frame_type", 518 "../../api/video:video_rtp_headers", 519 "../../api/video_codecs:scalability_mode", 520 "../../api/video_codecs:video_codecs_api", 521 "../../common_video", 522 "../../media:media_constants", 523 "../../media:rtc_media_base", 524 "../../rtc_base:checks", 525 "../../rtc_base:event_tracer", 526 "../../rtc_base:logging", 527 "../../rtc_base:timeutils", 528 "../../rtc_base/system:rtc_export", 529 "../../system_wrappers:metrics", 530 "../rtp_rtcp:rtp_rtcp_format", 531 "svc:scalability_structures", 532 "svc:scalable_video_controller", 533 "//third_party/abseil-cpp/absl/base:nullability", 534 "//third_party/abseil-cpp/absl/container:inlined_vector", 535 "//third_party/abseil-cpp/absl/strings", 536 "//third_party/libyuv", 537 ] 538 539 if (rtc_use_h264) { 540 deps += [ "//third_party/ffmpeg" ] 541 if (rtc_system_openh264) { 542 configs += [ ":openh264" ] 543 } else { 544 deps += [ "//third_party/openh264:encoder" ] 545 } 546 if (!build_with_mozilla) { 547 deps += [ "../../media:rtc_media_base" ] 548 } 549 } 550 } 551 552 # This target defines a bare-bones interface towards libvpx, used by the 553 # VP8 and VP9 wrappers below. 554 rtc_library("webrtc_libvpx_interface") { 555 visibility = [ "*" ] 556 sources = [ 557 "codecs/interface/libvpx_interface.cc", 558 "codecs/interface/libvpx_interface.h", 559 ] 560 deps = [ "../../rtc_base:checks" ] 561 if (rtc_build_libvpx) { 562 deps += [ rtc_libvpx_dir ] 563 } 564 } 565 566 rtc_library("mock_libvpx_interface") { 567 testonly = true 568 sources = [ "codecs/interface/mock_libvpx_interface.h" ] 569 deps = [ 570 ":webrtc_libvpx_interface", 571 "../../test:test_support", 572 ] 573 if (rtc_build_libvpx) { 574 deps += [ rtc_libvpx_dir ] 575 } 576 } 577 578 # This target includes the internal SW codec. 579 rtc_library("webrtc_vp8") { 580 visibility = [ "*" ] 581 poisonous = [ "software_video_codecs" ] 582 sources = [ 583 "codecs/vp8/include/vp8.h", 584 "codecs/vp8/libvpx_vp8_decoder.cc", 585 "codecs/vp8/libvpx_vp8_decoder.h", 586 "codecs/vp8/libvpx_vp8_encoder.cc", 587 "codecs/vp8/libvpx_vp8_encoder.h", 588 ] 589 590 deps = [ 591 ":codec_globals_headers", 592 ":frame_sampler", 593 ":video_codec_interface", 594 ":video_coding_utility", 595 ":webrtc_libvpx_interface", 596 ":webrtc_vp8_scalability", 597 ":webrtc_vp8_temporal_layers", 598 "../../api:fec_controller_api", 599 "../../api:field_trials_view", 600 "../../api:scoped_refptr", 601 "../../api/environment", 602 "../../api/units:time_delta", 603 "../../api/units:timestamp", 604 "../../api/video:encoded_image", 605 "../../api/video:render_resolution", 606 "../../api/video:video_bitrate_allocation", 607 "../../api/video:video_bitrate_allocator", 608 "../../api/video:video_codec_constants", 609 "../../api/video:video_frame", 610 "../../api/video:video_frame_type", 611 "../../api/video:video_rtp_headers", 612 "../../api/video_codecs:scalability_mode", 613 "../../api/video_codecs:video_codecs_api", 614 "../../api/video_codecs:vp8_temporal_layers_factory", 615 "../../common_video", 616 "../../rtc_base:checks", 617 "../../rtc_base:event_tracer", 618 "../../rtc_base:logging", 619 "../../rtc_base:rtc_numerics", 620 "../../rtc_base:safe_conversions", 621 "../../rtc_base/experiments:encoder_info_settings", 622 "../../rtc_base/experiments:field_trial_parser", 623 "../../rtc_base/experiments:rate_control_settings", 624 "../../system_wrappers:metrics", 625 "../rtp_rtcp:rtp_rtcp_format", 626 "svc:scalability_mode_util", 627 "//third_party/abseil-cpp/absl/algorithm:container", 628 "//third_party/abseil-cpp/absl/base:nullability", 629 "//third_party/abseil-cpp/absl/container:inlined_vector", 630 "//third_party/abseil-cpp/absl/strings:string_view", 631 "//third_party/libyuv", 632 ] 633 if (rtc_build_libvpx) { 634 deps += [ rtc_libvpx_dir ] 635 } 636 } 637 638 rtc_library("webrtc_vp8_scalability") { 639 sources = [ 640 "codecs/vp8/vp8_scalability.cc", 641 "codecs/vp8/vp8_scalability.h", 642 ] 643 deps = [ "../../api/video_codecs:scalability_mode" ] 644 } 645 646 rtc_library("webrtc_vp8_temporal_layers") { 647 visibility = [ "*" ] 648 sources = [ 649 "codecs/vp8/default_temporal_layers.cc", 650 "codecs/vp8/default_temporal_layers.h", 651 "codecs/vp8/include/temporal_layers_checker.h", 652 "codecs/vp8/screenshare_layers.cc", 653 "codecs/vp8/screenshare_layers.h", 654 "codecs/vp8/temporal_layers_checker.cc", 655 ] 656 657 deps = [ 658 ":codec_globals_headers", 659 ":video_codec_interface", 660 ":video_coding_utility", 661 "../../api:fec_controller_api", 662 "../../api/environment", 663 "../../api/transport/rtp:dependency_descriptor", 664 "../../api/video:video_codec_constants", 665 "../../api/video_codecs:video_codecs_api", 666 "../../common_video/generic_frame_descriptor", 667 "../../rtc_base:checks", 668 "../../rtc_base:logging", 669 "../../rtc_base:rate_statistics", 670 "../../rtc_base:rtc_numerics", 671 "../../system_wrappers:metrics", 672 "//third_party/abseil-cpp/absl/container:inlined_vector", 673 "//third_party/abseil-cpp/absl/strings:string_view", 674 ] 675 } 676 677 # This target includes VP9 files that may be used for any VP9 codec, internal SW or external HW. 678 rtc_library("webrtc_vp9_helpers") { 679 sources = [ 680 "codecs/vp9/svc_config.cc", 681 "codecs/vp9/svc_config.h", 682 ] 683 684 deps = [ 685 ":codec_globals_headers", 686 ":video_codec_interface", 687 "../../api/video:video_bitrate_allocation", 688 "../../api/video:video_bitrate_allocator", 689 "../../api/video:video_codec_constants", 690 "../../api/video:video_frame", 691 "../../api/video_codecs:scalability_mode", 692 "../../api/video_codecs:video_codecs_api", 693 "../../common_video", 694 "../../media:video_common", 695 "../../rtc_base:checks", 696 "../../rtc_base:logging", 697 "svc:scalability_mode_util", 698 "svc:scalability_structures", 699 "svc:scalable_video_controller", 700 ] 701 } 702 703 rtc_library("webrtc_vp9") { 704 visibility = [ "*" ] 705 poisonous = [ "software_video_codecs" ] 706 sources = [ 707 "codecs/vp9/include/vp9.h", 708 "codecs/vp9/libvpx_vp9_decoder.cc", 709 "codecs/vp9/libvpx_vp9_decoder.h", 710 "codecs/vp9/libvpx_vp9_encoder.cc", 711 "codecs/vp9/libvpx_vp9_encoder.h", 712 "codecs/vp9/vp9.cc", 713 "codecs/vp9/vp9_frame_buffer_pool.cc", 714 "codecs/vp9/vp9_frame_buffer_pool.h", 715 ] 716 717 deps = [ 718 ":codec_globals_headers", 719 ":frame_sampler", 720 ":video_codec_interface", 721 ":video_coding_utility", 722 ":webrtc_libvpx_interface", 723 "../../api:array_view", 724 "../../api:fec_controller_api", 725 "../../api:field_trials_view", 726 "../../api:refcountedbase", 727 "../../api:scoped_refptr", 728 "../../api/environment", 729 "../../api/transport/rtp:dependency_descriptor", 730 "../../api/video:encoded_image", 731 "../../api/video:render_resolution", 732 "../../api/video:video_bitrate_allocation", 733 "../../api/video:video_bitrate_allocator", 734 "../../api/video:video_codec_constants", 735 "../../api/video:video_frame", 736 "../../api/video:video_frame_i010", 737 "../../api/video:video_frame_type", 738 "../../api/video:video_rtp_headers", 739 "../../api/video_codecs:scalability_mode", 740 "../../api/video_codecs:video_codecs_api", 741 "../../common_video", 742 "../../rtc_base:buffer", 743 "../../rtc_base:checks", 744 "../../rtc_base:event_tracer", 745 "../../rtc_base:logging", 746 "../../rtc_base:macromagic", 747 "../../rtc_base:safe_conversions", 748 "../../rtc_base:stringutils", 749 "../../rtc_base/containers:flat_map", 750 "../../rtc_base/experiments:encoder_info_settings", 751 "../../rtc_base/experiments:field_trial_parser", 752 "../../rtc_base/experiments:rate_control_settings", 753 "../../rtc_base/synchronization:mutex", 754 "../rtp_rtcp:rtp_rtcp_format", 755 "svc:scalability_mode_util", 756 "svc:scalability_structures", 757 "svc:scalable_video_controller", 758 "svc:simulcast_to_svc_converter", 759 "svc:svc_rate_allocator", 760 "//third_party/abseil-cpp/absl/algorithm:container", 761 "//third_party/abseil-cpp/absl/base:nullability", 762 "//third_party/abseil-cpp/absl/container:inlined_vector", 763 "//third_party/abseil-cpp/absl/strings", 764 "//third_party/libyuv", 765 ] 766 if (rtc_build_libvpx) { 767 deps += [ rtc_libvpx_dir ] 768 } 769 } 770 771 if (rtc_include_tests) { 772 if (is_android) { 773 rtc_library("android_codec_factory_helper") { 774 sources = [ 775 "codecs/test/android_codec_factory_helper.cc", 776 "codecs/test/android_codec_factory_helper.h", 777 ] 778 779 deps = [ 780 "../../api/video_codecs:video_codecs_api", 781 "../../modules/utility", 782 "../../rtc_base:checks", 783 "../../sdk/android:internal_jni", 784 "../../sdk/android:native_api_base", 785 "../../sdk/android:native_api_codecs", 786 "../../sdk/android:native_api_jni", 787 ] 788 } 789 } 790 791 if (is_ios || is_mac) { 792 rtc_library("objc_codec_factory_helper") { 793 sources = [ 794 "codecs/test/objc_codec_factory_helper.h", 795 "codecs/test/objc_codec_factory_helper.mm", 796 ] 797 798 deps = [ 799 "../../api/video:video_frame", 800 "../../api/video:video_rtp_headers", 801 "../../api/video_codecs:video_codecs_api", 802 "../../media:rtc_audio_video", 803 "../../sdk:native_api", 804 "../../sdk:peerconnectionfactory_base_objc", 805 "../../sdk:videocodec_objc", 806 "../../sdk:videosource_objc", 807 "../../sdk:videotoolbox_objc", 808 ] 809 } 810 } 811 812 rtc_library("encoded_video_frame_producer") { 813 testonly = true 814 sources = [ 815 "codecs/test/encoded_video_frame_producer.cc", 816 "codecs/test/encoded_video_frame_producer.h", 817 ] 818 deps = [ 819 ":video_codec_interface", 820 "../../api:create_frame_generator", 821 "../../api:frame_generator_api", 822 "../../api/transport/rtp:dependency_descriptor", 823 "../../api/units:timestamp", 824 "../../api/video:encoded_image", 825 "../../api/video:render_resolution", 826 "../../api/video:video_frame", 827 "../../api/video:video_frame_type", 828 "../../api/video_codecs:video_codecs_api", 829 "../../rtc_base:checks", 830 ] 831 } 832 833 rtc_library("simulcast_test_fixture_impl") { 834 testonly = true 835 sources = [ 836 "utility/simulcast_test_fixture_impl.cc", 837 "utility/simulcast_test_fixture_impl.h", 838 ] 839 840 deps = [ 841 ":video_codec_interface", 842 ":video_coding", 843 ":video_coding_utility", 844 "../../api:mock_video_decoder", 845 "../../api:mock_video_encoder", 846 "../../api:scoped_refptr", 847 "../../api:simulcast_test_fixture_api", 848 "../../api/environment", 849 "../../api/environment:environment_factory", 850 "../../api/video:encoded_image", 851 "../../api/video:video_bitrate_allocator", 852 "../../api/video:video_frame", 853 "../../api/video:video_frame_type", 854 "../../api/video:video_rtp_headers", 855 "../../api/video_codecs:video_codecs_api", 856 "../../common_video", 857 "../../rtc_base:checks", 858 "../../test:test_support", 859 ] 860 } 861 862 rtc_library("video_codecs_test_framework") { 863 testonly = true 864 sources = [ 865 "codecs/test/video_codec_unittest.cc", 866 "codecs/test/video_codec_unittest.h", 867 "codecs/test/videoprocessor.cc", 868 "codecs/test/videoprocessor.h", 869 ] 870 871 deps = [ 872 ":codec_globals_headers", 873 ":video_codec_interface", 874 ":video_coding", 875 ":video_coding_utility", 876 ":videocodec_test_stats_impl", 877 ":webrtc_vp9_helpers", 878 "..:module_api", 879 "../../api:create_frame_generator", 880 "../../api:field_trials", 881 "../../api:frame_generator_api", 882 "../../api:scoped_refptr", 883 "../../api:sequence_checker", 884 "../../api:videocodec_test_fixture_api", 885 "../../api:videocodec_test_stats_api", 886 "../../api/environment", 887 "../../api/environment:environment_factory", 888 "../../api/numerics", 889 "../../api/task_queue", 890 "../../api/task_queue:default_task_queue_factory", 891 "../../api/test/metrics:global_metrics_logger_and_exporter", 892 "../../api/units:time_delta", 893 "../../api/video:builtin_video_bitrate_allocator_factory", 894 "../../api/video:encoded_image", 895 "../../api/video:resolution", 896 "../../api/video:video_bitrate_allocation", 897 "../../api/video:video_bitrate_allocator", 898 "../../api/video:video_bitrate_allocator_factory", 899 "../../api/video:video_codec_constants", 900 "../../api/video:video_frame", 901 "../../api/video:video_frame_type", 902 "../../api/video:video_rtp_headers", 903 "../../api/video_codecs:video_codecs_api", 904 "../../common_video", 905 "../../rtc_base:buffer", 906 "../../rtc_base:checks", 907 "../../rtc_base:macromagic", 908 "../../rtc_base:rtc_event", 909 "../../rtc_base:task_queue_for_test", 910 "../../rtc_base:timeutils", 911 "../../rtc_base/synchronization:mutex", 912 "../../rtc_base/system:no_unique_address", 913 "../../test:create_test_field_trials", 914 "../../test:test_support", 915 "../../test:video_frame_writer", 916 "../../test:video_test_common", 917 "../../test:video_test_support", 918 "../rtp_rtcp:rtp_rtcp_format", 919 "//third_party/libyuv", 920 ] 921 } 922 923 video_coding_modules_tests_resources = [] 924 if (is_android) { 925 video_coding_modules_tests_resources += [ 926 "../../resources/foreman_128x96.yuv", 927 "../../resources/foreman_160x120.yuv", 928 "../../resources/foreman_176x144.yuv", 929 "../../resources/foreman_240x136.yuv", 930 "../../resources/foreman_320x240.yuv", 931 "../../resources/foreman_480x272.yuv", 932 ] 933 } 934 if (!is_android) { 935 video_coding_modules_tests_resources += [ 936 "../../resources/ConferenceMotion_1280_720_50.yuv", 937 "../../resources/FourPeople_1280x720_30.yuv", 938 ] 939 } 940 941 num_video_coding_modules_tests_resources = 0 942 foreach(i, video_coding_modules_tests_resources) { 943 num_video_coding_modules_tests_resources += 1 944 } 945 946 if (num_video_coding_modules_tests_resources > 0) { 947 if (is_ios || is_mac) { 948 bundle_data("video_coding_modules_tests_resources_bundle_data") { 949 testonly = true 950 sources = video_coding_modules_tests_resources 951 outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ] 952 } 953 } 954 } 955 956 rtc_library("videocodec_test_impl") { 957 testonly = true 958 sources = [ 959 "codecs/test/videocodec_test_fixture_impl.cc", 960 "codecs/test/videocodec_test_fixture_impl.h", 961 ] 962 deps = [ 963 ":codec_globals_headers", 964 ":video_codec_interface", 965 ":video_codecs_test_framework", 966 ":video_coding_utility", 967 ":videocodec_test_stats_impl", 968 ":webrtc_vp9_helpers", 969 "../../api:array_view", 970 "../../api:field_trials_view", 971 "../../api:make_ref_counted", 972 "../../api:rtp_parameters", 973 "../../api:videocodec_test_fixture_api", 974 "../../api:videocodec_test_stats_api", 975 "../../api/environment", 976 "../../api/environment:environment_factory", 977 "../../api/test/metrics:global_metrics_logger_and_exporter", 978 "../../api/test/metrics:metric", 979 "../../api/test/video:function_video_factory", 980 "../../api/video:encoded_image", 981 "../../api/video:resolution", 982 "../../api/video:video_bitrate_allocation", 983 "../../api/video:video_codec_constants", 984 "../../api/video:video_frame", 985 "../../api/video:video_frame_type", 986 "../../api/video_codecs:video_codecs_api", 987 "../../api/video_codecs:video_decoder_factory_template", 988 "../../api/video_codecs:video_decoder_factory_template_dav1d_adapter", 989 "../../api/video_codecs:video_decoder_factory_template_libvpx_vp8_adapter", 990 "../../api/video_codecs:video_decoder_factory_template_libvpx_vp9_adapter", 991 "../../api/video_codecs:video_decoder_factory_template_open_h264_adapter", 992 "../../api/video_codecs:video_encoder_factory_template", 993 "../../api/video_codecs:video_encoder_factory_template_libaom_av1_adapter", 994 "../../api/video_codecs:video_encoder_factory_template_libvpx_vp8_adapter", 995 "../../api/video_codecs:video_encoder_factory_template_libvpx_vp9_adapter", 996 "../../api/video_codecs:video_encoder_factory_template_open_h264_adapter", 997 "../../common_video", 998 "../../media:media_constants", 999 "../../media:rtc_audio_video", 1000 "../../rtc_base:checks", 1001 "../../rtc_base:cpu_info", 1002 "../../rtc_base:logging", 1003 "../../rtc_base:rtc_base_tests_utils", 1004 "../../rtc_base:stringutils", 1005 "../../rtc_base:task_queue_for_test", 1006 "../../rtc_base:threading", 1007 "../../rtc_base:timeutils", 1008 "../../rtc_base/system:file_wrapper", 1009 "../../test:create_test_field_trials", 1010 "../../test:fileutils", 1011 "../../test:test_support", 1012 "../../test:video_frame_writer", 1013 "../../test:video_test_common", 1014 "../../test:video_test_support", 1015 "../../video/config:encoder_config", 1016 "../../video/config:streams_config", 1017 "//third_party/abseil-cpp/absl/strings", 1018 "//third_party/abseil-cpp/absl/strings:string_view", 1019 ] 1020 } 1021 1022 rtc_library("videocodec_test_stats_impl") { 1023 testonly = true 1024 sources = [ 1025 "codecs/test/videocodec_test_stats_impl.cc", 1026 "codecs/test/videocodec_test_stats_impl.h", 1027 ] 1028 deps = [ 1029 "../../api:videocodec_test_stats_api", 1030 "../../api/numerics", 1031 "../../api/test/metrics:global_metrics_logger_and_exporter", 1032 "../../api/test/metrics:metric", 1033 "../../api/units:data_rate", 1034 "../../api/units:frequency", 1035 "../../api/video:video_frame_type", 1036 "../../rtc_base:checks", 1037 "../../rtc_base:rtc_numerics", 1038 "../../rtc_base:stringutils", 1039 "../../test:test_common", 1040 "../rtp_rtcp:rtp_rtcp_format", 1041 ] 1042 } 1043 1044 rtc_test("video_codec_perf_tests") { 1045 testonly = true 1046 1047 sources = [ "codecs/test/video_codec_test.cc" ] 1048 1049 deps = [ 1050 ":video_codec_interface", 1051 "../../api:field_trials", 1052 "../../api/environment", 1053 "../../api/environment:environment_factory", 1054 "../../api/test/metrics:global_metrics_logger_and_exporter", 1055 "../../api/units:data_rate", 1056 "../../api/units:frequency", 1057 "../../api/video:resolution", 1058 "../../api/video_codecs:builtin_video_decoder_factory", 1059 "../../api/video_codecs:builtin_video_encoder_factory", 1060 "../../api/video_codecs:scalability_mode", 1061 "../../api/video_codecs:video_codecs_api", 1062 "../../modules/video_coding/svc:scalability_mode_util", 1063 "../../rtc_base:checks", 1064 "../../rtc_base:logging", 1065 "../../rtc_base:stringutils", 1066 "../../test:create_test_field_trials", 1067 "../../test:fileutils", 1068 "../../test:test_flags", 1069 "../../test:test_main", 1070 "../../test:test_support", 1071 "../../test:video_codec_tester", 1072 "//third_party/abseil-cpp/absl/flags:flag", 1073 "//third_party/abseil-cpp/absl/functional:any_invocable", 1074 ] 1075 1076 if (is_android) { 1077 use_default_launcher = false 1078 deps += [ 1079 ":android_codec_factory_helper", 1080 "../../sdk/android:hwcodecs_java", 1081 ] 1082 shard_timeout = 900 1083 } 1084 1085 data = [ "../../resources/FourPeople_1280x720_30.yuv" ] 1086 } 1087 1088 rtc_library("video_coding_modules_tests") { 1089 testonly = true 1090 defines = [] 1091 1092 sources = [ 1093 "codecs/h264/test/h264_impl_unittest.cc", 1094 "codecs/test/video_encoder_decoder_instantiation_tests.cc", 1095 "codecs/test/videocodec_test_av1.cc", 1096 "codecs/test/videocodec_test_libvpx.cc", 1097 "codecs/vp8/test/vp8_impl_unittest.cc", 1098 ] 1099 1100 if (rtc_libvpx_build_vp9) { 1101 sources += [ "codecs/vp9/test/vp9_impl_unittest.cc" ] 1102 } 1103 1104 if (rtc_use_h264) { 1105 sources += [ "codecs/test/videocodec_test_openh264.cc" ] 1106 } 1107 1108 deps = [ 1109 ":codec_globals_headers", 1110 ":encoded_video_frame_producer", 1111 ":mock_libvpx_interface", 1112 ":video_codec_interface", 1113 ":video_codecs_test_framework", 1114 ":video_coding_utility", 1115 ":videocodec_test_impl", 1116 ":webrtc_h264", 1117 ":webrtc_libvpx_interface", 1118 ":webrtc_vp8", 1119 ":webrtc_vp9", 1120 ":webrtc_vp9_helpers", 1121 "../../api:array_view", 1122 "../../api:create_frame_generator", 1123 "../../api:create_videocodec_test_fixture_api", 1124 "../../api:field_trials", 1125 "../../api:frame_generator_api", 1126 "../../api:mock_video_codec_factory", 1127 "../../api:mock_video_decoder", 1128 "../../api:mock_video_encoder", 1129 "../../api:scoped_refptr", 1130 "../../api:videocodec_test_fixture_api", 1131 "../../api:videocodec_test_stats_api", 1132 "../../api/environment", 1133 "../../api/environment:environment_factory", 1134 "../../api/test/metrics:global_metrics_logger_and_exporter", 1135 "../../api/test/video:function_video_factory", 1136 "../../api/units:data_rate", 1137 "../../api/units:time_delta", 1138 "../../api/units:timestamp", 1139 "../../api/video:encoded_image", 1140 "../../api/video:render_resolution", 1141 "../../api/video:video_bitrate_allocation", 1142 "../../api/video:video_codec_constants", 1143 "../../api/video:video_frame", 1144 "../../api/video:video_frame_type", 1145 "../../api/video:video_rtp_headers", 1146 "../../api/video_codecs:rtc_software_fallback_wrappers", 1147 "../../api/video_codecs:scalability_mode", 1148 "../../api/video_codecs:video_codecs_api", 1149 "../../common_video", 1150 "../../common_video/test:utilities", 1151 "../../media:codec", 1152 "../../media:media_constants", 1153 "../../media:rtc_internal_video_codecs", 1154 "../../media:rtc_simulcast_encoder_adapter", 1155 "../../rtc_base:checks", 1156 "../../rtc_base:refcount", 1157 "../../rtc_base:stringutils", 1158 "../../rtc_base:timeutils", 1159 "../../test:create_test_field_trials", 1160 "../../test:fileutils", 1161 "../../test:test_support", 1162 "../../test:video_test_common", 1163 "../rtp_rtcp:rtp_rtcp_format", 1164 "codecs/av1:dav1d_decoder", 1165 "svc:scalability_mode_util", 1166 "//third_party/abseil-cpp/absl/container:inlined_vector", 1167 "//third_party/abseil-cpp/absl/memory", 1168 "//third_party/libyuv", 1169 ] 1170 1171 data = video_coding_modules_tests_resources 1172 1173 if (is_android) { 1174 sources += [ "codecs/test/videocodec_test_mediacodec.cc" ] 1175 1176 deps += [ 1177 ":android_codec_factory_helper", 1178 "../../rtc_base:stringutils", 1179 ] 1180 } 1181 1182 if (is_ios || is_mac) { 1183 sources += [ "codecs/test/videocodec_test_videotoolbox.cc" ] 1184 1185 deps += [ ":objc_codec_factory_helper" ] 1186 1187 if (num_video_coding_modules_tests_resources > 0) { 1188 deps += [ ":video_coding_modules_tests_resources_bundle_data" ] 1189 } 1190 } 1191 1192 if (rtc_build_libvpx) { 1193 deps += [ rtc_libvpx_dir ] 1194 } 1195 } 1196 1197 rtc_library("video_coding_unittests") { 1198 testonly = true 1199 1200 sources = [ 1201 "chain_diff_calculator_unittest.cc", 1202 "codecs/test/videocodec_test_fixture_config_unittest.cc", 1203 "codecs/test/videocodec_test_stats_impl_unittest.cc", 1204 "codecs/test/videoprocessor_unittest.cc", 1205 "codecs/vp8/default_temporal_layers_unittest.cc", 1206 "codecs/vp8/libvpx_vp8_simulcast_test.cc", 1207 "codecs/vp8/screenshare_layers_unittest.cc", 1208 "codecs/vp9/svc_config_unittest.cc", 1209 "decoder_database_unittest.cc", 1210 "fec_controller_unittest.cc", 1211 "frame_dependencies_calculator_unittest.cc", 1212 "frame_helpers_unittest.cc", 1213 "generic_decoder_unittest.cc", 1214 "h264_sprop_parameter_sets_unittest.cc", 1215 "h264_sps_pps_tracker_unittest.cc", 1216 "h26x_packet_buffer_unittest.cc", 1217 "histogram_unittest.cc", 1218 "loss_notification_controller_unittest.cc", 1219 "nack_requester_unittest.cc", 1220 "packet_buffer_unittest.cc", 1221 "rtp_frame_reference_finder_unittest.cc", 1222 "rtp_vp8_ref_finder_unittest.cc", 1223 "rtp_vp9_ref_finder_unittest.cc", 1224 "utility/bandwidth_quality_scaler_unittest.cc", 1225 "utility/corruption_detection_settings_generator_unittest.cc", 1226 "utility/decoded_frames_history_unittest.cc", 1227 "utility/frame_dropper_unittest.cc", 1228 "utility/frame_sampler_unittest.cc", 1229 "utility/framerate_controller_deprecated_unittest.cc", 1230 "utility/ivf_file_reader_unittest.cc", 1231 "utility/ivf_file_writer_unittest.cc", 1232 "utility/qp_parser_unittest.cc", 1233 "utility/quality_scaler_unittest.cc", 1234 "utility/simulcast_rate_allocator_unittest.cc", 1235 "utility/vp9_uncompressed_header_parser_unittest.cc", 1236 "video_codec_initializer_unittest.cc", 1237 "video_receiver2_unittest.cc", 1238 "video_receiver_unittest.cc", 1239 ] 1240 if (rtc_use_h264) { 1241 sources += [ 1242 "codecs/h264/h264_encoder_impl_unittest.cc", 1243 "codecs/h264/h264_simulcast_unittest.cc", 1244 ] 1245 } 1246 1247 deps = [ 1248 ":chain_diff_calculator", 1249 ":codec_globals_headers", 1250 ":encoded_frame", 1251 ":frame_dependencies_calculator", 1252 ":frame_helpers", 1253 ":frame_sampler", 1254 ":h264_sprop_parameter_sets", 1255 ":h26x_packet_buffer", 1256 ":nack_requester", 1257 ":packet_buffer", 1258 ":simulcast_test_fixture_impl", 1259 ":video_codec_interface", 1260 ":video_codecs_test_framework", 1261 ":video_coding", 1262 ":video_coding_legacy", 1263 ":video_coding_utility", 1264 ":videocodec_test_impl", 1265 ":videocodec_test_stats_impl", 1266 ":webrtc_h264", 1267 ":webrtc_vp8", 1268 ":webrtc_vp8_temporal_layers", 1269 ":webrtc_vp9", 1270 ":webrtc_vp9_helpers", 1271 "..:module_api", 1272 "..:module_fec_api", 1273 "../../api:array_view", 1274 "../../api:create_simulcast_test_fixture_api", 1275 "../../api:fec_controller_api", 1276 "../../api:field_trials", 1277 "../../api:field_trials_view", 1278 "../../api:make_ref_counted", 1279 "../../api:mock_fec_controller_override", 1280 "../../api:mock_video_decoder", 1281 "../../api:mock_video_encoder", 1282 "../../api:rtp_headers", 1283 "../../api:rtp_packet_info", 1284 "../../api:scoped_refptr", 1285 "../../api:simulcast_test_fixture_api", 1286 "../../api:videocodec_test_fixture_api", 1287 "../../api/environment", 1288 "../../api/environment:environment_factory", 1289 "../../api/task_queue", 1290 "../../api/task_queue:default_task_queue_factory", 1291 "../../api/test/video:function_video_factory", 1292 "../../api/transport/rtp:dependency_descriptor", 1293 "../../api/units:data_rate", 1294 "../../api/units:data_size", 1295 "../../api/units:frequency", 1296 "../../api/units:time_delta", 1297 "../../api/units:timestamp", 1298 "../../api/video:builtin_video_bitrate_allocator_factory", 1299 "../../api/video:encoded_frame", 1300 "../../api/video:encoded_image", 1301 "../../api/video:frame_buffer", 1302 "../../api/video:render_resolution", 1303 "../../api/video:video_adaptation", 1304 "../../api/video:video_bitrate_allocation", 1305 "../../api/video:video_bitrate_allocator", 1306 "../../api/video:video_bitrate_allocator_factory", 1307 "../../api/video:video_codec_constants", 1308 "../../api/video:video_frame", 1309 "../../api/video:video_frame_type", 1310 "../../api/video:video_rtp_headers", 1311 "../../api/video/corruption_detection:filter_settings", 1312 "../../api/video/corruption_detection:frame_instrumentation_data", 1313 "../../api/video_codecs:scalability_mode", 1314 "../../api/video_codecs:video_codecs_api", 1315 "../../api/video_codecs:vp8_temporal_layers_factory", 1316 "../../common_video", 1317 "../../common_video:corruption_score_calculator", 1318 "../../common_video/generic_frame_descriptor", 1319 "../../common_video/test:utilities", 1320 "../../media:media_constants", 1321 "../../media:rtc_internal_video_codecs", 1322 "../../rtc_base:checks", 1323 "../../rtc_base:copy_on_write_buffer", 1324 "../../rtc_base:gunit_helpers", 1325 "../../rtc_base:histogram_percentile_counter", 1326 "../../rtc_base:platform_thread", 1327 "../../rtc_base:random", 1328 "../../rtc_base:refcount", 1329 "../../rtc_base:rtc_base_tests_utils", 1330 "../../rtc_base:rtc_event", 1331 "../../rtc_base:rtc_numerics", 1332 "../../rtc_base:stringutils", 1333 "../../rtc_base:task_queue_for_test", 1334 "../../rtc_base:threading", 1335 "../../rtc_base:timeutils", 1336 "../../rtc_base/experiments:encoder_info_settings", 1337 "../../rtc_base/synchronization:mutex", 1338 "../../rtc_base/system:file_wrapper", 1339 "../../rtc_base/system:unused", 1340 "../../system_wrappers", 1341 "../../system_wrappers:metrics", 1342 "../../test:create_test_environment", 1343 "../../test:create_test_field_trials", 1344 "../../test:fake_encoded_frame", 1345 "../../test:fake_video_codecs", 1346 "../../test:fileutils", 1347 "../../test:run_loop", 1348 "../../test:test_support", 1349 "../../test:video_test_common", 1350 "../../test:video_test_support", 1351 "../../test/time_controller", 1352 "../../third_party/libyuv", 1353 "../../video/config:encoder_config", 1354 "../rtp_rtcp", 1355 "../rtp_rtcp:rtp_rtcp_format", 1356 "../rtp_rtcp:rtp_video_header", 1357 "codecs/av1:video_coding_codecs_av1_tests", 1358 "deprecated:deprecated_frame_buffer", 1359 "deprecated:deprecated_jitter_buffer_common", 1360 "deprecated:deprecated_packet", 1361 "deprecated:deprecated_session_info", 1362 "deprecated:deprecated_stream_generator", 1363 "svc:scalability_structure_tests", 1364 "svc:simulcast_to_svc_converter_tests", 1365 "svc:svc_rate_allocator_tests", 1366 "timing:jitter_estimator", 1367 "timing:timing_module", 1368 "//third_party/abseil-cpp/absl/container:inlined_vector", 1369 ] 1370 if (rtc_build_libvpx) { 1371 deps += [ rtc_libvpx_dir ] 1372 } 1373 } 1374 }