summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/api/video_codecs/BUILD.gn
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libwebrtc/api/video_codecs/BUILD.gn')
-rw-r--r--third_party/libwebrtc/api/video_codecs/BUILD.gn314
1 files changed, 314 insertions, 0 deletions
diff --git a/third_party/libwebrtc/api/video_codecs/BUILD.gn b/third_party/libwebrtc/api/video_codecs/BUILD.gn
new file mode 100644
index 0000000000..101848a2e4
--- /dev/null
+++ b/third_party/libwebrtc/api/video_codecs/BUILD.gn
@@ -0,0 +1,314 @@
+# Copyright (c) 2017 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_source_set("scalability_mode") {
+ visibility = [ "*" ]
+ sources = [
+ "scalability_mode.cc",
+ "scalability_mode.h",
+ ]
+ deps = [
+ "../../rtc_base:checks",
+ "../../rtc_base/system:rtc_export",
+ ]
+ absl_deps = [ "//third_party/abseil-cpp/absl/strings" ]
+}
+
+rtc_source_set("scalability_mode_helper") {
+ visibility = [ "*" ]
+ sources = [
+ "scalability_mode_helper.cc",
+ "scalability_mode_helper.h",
+ ]
+ deps = [ "../../modules/video_coding/svc:scalability_mode_util" ]
+ absl_deps = [
+ "//third_party/abseil-cpp/absl/strings",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+}
+
+rtc_library("video_codecs_api") {
+ visibility = [ "*" ]
+ sources = [
+ "av1_profile.cc",
+ "av1_profile.h",
+ "h264_profile_level_id.cc",
+ "h264_profile_level_id.h",
+ "sdp_video_format.cc",
+ "sdp_video_format.h",
+ "simulcast_stream.cc",
+ "simulcast_stream.h",
+ "spatial_layer.cc",
+ "spatial_layer.h",
+ "video_codec.cc",
+ "video_codec.h",
+ "video_decoder.cc",
+ "video_decoder.h",
+ "video_decoder_factory.h",
+ "video_encoder.cc",
+ "video_encoder.h",
+ "video_encoder_factory.h",
+ "vp8_frame_buffer_controller.h",
+ "vp8_frame_config.cc",
+ "vp8_frame_config.h",
+ "vp8_temporal_layers.cc",
+ "vp8_temporal_layers.h",
+ "vp9_profile.cc",
+ "vp9_profile.h",
+ ]
+
+ deps = [
+ ":scalability_mode",
+ "..:fec_controller_api",
+ "..:scoped_refptr",
+ "../../api:array_view",
+ "../../modules/video_coding:codec_globals_headers",
+ "../../rtc_base:checks",
+ "../../rtc_base:logging",
+ "../../rtc_base:macromagic",
+ "../../rtc_base:refcount",
+ "../../rtc_base:stringutils",
+ "../../rtc_base/system:rtc_export",
+ "../units:data_rate",
+ "../video:encoded_image",
+ "../video:render_resolution",
+ "../video:resolution",
+ "../video:video_bitrate_allocation",
+ "../video:video_codec_constants",
+ "../video:video_frame",
+ "../video:video_rtp_headers",
+ ]
+ absl_deps = [
+ "//third_party/abseil-cpp/absl/algorithm:container",
+ "//third_party/abseil-cpp/absl/container:inlined_vector",
+ "//third_party/abseil-cpp/absl/strings",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+}
+
+rtc_source_set("bitstream_parser_api") {
+ visibility = [ "*" ]
+ sources = [ "bitstream_parser.h" ]
+ deps = [ "..:array_view" ]
+ absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
+}
+
+rtc_library("builtin_video_decoder_factory") {
+ visibility = [ "*" ]
+ allow_poison = [
+ "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
+ "software_video_codecs",
+ ]
+ sources = [
+ "builtin_video_decoder_factory.cc",
+ "builtin_video_decoder_factory.h",
+ ]
+
+ deps = [
+ ":video_codecs_api",
+ "../../api:scoped_refptr",
+ "../../media:rtc_internal_video_codecs",
+ "../../rtc_base/system:rtc_export",
+ ]
+}
+
+rtc_library("builtin_video_encoder_factory") {
+ visibility = [ "*" ]
+ allow_poison = [
+ "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
+ "software_video_codecs",
+ ]
+ sources = [
+ "builtin_video_encoder_factory.cc",
+ "builtin_video_encoder_factory.h",
+ ]
+
+ deps = [
+ ":video_codecs_api",
+ "../../api:scoped_refptr",
+ "../../media:codec",
+ "../../media:media_constants",
+ "../../media:rtc_encoder_simulcast_proxy",
+ "../../media:rtc_internal_video_codecs",
+ "../../media:rtc_media_base",
+ "../../rtc_base:checks",
+ "../../rtc_base/system:rtc_export",
+ ]
+ absl_deps = [
+ "//third_party/abseil-cpp/absl/strings",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+}
+
+rtc_source_set("video_encoder_factory_template") {
+ visibility = [ "*" ]
+ allow_poison = [ "software_video_codecs" ]
+ public = [ "video_encoder_factory_template.h" ]
+
+ deps = [
+ ":video_codecs_api",
+ "../../api:array_view",
+ "../../modules/video_coding/svc:scalability_mode_util",
+ ]
+
+ absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container" ]
+}
+
+rtc_source_set("video_encoder_factory_template_libvpx_vp8_adapter") {
+ visibility = [ "*" ]
+ allow_poison = [ "software_video_codecs" ]
+ public = [ "video_encoder_factory_template_libvpx_vp8_adapter.h" ]
+
+ deps = [
+ ":video_codecs_api",
+ "../../modules/video_coding:webrtc_vp8",
+ "../../modules/video_coding:webrtc_vp8_scalability",
+ ]
+
+ absl_deps = [ "//third_party/abseil-cpp/absl/container:inlined_vector" ]
+}
+
+rtc_source_set("video_encoder_factory_template_libvpx_vp9_adapter") {
+ visibility = [ "*" ]
+ allow_poison = [ "software_video_codecs" ]
+ public = [ "video_encoder_factory_template_libvpx_vp9_adapter.h" ]
+
+ deps = [ "../../modules/video_coding:webrtc_vp9" ]
+}
+
+rtc_source_set("video_encoder_factory_template_open_h264_adapter") {
+ visibility = [ "*" ]
+ allow_poison = [ "software_video_codecs" ]
+ public = [ "video_encoder_factory_template_open_h264_adapter.h" ]
+
+ deps = [ "../../modules/video_coding:webrtc_h264" ]
+}
+
+rtc_source_set("video_encoder_factory_template_libaom_av1_adapter") {
+ visibility = [ "*" ]
+ allow_poison = [ "software_video_codecs" ]
+ public = [ "video_encoder_factory_template_libaom_av1_adapter.h" ]
+
+ deps = [
+ ":scalability_mode",
+ ":video_codecs_api",
+ "../../modules/video_coding/codecs/av1:av1_svc_config",
+ "../../modules/video_coding/codecs/av1:libaom_av1_encoder",
+ "../../modules/video_coding/svc:scalability_mode_util",
+ ]
+ absl_deps = [ "//third_party/abseil-cpp/absl/container:inlined_vector" ]
+}
+
+rtc_source_set("video_decoder_factory_template") {
+ visibility = [ "*" ]
+ allow_poison = [ "software_video_codecs" ]
+ public = [ "video_decoder_factory_template.h" ]
+
+ deps = [
+ ":video_codecs_api",
+ "../../api:array_view",
+ ]
+
+ absl_deps = [ "//third_party/abseil-cpp/absl/algorithm:container" ]
+}
+
+rtc_source_set("video_decoder_factory_template_libvpx_vp8_adapter") {
+ visibility = [ "*" ]
+ allow_poison = [ "software_video_codecs" ]
+ public = [ "video_decoder_factory_template_libvpx_vp8_adapter.h" ]
+
+ deps = [
+ ":video_codecs_api",
+ "../../modules/video_coding:webrtc_vp8",
+ ]
+}
+
+rtc_source_set("video_decoder_factory_template_libvpx_vp9_adapter") {
+ visibility = [ "*" ]
+ allow_poison = [ "software_video_codecs" ]
+ public = [ "video_decoder_factory_template_libvpx_vp9_adapter.h" ]
+
+ deps = [ "../../modules/video_coding:webrtc_vp9" ]
+}
+
+rtc_source_set("video_decoder_factory_template_open_h264_adapter") {
+ visibility = [ "*" ]
+ allow_poison = [ "software_video_codecs" ]
+ public = [ "video_decoder_factory_template_open_h264_adapter.h" ]
+
+ deps = [ "../../modules/video_coding:webrtc_h264" ]
+}
+
+rtc_source_set("video_decoder_factory_template_dav1d_adapter") {
+ visibility = [ "*" ]
+ allow_poison = [ "software_video_codecs" ]
+ public = [ "video_decoder_factory_template_dav1d_adapter.h" ]
+
+ deps = [
+ ":video_codecs_api",
+ "../../modules/video_coding/codecs/av1:dav1d_decoder",
+ ]
+}
+
+rtc_library("vp8_temporal_layers_factory") {
+ visibility = [ "*" ]
+ allow_poison = [ "software_video_codecs" ]
+ sources = [
+ "vp8_temporal_layers_factory.cc",
+ "vp8_temporal_layers_factory.h",
+ ]
+
+ deps = [
+ ":video_codecs_api",
+ "../:fec_controller_api",
+ "../../modules/video_coding:video_coding_utility",
+ "../../modules/video_coding:webrtc_vp8_temporal_layers",
+ "../../rtc_base:checks",
+ ]
+}
+
+rtc_library("rtc_software_fallback_wrappers") {
+ visibility = [ "*" ]
+
+ sources = [
+ "video_decoder_software_fallback_wrapper.cc",
+ "video_decoder_software_fallback_wrapper.h",
+ "video_encoder_software_fallback_wrapper.cc",
+ "video_encoder_software_fallback_wrapper.h",
+ ]
+
+ deps = [
+ ":video_codecs_api",
+ "..:fec_controller_api",
+ "../../api/video:video_frame",
+ "../../media:rtc_media_base",
+ "../../modules/video_coding:video_codec_interface",
+ "../../modules/video_coding:video_coding_utility",
+ "../../rtc_base:checks",
+ "../../rtc_base:event_tracer",
+ "../../rtc_base:logging",
+ "../../rtc_base/system:rtc_export",
+ "../../system_wrappers:field_trial",
+ "../../system_wrappers:metrics",
+ "../video:encoded_image",
+ "../video:video_bitrate_allocation",
+ "../video:video_frame",
+ "../video:video_rtp_headers",
+ ]
+ absl_deps = [
+ "//third_party/abseil-cpp/absl/base:core_headers",
+ "//third_party/abseil-cpp/absl/strings",
+ "//third_party/abseil-cpp/absl/types:optional",
+ ]
+}