| # Copyright (c) 2018 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") |
| if (is_android) { |
| import("//build/config/android/config.gni") |
| import("//build/config/android/rules.gni") |
| } |
| |
| rtc_library("video_rtp_headers") { |
| visibility = [ "*" ] |
| sources = [ |
| "color_space.cc", |
| "color_space.h", |
| "hdr_metadata.cc", |
| "hdr_metadata.h", |
| "video_content_type.cc", |
| "video_content_type.h", |
| "video_rotation.h", |
| "video_timing.cc", |
| "video_timing.h", |
| ] |
| |
| deps = [ |
| "..:array_view", |
| "../../rtc_base:rtc_base_approved", |
| "../../rtc_base/system:rtc_export", |
| "../units:data_rate", |
| ] |
| absl_deps = [ |
| "//third_party/abseil-cpp/absl/container:inlined_vector", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| } |
| |
| rtc_library("video_frame") { |
| visibility = [ "*" ] |
| sources = [ |
| "i420_buffer.cc", |
| "i420_buffer.h", |
| "video_codec_type.h", |
| "video_frame.cc", |
| "video_frame.h", |
| "video_frame_buffer.cc", |
| "video_frame_buffer.h", |
| "video_sink_interface.h", |
| "video_source_interface.cc", |
| "video_source_interface.h", |
| ] |
| |
| deps = [ |
| ":video_rtp_headers", |
| "..:array_view", |
| "..:rtp_packet_info", |
| "..:scoped_refptr", |
| "../../rtc_base:checks", |
| "../../rtc_base:rtc_base_approved", |
| "../../rtc_base/memory:aligned_malloc", |
| "../../rtc_base/system:rtc_export", |
| "//third_party/libyuv", |
| ] |
| absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] |
| } |
| |
| if (is_android) { |
| java_cpp_enum("video_frame_enums") { |
| sources = [ "video_codec_type.h" ] |
| } |
| } |
| |
| rtc_library("video_frame_i010") { |
| visibility = [ "*" ] |
| sources = [ |
| "i010_buffer.cc", |
| "i010_buffer.h", |
| ] |
| deps = [ |
| ":video_frame", |
| ":video_rtp_headers", |
| "..:scoped_refptr", |
| "../../rtc_base", |
| "../../rtc_base:checks", |
| "../../rtc_base/memory:aligned_malloc", |
| "//third_party/libyuv", |
| ] |
| } |
| |
| rtc_library("video_frame_nv12") { |
| visibility = [ "*" ] |
| sources = [ |
| "nv12_buffer.cc", |
| "nv12_buffer.h", |
| ] |
| deps = [ |
| ":video_frame", |
| "..:scoped_refptr", |
| "../../rtc_base", |
| "../../rtc_base:checks", |
| "../../rtc_base/memory:aligned_malloc", |
| "../../rtc_base/system:rtc_export", |
| "//third_party/libyuv", |
| ] |
| } |
| |
| rtc_source_set("recordable_encoded_frame") { |
| visibility = [ "*" ] |
| sources = [ "recordable_encoded_frame.h" ] |
| |
| deps = [ |
| ":encoded_image", |
| ":video_frame", |
| ":video_rtp_headers", |
| "..:array_view", |
| "..:scoped_refptr", |
| "../../rtc_base:refcount", |
| "../units:timestamp", |
| ] |
| } |
| |
| rtc_source_set("video_frame_type") { |
| visibility = [ "*" ] |
| sources = [ "video_frame_type.h" ] |
| } |
| |
| rtc_library("encoded_image") { |
| visibility = [ "*" ] |
| sources = [ |
| "encoded_image.cc", |
| "encoded_image.h", |
| ] |
| deps = [ |
| ":video_codec_constants", |
| ":video_frame", |
| ":video_frame_type", |
| ":video_rtp_headers", |
| "..:refcountedbase", |
| "..:rtp_packet_info", |
| "..:scoped_refptr", |
| "../../rtc_base:checks", |
| "../../rtc_base:deprecation", |
| "../../rtc_base:rtc_base_approved", |
| "../../rtc_base/system:rtc_export", |
| ] |
| absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] |
| } |
| |
| rtc_library("encoded_frame") { |
| visibility = [ "*" ] |
| sources = [ |
| "encoded_frame.cc", |
| "encoded_frame.h", |
| ] |
| |
| deps = [ "../../modules/video_coding:encoded_frame" ] |
| } |
| |
| rtc_source_set("video_codec_constants") { |
| visibility = [ "*" ] |
| sources = [ "video_codec_constants.h" ] |
| deps = [] |
| } |
| |
| rtc_library("video_bitrate_allocation") { |
| visibility = [ "*" ] |
| sources = [ |
| "video_bitrate_allocation.cc", |
| "video_bitrate_allocation.h", |
| ] |
| deps = [ |
| ":video_codec_constants", |
| "../../rtc_base:checks", |
| "../../rtc_base:safe_conversions", |
| "../../rtc_base:stringutils", |
| "../../rtc_base/system:rtc_export", |
| ] |
| absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] |
| } |
| |
| rtc_source_set("video_layers_allocation") { |
| visibility = [ "*" ] |
| sources = [ "video_layers_allocation.h" ] |
| deps = [ "../units:data_rate" ] |
| absl_deps = [ "//third_party/abseil-cpp/absl/container:inlined_vector" ] |
| } |
| |
| rtc_library("video_bitrate_allocator") { |
| visibility = [ "*" ] |
| sources = [ |
| "video_bitrate_allocator.cc", |
| "video_bitrate_allocator.h", |
| ] |
| deps = [ |
| ":video_bitrate_allocation", |
| "../units:data_rate", |
| ] |
| } |
| |
| rtc_source_set("video_bitrate_allocator_factory") { |
| visibility = [ "*" ] |
| sources = [ "video_bitrate_allocator_factory.h" ] |
| deps = [ |
| ":video_bitrate_allocator", |
| "../../rtc_base:rtc_base_approved", |
| "../video_codecs:video_codecs_api", |
| ] |
| } |
| |
| rtc_source_set("video_stream_decoder") { |
| visibility = [ "*" ] |
| sources = [ "video_stream_decoder.h" ] |
| |
| deps = [ |
| ":encoded_frame", |
| ":video_frame", |
| ":video_rtp_headers", |
| "../task_queue", |
| "../units:time_delta", |
| "../video_codecs:video_codecs_api", |
| ] |
| absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] |
| } |
| |
| rtc_library("video_stream_decoder_create") { |
| visibility = [ "*" ] |
| sources = [ |
| "video_stream_decoder_create.cc", |
| "video_stream_decoder_create.h", |
| ] |
| |
| deps = [ |
| ":video_stream_decoder", |
| "../../rtc_base:rtc_base_approved", |
| "../../video:video_stream_decoder_impl", |
| "../task_queue", |
| "../video_codecs:video_codecs_api", |
| ] |
| } |
| |
| rtc_library("video_adaptation") { |
| visibility = [ "*" ] |
| sources = [ |
| "video_adaptation_counters.cc", |
| "video_adaptation_counters.h", |
| "video_adaptation_reason.h", |
| ] |
| |
| deps = [ |
| "../../rtc_base:checks", |
| "../../rtc_base:stringutils", |
| ] |
| } |
| |
| rtc_source_set("video_stream_encoder") { |
| visibility = [ "*" ] |
| sources = [ |
| "video_stream_encoder_interface.h", |
| "video_stream_encoder_observer.h", |
| "video_stream_encoder_settings.h", |
| ] |
| |
| deps = [ |
| ":video_adaptation", |
| ":video_bitrate_allocation", |
| ":video_bitrate_allocator", |
| ":video_bitrate_allocator_factory", |
| ":video_codec_constants", |
| ":video_frame", |
| ":video_layers_allocation", |
| "..:rtp_parameters", |
| "..:scoped_refptr", |
| "../:fec_controller_api", |
| "../:rtp_parameters", |
| "../adaptation:resource_adaptation_api", |
| "../units:data_rate", |
| "../video_codecs:video_codecs_api", |
| ] |
| absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ] |
| } |
| |
| rtc_source_set("video_frame_metadata") { |
| visibility = [ "*" ] |
| sources = [ |
| "video_frame_metadata.cc", |
| "video_frame_metadata.h", |
| ] |
| deps = [ |
| "..:array_view", |
| "../../modules/rtp_rtcp:rtp_video_header", |
| "../transport/rtp:dependency_descriptor", |
| ] |
| absl_deps = [ |
| "//third_party/abseil-cpp/absl/container:inlined_vector", |
| "//third_party/abseil-cpp/absl/types:optional", |
| ] |
| } |
| |
| rtc_library("video_stream_encoder_create") { |
| visibility = [ "*" ] |
| sources = [ |
| "video_stream_encoder_create.cc", |
| "video_stream_encoder_create.h", |
| ] |
| |
| deps = [ |
| ":video_frame", |
| ":video_stream_encoder", |
| "../../api:scoped_refptr", |
| "../../video:video_stream_encoder_impl", |
| "../../video/adaptation:video_adaptation", |
| "../task_queue", |
| "../video_codecs:video_codecs_api", |
| ] |
| } |
| |
| rtc_library("builtin_video_bitrate_allocator_factory") { |
| visibility = [ "*" ] |
| sources = [ |
| "builtin_video_bitrate_allocator_factory.cc", |
| "builtin_video_bitrate_allocator_factory.h", |
| ] |
| |
| deps = [ |
| ":video_bitrate_allocation", |
| ":video_bitrate_allocator", |
| ":video_bitrate_allocator_factory", |
| "../../api:scoped_refptr", |
| "../../media:rtc_media_base", |
| "../../modules/video_coding:video_coding_utility", |
| "../../modules/video_coding/svc:svc_rate_allocator", |
| "../video_codecs:video_codecs_api", |
| ] |
| absl_deps = [ "//third_party/abseil-cpp/absl/base:core_headers" ] |
| } |
| |
| if (rtc_include_tests) { |
| rtc_library("video_unittests") { |
| testonly = true |
| sources = [ |
| "video_frame_metadata_unittest.cc", |
| "video_stream_decoder_create_unittest.cc", |
| ] |
| deps = [ |
| ":video_frame_metadata", |
| ":video_stream_decoder_create", |
| "../../modules/rtp_rtcp:rtp_video_header", |
| "../../test:test_support", |
| "../task_queue:default_task_queue_factory", |
| "../video_codecs:builtin_video_decoder_factory", |
| ] |
| } |
| } |