1# Copyright (c) 2017 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 9import("../../webrtc.gni") 10if (is_android) { 11 import("//build/config/android/config.gni") 12 import("//build/config/android/rules.gni") 13} 14 15rtc_library("video_codecs_api") { 16 visibility = [ "*" ] 17 sources = [ 18 "sdp_video_format.cc", 19 "sdp_video_format.h", 20 "spatial_layer.cc", 21 "spatial_layer.h", 22 "video_codec.cc", 23 "video_codec.h", 24 "video_decoder.cc", 25 "video_decoder.h", 26 "video_decoder_factory.cc", 27 "video_decoder_factory.h", 28 "video_encoder.cc", 29 "video_encoder.h", 30 "video_encoder_config.cc", 31 "video_encoder_config.h", 32 "video_encoder_factory.h", 33 "vp8_frame_buffer_controller.h", 34 "vp8_frame_config.cc", 35 "vp8_frame_config.h", 36 "vp8_temporal_layers.cc", 37 "vp8_temporal_layers.h", 38 ] 39 40 deps = [ 41 "..:fec_controller_api", 42 "..:scoped_refptr", 43 "../../modules/video_coding:codec_globals_headers", 44 "../../rtc_base:checks", 45 "../../rtc_base:rtc_base_approved", 46 "../../rtc_base/system:rtc_export", 47 "../units:data_rate", 48 "../video:encoded_image", 49 "../video:video_bitrate_allocation", 50 "../video:video_codec_constants", 51 "../video:video_frame", 52 "../video:video_rtp_headers", 53 ] 54 absl_deps = [ 55 "//third_party/abseil-cpp/absl/algorithm:container", 56 "//third_party/abseil-cpp/absl/container:inlined_vector", 57 "//third_party/abseil-cpp/absl/strings", 58 "//third_party/abseil-cpp/absl/types:optional", 59 ] 60} 61 62rtc_source_set("bitstream_parser_api") { 63 visibility = [ "*" ] 64 sources = [ "bitstream_parser.h" ] 65 deps = [ "..:array_view" ] 66} 67 68rtc_library("builtin_video_decoder_factory") { 69 visibility = [ "*" ] 70 allow_poison = [ 71 "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove. 72 "software_video_codecs", 73 ] 74 sources = [ 75 "builtin_video_decoder_factory.cc", 76 "builtin_video_decoder_factory.h", 77 ] 78 79 deps = [ 80 ":video_codecs_api", 81 "../../api:scoped_refptr", 82 "../../media:rtc_internal_video_codecs", 83 "../../rtc_base/system:rtc_export", 84 ] 85} 86 87rtc_library("builtin_video_encoder_factory") { 88 visibility = [ "*" ] 89 allow_poison = [ 90 "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove. 91 "software_video_codecs", 92 ] 93 sources = [ 94 "builtin_video_encoder_factory.cc", 95 "builtin_video_encoder_factory.h", 96 ] 97 98 deps = [ 99 ":video_codecs_api", 100 "../../api:scoped_refptr", 101 "../../media:rtc_encoder_simulcast_proxy", 102 "../../media:rtc_internal_video_codecs", 103 "../../media:rtc_media_base", 104 "../../rtc_base:checks", 105 "../../rtc_base/system:rtc_export", 106 ] 107 absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] 108} 109 110rtc_library("vp8_temporal_layers_factory") { 111 visibility = [ "*" ] 112 allow_poison = [ "software_video_codecs" ] 113 sources = [ 114 "vp8_temporal_layers_factory.cc", 115 "vp8_temporal_layers_factory.h", 116 ] 117 118 deps = [ 119 ":video_codecs_api", 120 "../:fec_controller_api", 121 "../../modules/video_coding:video_coding_utility", 122 "../../modules/video_coding:webrtc_vp8_temporal_layers", 123 "../../rtc_base:checks", 124 ] 125} 126 127rtc_library("rtc_software_fallback_wrappers") { 128 visibility = [ "*" ] 129 130 sources = [ 131 "video_decoder_software_fallback_wrapper.cc", 132 "video_decoder_software_fallback_wrapper.h", 133 "video_encoder_software_fallback_wrapper.cc", 134 "video_encoder_software_fallback_wrapper.h", 135 ] 136 137 deps = [ 138 ":video_codecs_api", 139 "..:fec_controller_api", 140 "../../api/video:video_frame", 141 "../../media:rtc_h264_profile_id", 142 "../../media:rtc_media_base", 143 "../../modules/video_coding:video_codec_interface", 144 "../../modules/video_coding:video_coding_utility", 145 "../../rtc_base:checks", 146 "../../rtc_base:rtc_base_approved", 147 "../../rtc_base/system:rtc_export", 148 "../../system_wrappers:field_trial", 149 "../../system_wrappers:metrics", 150 "../video:encoded_image", 151 "../video:video_bitrate_allocation", 152 "../video:video_frame", 153 "../video:video_rtp_headers", 154 ] 155 absl_deps = [ 156 "//third_party/abseil-cpp/absl/base:core_headers", 157 "//third_party/abseil-cpp/absl/strings", 158 "//third_party/abseil-cpp/absl/types:optional", 159 ] 160} 161