summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/api/video/BUILD.gn
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libwebrtc/api/video/BUILD.gn')
-rw-r--r--third_party/libwebrtc/api/video/BUILD.gn421
1 files changed, 421 insertions, 0 deletions
diff --git a/third_party/libwebrtc/api/video/BUILD.gn b/third_party/libwebrtc/api/video/BUILD.gn
new file mode 100644
index 0000000000..5d1aa2a1a3
--- /dev/null
+++ b/third_party/libwebrtc/api/video/BUILD.gn
@@ -0,0 +1,421 @@
+# 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:logging",
+ "../../rtc_base:safe_conversions",
+ "../../rtc_base:stringutils",
+ "../../rtc_base/system:rtc_export",
+ "../units:data_rate",
+ "../units:time_delta",
+ ]
+ 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",
+ "i422_buffer.cc",
+ "i422_buffer.h",
+ "i444_buffer.cc",
+ "i444_buffer.h",
+ "nv12_buffer.cc",
+ "nv12_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",
+ "..:make_ref_counted",
+ "..:rtp_packet_info",
+ "..:scoped_refptr",
+ "..:video_track_source_constraints",
+ "../../rtc_base:checks",
+ "../../rtc_base:refcount",
+ "../../rtc_base:timeutils",
+ "../../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_frame_buffer.h" ]
+ }
+}
+
+rtc_library("video_frame_i010") {
+ visibility = [ "*" ]
+ sources = [
+ "i010_buffer.cc",
+ "i010_buffer.h",
+ "i210_buffer.cc",
+ "i210_buffer.h",
+ "i410_buffer.cc",
+ "i410_buffer.h",
+ ]
+ deps = [
+ ":video_frame",
+ ":video_rtp_headers",
+ "..:make_ref_counted",
+ "..:scoped_refptr",
+ "../../rtc_base:checks",
+ "../../rtc_base:refcount",
+ "../../rtc_base/memory:aligned_malloc",
+ "//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",
+ "..:make_ref_counted",
+ "..:scoped_refptr",
+ "../units:timestamp",
+ ]
+}
+
+rtc_source_set("video_frame_type") {
+ visibility = [ "*" ]
+ sources = [ "video_frame_type.h" ]
+}
+
+rtc_source_set("render_resolution") {
+ visibility = [ "*" ]
+ public = [ "render_resolution.h" ]
+}
+
+rtc_source_set("resolution") {
+ visibility = [ "*" ]
+ public = [ "resolution.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:refcount",
+ "../../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",
+ "../units:timestamp",
+ ]
+ absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
+}
+
+rtc_library("rtp_video_frame_assembler") {
+ visibility = [ "*" ]
+ sources = [
+ "rtp_video_frame_assembler.cc",
+ "rtp_video_frame_assembler.h",
+ ]
+
+ deps = [
+ ":encoded_frame",
+ "../../modules/rtp_rtcp:rtp_rtcp",
+ "../../modules/rtp_rtcp:rtp_rtcp_format",
+ "../../modules/video_coding:packet_buffer",
+ "../../modules/video_coding:video_coding",
+ "../../rtc_base:logging",
+ "../../rtc_base:rtc_numerics",
+ ]
+
+ absl_deps = [
+ "//third_party/abseil-cpp/absl/container:inlined_vector",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+}
+
+rtc_library("rtp_video_frame_assembler_unittests") {
+ testonly = true
+ sources = [ "rtp_video_frame_assembler_unittests.cc" ]
+
+ deps = [
+ ":rtp_video_frame_assembler",
+ "..:array_view",
+ "../../modules/rtp_rtcp:rtp_packetizer_av1_test_helper",
+ "../../modules/rtp_rtcp:rtp_rtcp",
+ "../../modules/rtp_rtcp:rtp_rtcp_format",
+ "../../test:test_support",
+ ]
+}
+
+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",
+ "../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",
+ "../../api:field_trials_view",
+ "../../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_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 = [
+ ":video_frame",
+ ":video_frame_type",
+ ":video_rtp_headers",
+ "..:array_view",
+ "../../modules/video_coding:codec_globals_headers",
+ "../../rtc_base/system:rtc_export",
+ "../transport/rtp:dependency_descriptor",
+ ]
+ absl_deps = [
+ "//third_party/abseil-cpp/absl/container:inlined_vector",
+ "//third_party/abseil-cpp/absl/types:optional",
+ "//third_party/abseil-cpp/absl/types:variant",
+ ]
+}
+
+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" ]
+}
+
+rtc_library("frame_buffer") {
+ visibility = [ "*" ]
+ sources = [
+ "frame_buffer.cc",
+ "frame_buffer.h",
+ ]
+ deps = [
+ "../../api:field_trials_view",
+ "../../api/units:timestamp",
+ "../../api/video:encoded_frame",
+ "../../modules/video_coding:video_coding_utility",
+ "../../rtc_base:logging",
+ "../../rtc_base:rtc_numerics",
+ ]
+ absl_deps = [
+ "//third_party/abseil-cpp/absl/algorithm:container",
+ "//third_party/abseil-cpp/absl/container:inlined_vector",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+}
+
+rtc_library("frame_buffer_unittest") {
+ testonly = true
+ sources = [ "frame_buffer_unittest.cc" ]
+
+ deps = [
+ ":frame_buffer",
+ "../../api/video:encoded_frame",
+ "../../test:fake_encoded_frame",
+ "../../test:field_trial",
+ "../../test:scoped_key_value_config",
+ "../../test:test_support",
+ ]
+}
+
+if (rtc_include_tests) {
+ rtc_library("video_unittests") {
+ testonly = true
+ sources = [ "video_stream_decoder_create_unittest.cc" ]
+ deps = [
+ ":video_frame_metadata",
+ ":video_frame_type",
+ ":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",
+ ]
+ }
+}