blob: dfc4f27540601eb3b4f79b532511894d78058a27 [file] [log] [blame]
Niels Möllerc6ce9c52018-05-11 11:15:30 +02001# Copyright (c) 2018 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")
10
11rtc_source_set("video_frame") {
12 visibility = [ "*" ]
13 sources = [
Emircan Uysaler800787f2018-07-16 10:01:49 -070014 "color_space.cc",
15 "color_space.h",
Niels Möllerc6ce9c52018-05-11 11:15:30 +020016 "video_content_type.cc",
17 "video_content_type.h",
18 "video_frame.cc",
19 "video_frame.h",
20 "video_frame_buffer.cc",
21 "video_frame_buffer.h",
22 "video_rotation.h",
23 "video_sink_interface.h",
Niels Möller0327c2d2018-05-21 14:09:31 +020024 "video_source_interface.cc",
25 "video_source_interface.h",
Niels Möllerc6ce9c52018-05-11 11:15:30 +020026 "video_timing.cc",
27 "video_timing.h",
28 ]
29
30 deps = [
31 "../../rtc_base:checks",
32 "../../rtc_base:rtc_base_approved",
Danil Chapovalov0bc58cf2018-06-21 13:32:56 +020033 "//third_party/abseil-cpp/absl/types:optional",
Niels Möllerc6ce9c52018-05-11 11:15:30 +020034 ]
35}
36
37rtc_source_set("video_frame_i420") {
38 visibility = [ "*" ]
39 sources = [
40 "i420_buffer.cc",
41 "i420_buffer.h",
42 ]
43 deps = [
44 ":video_frame",
45 "../../rtc_base:checks",
46 "../../rtc_base:rtc_base",
47 "../../rtc_base/memory:aligned_malloc",
48 "//third_party/libyuv",
49 ]
50}
51
Emircan Uysaler901e0ff2018-06-26 12:22:38 -070052rtc_source_set("video_frame_i010") {
53 visibility = [ "*" ]
54 sources = [
55 "i010_buffer.cc",
56 "i010_buffer.h",
57 ]
58 deps = [
59 ":video_frame",
60 ":video_frame_i420",
61 "../../rtc_base:checks",
62 "../../rtc_base:rtc_base",
63 "../../rtc_base/memory:aligned_malloc",
64 "//third_party/libyuv",
65 ]
66}
67
Niels Möllerc6ce9c52018-05-11 11:15:30 +020068rtc_source_set("encoded_frame") {
69 visibility = [ "*" ]
70 sources = [
71 "encoded_frame.cc",
72 "encoded_frame.h",
73 ]
74
75 deps = [
76 "../../modules/video_coding:encoded_frame",
77 ]
78}
79
80rtc_source_set("video_bitrate_allocation") {
81 visibility = [ "*" ]
82 sources = [
83 "video_bitrate_allocation.cc",
84 "video_bitrate_allocation.h",
85 ]
86 deps = [
Niels Möllerc6ce9c52018-05-11 11:15:30 +020087 "../../rtc_base:checks",
88 "../../rtc_base:safe_conversions",
89 "../../rtc_base:stringutils",
Danil Chapovalov0bc58cf2018-06-21 13:32:56 +020090 "//third_party/abseil-cpp/absl/types:optional",
Niels Möllerc6ce9c52018-05-11 11:15:30 +020091 ]
92}
93
Jiawei Ou4206a0a2018-07-20 15:49:43 -070094rtc_source_set("video_bitrate_allocator") {
95 visibility = [ "*" ]
96 sources = [
97 "video_bitrate_allocator.h",
98 ]
99 deps = [
100 ":video_bitrate_allocation",
101 ]
102}
103
Jiawei Ou51ef0082018-08-13 10:21:21 -0700104rtc_source_set("video_bitrate_allocator_factory") {
105 visibility = [ "*" ]
106 sources = [
107 "video_bitrate_allocator_factory.h",
108 ]
109 deps = [
110 ":video_bitrate_allocator",
Jiawei Oue4749c22018-08-21 16:29:36 -0700111 "../video_codecs:video_codecs_api",
Jiawei Ou51ef0082018-08-13 10:21:21 -0700112 ]
113}
114
Niels Möllerc6ce9c52018-05-11 11:15:30 +0200115rtc_source_set("video_stream_decoder") {
116 visibility = [ "*" ]
117 sources = [
118 "video_stream_decoder.h",
119 ]
120
121 deps = [
122 ":encoded_frame",
123 ":video_frame",
Niels Möllerc6ce9c52018-05-11 11:15:30 +0200124 "../video_codecs:video_codecs_api",
Danil Chapovalov0bc58cf2018-06-21 13:32:56 +0200125 "//third_party/abseil-cpp/absl/types:optional",
Niels Möllerc6ce9c52018-05-11 11:15:30 +0200126 ]
127}
128
129rtc_source_set("video_stream_decoder_create") {
130 visibility = [ "*" ]
Niels Möllerc6ce9c52018-05-11 11:15:30 +0200131 sources = [
132 "video_stream_decoder_create.cc",
133 "video_stream_decoder_create.h",
134 ]
135
136 deps = [
137 ":video_stream_decoder",
138 "../../rtc_base:rtc_base_approved",
139 "../../video:video_stream_decoder_impl",
Karl Wiberg918f50c2018-07-05 11:40:33 +0200140 "//third_party/abseil-cpp/absl/memory",
Niels Möllerc6ce9c52018-05-11 11:15:30 +0200141 ]
142}
Niels Möller0327c2d2018-05-21 14:09:31 +0200143
144rtc_source_set("video_stream_encoder") {
145 visibility = [ "*" ]
146 sources = [
147 "video_stream_encoder_interface.h",
Mirko Bonadei8fdcac32018-08-28 16:30:18 +0200148 "video_stream_encoder_observer.cc",
Niels Möller213618e2018-07-24 09:29:58 +0200149 "video_stream_encoder_observer.h",
150 "video_stream_encoder_settings.h",
Niels Möller0327c2d2018-05-21 14:09:31 +0200151 ]
152
153 deps = [
154 ":video_frame",
155
156 # For rtpparameters.h
157 "..:libjingle_peerconnection_api",
158 "../video_codecs:video_codecs_api",
Niels Möller213618e2018-07-24 09:29:58 +0200159 "//third_party/abseil-cpp/absl/types:optional",
160 ]
161}
162
163rtc_source_set("video_stream_encoder_create") {
164 visibility = [ "*" ]
165 allow_poison = [ "software_video_codecs" ] # TODO(bugs.webrtc.org/7925): Remove.
166 sources = [
167 "video_stream_encoder_create.cc",
168 "video_stream_encoder_create.h",
169 ]
170
171 if (!build_with_chromium && is_clang) {
172 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
173 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
174 }
175
176 deps = [
177 ":video_stream_encoder",
178 "../../rtc_base:ptr_util",
179 "../../video:video_stream_encoder_impl",
180 "../video_codecs:video_codecs_api",
Karl Wibergc2342032018-08-08 11:39:52 +0200181 "//third_party/abseil-cpp/absl/memory",
Niels Möller0327c2d2018-05-21 14:09:31 +0200182 ]
183}