xref: /aosp_15_r20/external/webrtc/modules/video_coding/BUILD.gn (revision d9f758449e529ab9291ac668be2861e7a55c2422)
1*d9f75844SAndroid Build Coastguard Worker# Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
2*d9f75844SAndroid Build Coastguard Worker#
3*d9f75844SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license
4*d9f75844SAndroid Build Coastguard Worker# that can be found in the LICENSE file in the root of the source
5*d9f75844SAndroid Build Coastguard Worker# tree. An additional intellectual property rights grant can be found
6*d9f75844SAndroid Build Coastguard Worker# in the file PATENTS.  All contributing project authors may
7*d9f75844SAndroid Build Coastguard Worker# be found in the AUTHORS file in the root of the source tree.
8*d9f75844SAndroid Build Coastguard Worker
9*d9f75844SAndroid Build Coastguard Workerimport("//third_party/libaom/options.gni")
10*d9f75844SAndroid Build Coastguard Workerimport("../../webrtc.gni")
11*d9f75844SAndroid Build Coastguard Worker
12*d9f75844SAndroid Build Coastguard Workerrtc_library("encoded_frame") {
13*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
14*d9f75844SAndroid Build Coastguard Worker  sources = [
15*d9f75844SAndroid Build Coastguard Worker    "encoded_frame.cc",
16*d9f75844SAndroid Build Coastguard Worker    "encoded_frame.h",
17*d9f75844SAndroid Build Coastguard Worker  ]
18*d9f75844SAndroid Build Coastguard Worker  deps = [
19*d9f75844SAndroid Build Coastguard Worker    ":codec_globals_headers",
20*d9f75844SAndroid Build Coastguard Worker    ":video_codec_interface",
21*d9f75844SAndroid Build Coastguard Worker    "../../api/video:encoded_image",
22*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_frame",
23*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_rtp_headers",
24*d9f75844SAndroid Build Coastguard Worker    "../../modules:module_api_public",
25*d9f75844SAndroid Build Coastguard Worker    "../../modules/rtp_rtcp:rtp_video_header",
26*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
27*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:alr_experiment",
28*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:rtt_mult_experiment",
29*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/system:rtc_export",
30*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers",
31*d9f75844SAndroid Build Coastguard Worker  ]
32*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
33*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
34*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:variant",
35*d9f75844SAndroid Build Coastguard Worker  ]
36*d9f75844SAndroid Build Coastguard Worker}
37*d9f75844SAndroid Build Coastguard Worker
38*d9f75844SAndroid Build Coastguard Workerrtc_library("chain_diff_calculator") {
39*d9f75844SAndroid Build Coastguard Worker  sources = [
40*d9f75844SAndroid Build Coastguard Worker    "chain_diff_calculator.cc",
41*d9f75844SAndroid Build Coastguard Worker    "chain_diff_calculator.h",
42*d9f75844SAndroid Build Coastguard Worker  ]
43*d9f75844SAndroid Build Coastguard Worker
44*d9f75844SAndroid Build Coastguard Worker  deps = [
45*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
46*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:logging",
47*d9f75844SAndroid Build Coastguard Worker  ]
48*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
49*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/container:inlined_vector",
50*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
51*d9f75844SAndroid Build Coastguard Worker  ]
52*d9f75844SAndroid Build Coastguard Worker}
53*d9f75844SAndroid Build Coastguard Worker
54*d9f75844SAndroid Build Coastguard Workerrtc_library("frame_dependencies_calculator") {
55*d9f75844SAndroid Build Coastguard Worker  sources = [
56*d9f75844SAndroid Build Coastguard Worker    "frame_dependencies_calculator.cc",
57*d9f75844SAndroid Build Coastguard Worker    "frame_dependencies_calculator.h",
58*d9f75844SAndroid Build Coastguard Worker  ]
59*d9f75844SAndroid Build Coastguard Worker
60*d9f75844SAndroid Build Coastguard Worker  deps = [
61*d9f75844SAndroid Build Coastguard Worker    "../../api:array_view",
62*d9f75844SAndroid Build Coastguard Worker    "../../common_video/generic_frame_descriptor",
63*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
64*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:logging",
65*d9f75844SAndroid Build Coastguard Worker  ]
66*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
67*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/algorithm:container",
68*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/container:inlined_vector",
69*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
70*d9f75844SAndroid Build Coastguard Worker  ]
71*d9f75844SAndroid Build Coastguard Worker}
72*d9f75844SAndroid Build Coastguard Worker
73*d9f75844SAndroid Build Coastguard Workerrtc_library("nack_requester") {
74*d9f75844SAndroid Build Coastguard Worker  sources = [
75*d9f75844SAndroid Build Coastguard Worker    "histogram.cc",
76*d9f75844SAndroid Build Coastguard Worker    "histogram.h",
77*d9f75844SAndroid Build Coastguard Worker    "nack_requester.cc",
78*d9f75844SAndroid Build Coastguard Worker    "nack_requester.h",
79*d9f75844SAndroid Build Coastguard Worker  ]
80*d9f75844SAndroid Build Coastguard Worker
81*d9f75844SAndroid Build Coastguard Worker  deps = [
82*d9f75844SAndroid Build Coastguard Worker    "..:module_api",
83*d9f75844SAndroid Build Coastguard Worker    "../../api:field_trials_view",
84*d9f75844SAndroid Build Coastguard Worker    "../../api:sequence_checker",
85*d9f75844SAndroid Build Coastguard Worker    "../../api/task_queue",
86*d9f75844SAndroid Build Coastguard Worker    "../../api/task_queue:pending_task_safety_flag",
87*d9f75844SAndroid Build Coastguard Worker    "../../api/units:time_delta",
88*d9f75844SAndroid Build Coastguard Worker    "../../api/units:timestamp",
89*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
90*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:logging",
91*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:macromagic",
92*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:rtc_numerics",
93*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:field_trial_parser",
94*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/task_utils:repeating_task",
95*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers",
96*d9f75844SAndroid Build Coastguard Worker  ]
97*d9f75844SAndroid Build Coastguard Worker}
98*d9f75844SAndroid Build Coastguard Worker
99*d9f75844SAndroid Build Coastguard Workerrtc_library("packet_buffer") {
100*d9f75844SAndroid Build Coastguard Worker  sources = [
101*d9f75844SAndroid Build Coastguard Worker    "packet_buffer.cc",
102*d9f75844SAndroid Build Coastguard Worker    "packet_buffer.h",
103*d9f75844SAndroid Build Coastguard Worker  ]
104*d9f75844SAndroid Build Coastguard Worker  deps = [
105*d9f75844SAndroid Build Coastguard Worker    ":codec_globals_headers",
106*d9f75844SAndroid Build Coastguard Worker    "../../api:array_view",
107*d9f75844SAndroid Build Coastguard Worker    "../../api:rtp_packet_info",
108*d9f75844SAndroid Build Coastguard Worker    "../../api/units:timestamp",
109*d9f75844SAndroid Build Coastguard Worker    "../../api/video:encoded_image",
110*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_frame_type",
111*d9f75844SAndroid Build Coastguard Worker    "../../common_video",
112*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
113*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:copy_on_write_buffer",
114*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:logging",
115*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:macromagic",
116*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:mod_ops",
117*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:rtc_numerics",
118*d9f75844SAndroid Build Coastguard Worker    "../rtp_rtcp:rtp_rtcp_format",
119*d9f75844SAndroid Build Coastguard Worker    "../rtp_rtcp:rtp_video_header",
120*d9f75844SAndroid Build Coastguard Worker  ]
121*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
122*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/base:core_headers",
123*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:variant",
124*d9f75844SAndroid Build Coastguard Worker  ]
125*d9f75844SAndroid Build Coastguard Worker}
126*d9f75844SAndroid Build Coastguard Worker
127*d9f75844SAndroid Build Coastguard Workerrtc_library("h264_packet_buffer") {
128*d9f75844SAndroid Build Coastguard Worker  sources = [
129*d9f75844SAndroid Build Coastguard Worker    "h264_packet_buffer.cc",
130*d9f75844SAndroid Build Coastguard Worker    "h264_packet_buffer.h",
131*d9f75844SAndroid Build Coastguard Worker  ]
132*d9f75844SAndroid Build Coastguard Worker  deps = [
133*d9f75844SAndroid Build Coastguard Worker    ":codec_globals_headers",
134*d9f75844SAndroid Build Coastguard Worker    ":packet_buffer",
135*d9f75844SAndroid Build Coastguard Worker    "../../api:array_view",
136*d9f75844SAndroid Build Coastguard Worker    "../../api:rtp_packet_info",
137*d9f75844SAndroid Build Coastguard Worker    "../../api/units:timestamp",
138*d9f75844SAndroid Build Coastguard Worker    "../../api/video:encoded_image",
139*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_frame_type",
140*d9f75844SAndroid Build Coastguard Worker    "../../common_video",
141*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
142*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:copy_on_write_buffer",
143*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:logging",
144*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:rtc_numerics",
145*d9f75844SAndroid Build Coastguard Worker    "../rtp_rtcp:rtp_rtcp_format",
146*d9f75844SAndroid Build Coastguard Worker    "../rtp_rtcp:rtp_video_header",
147*d9f75844SAndroid Build Coastguard Worker  ]
148*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
149*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/base:core_headers",
150*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
151*d9f75844SAndroid Build Coastguard Worker  ]
152*d9f75844SAndroid Build Coastguard Worker}
153*d9f75844SAndroid Build Coastguard Worker
154*d9f75844SAndroid Build Coastguard Workerrtc_library("frame_helpers") {
155*d9f75844SAndroid Build Coastguard Worker  sources = [
156*d9f75844SAndroid Build Coastguard Worker    "frame_helpers.cc",
157*d9f75844SAndroid Build Coastguard Worker    "frame_helpers.h",
158*d9f75844SAndroid Build Coastguard Worker  ]
159*d9f75844SAndroid Build Coastguard Worker  deps = [
160*d9f75844SAndroid Build Coastguard Worker    "../../api/video:encoded_frame",
161*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:logging",
162*d9f75844SAndroid Build Coastguard Worker  ]
163*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/container:inlined_vector" ]
164*d9f75844SAndroid Build Coastguard Worker}
165*d9f75844SAndroid Build Coastguard Worker
166*d9f75844SAndroid Build Coastguard Workerrtc_library("frame_buffer2") {
167*d9f75844SAndroid Build Coastguard Worker  sources = [
168*d9f75844SAndroid Build Coastguard Worker    "frame_buffer2.cc",
169*d9f75844SAndroid Build Coastguard Worker    "frame_buffer2.h",
170*d9f75844SAndroid Build Coastguard Worker  ]
171*d9f75844SAndroid Build Coastguard Worker  deps = [
172*d9f75844SAndroid Build Coastguard Worker    ":frame_helpers",
173*d9f75844SAndroid Build Coastguard Worker    ":video_codec_interface",
174*d9f75844SAndroid Build Coastguard Worker    ":video_coding_utility",
175*d9f75844SAndroid Build Coastguard Worker    "../../api:field_trials_view",
176*d9f75844SAndroid Build Coastguard Worker    "../../api:sequence_checker",
177*d9f75844SAndroid Build Coastguard Worker    "../../api/task_queue",
178*d9f75844SAndroid Build Coastguard Worker    "../../api/units:data_size",
179*d9f75844SAndroid Build Coastguard Worker    "../../api/units:time_delta",
180*d9f75844SAndroid Build Coastguard Worker    "../../api/video:encoded_frame",
181*d9f75844SAndroid Build Coastguard Worker    "../../api/video:encoded_image",
182*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_rtp_headers",
183*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
184*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:event_tracer",
185*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:logging",
186*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:macromagic",
187*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:rtc_event",
188*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:rtc_numerics",
189*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:field_trial_parser",
190*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:rtt_mult_experiment",
191*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/synchronization:mutex",
192*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/system:no_unique_address",
193*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/task_utils:repeating_task",
194*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers",
195*d9f75844SAndroid Build Coastguard Worker    "timing:inter_frame_delay",
196*d9f75844SAndroid Build Coastguard Worker    "timing:jitter_estimator",
197*d9f75844SAndroid Build Coastguard Worker    "timing:timing_module",
198*d9f75844SAndroid Build Coastguard Worker  ]
199*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/container:inlined_vector" ]
200*d9f75844SAndroid Build Coastguard Worker}
201*d9f75844SAndroid Build Coastguard Worker
202*d9f75844SAndroid Build Coastguard Workerrtc_library("video_coding") {
203*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
204*d9f75844SAndroid Build Coastguard Worker  sources = [
205*d9f75844SAndroid Build Coastguard Worker    "decoder_database.cc",
206*d9f75844SAndroid Build Coastguard Worker    "decoder_database.h",
207*d9f75844SAndroid Build Coastguard Worker    "fec_controller_default.cc",
208*d9f75844SAndroid Build Coastguard Worker    "fec_controller_default.h",
209*d9f75844SAndroid Build Coastguard Worker    "fec_rate_table.h",
210*d9f75844SAndroid Build Coastguard Worker    "frame_object.cc",
211*d9f75844SAndroid Build Coastguard Worker    "frame_object.h",
212*d9f75844SAndroid Build Coastguard Worker    "generic_decoder.cc",
213*d9f75844SAndroid Build Coastguard Worker    "generic_decoder.h",
214*d9f75844SAndroid Build Coastguard Worker    "h264_sprop_parameter_sets.cc",
215*d9f75844SAndroid Build Coastguard Worker    "h264_sprop_parameter_sets.h",
216*d9f75844SAndroid Build Coastguard Worker    "h264_sps_pps_tracker.cc",
217*d9f75844SAndroid Build Coastguard Worker    "h264_sps_pps_tracker.h",
218*d9f75844SAndroid Build Coastguard Worker    "include/video_codec_initializer.h",
219*d9f75844SAndroid Build Coastguard Worker    "internal_defines.h",
220*d9f75844SAndroid Build Coastguard Worker    "loss_notification_controller.cc",
221*d9f75844SAndroid Build Coastguard Worker    "loss_notification_controller.h",
222*d9f75844SAndroid Build Coastguard Worker    "media_opt_util.cc",
223*d9f75844SAndroid Build Coastguard Worker    "media_opt_util.h",
224*d9f75844SAndroid Build Coastguard Worker    "rtp_frame_id_only_ref_finder.cc",
225*d9f75844SAndroid Build Coastguard Worker    "rtp_frame_id_only_ref_finder.h",
226*d9f75844SAndroid Build Coastguard Worker    "rtp_frame_reference_finder.cc",
227*d9f75844SAndroid Build Coastguard Worker    "rtp_frame_reference_finder.h",
228*d9f75844SAndroid Build Coastguard Worker    "rtp_generic_ref_finder.cc",
229*d9f75844SAndroid Build Coastguard Worker    "rtp_generic_ref_finder.h",
230*d9f75844SAndroid Build Coastguard Worker    "rtp_seq_num_only_ref_finder.cc",
231*d9f75844SAndroid Build Coastguard Worker    "rtp_seq_num_only_ref_finder.h",
232*d9f75844SAndroid Build Coastguard Worker    "rtp_vp8_ref_finder.cc",
233*d9f75844SAndroid Build Coastguard Worker    "rtp_vp8_ref_finder.h",
234*d9f75844SAndroid Build Coastguard Worker    "rtp_vp9_ref_finder.cc",
235*d9f75844SAndroid Build Coastguard Worker    "rtp_vp9_ref_finder.h",
236*d9f75844SAndroid Build Coastguard Worker    "video_codec_initializer.cc",
237*d9f75844SAndroid Build Coastguard Worker    "video_receiver2.cc",
238*d9f75844SAndroid Build Coastguard Worker    "video_receiver2.h",
239*d9f75844SAndroid Build Coastguard Worker  ]
240*d9f75844SAndroid Build Coastguard Worker
241*d9f75844SAndroid Build Coastguard Worker  deps = [
242*d9f75844SAndroid Build Coastguard Worker    ":codec_globals_headers",
243*d9f75844SAndroid Build Coastguard Worker    ":encoded_frame",
244*d9f75844SAndroid Build Coastguard Worker    ":frame_helpers",
245*d9f75844SAndroid Build Coastguard Worker    ":video_codec_interface",
246*d9f75844SAndroid Build Coastguard Worker    ":video_coding_utility",
247*d9f75844SAndroid Build Coastguard Worker    ":webrtc_vp8_scalability",
248*d9f75844SAndroid Build Coastguard Worker    ":webrtc_vp9_helpers",
249*d9f75844SAndroid Build Coastguard Worker    "..:module_api",
250*d9f75844SAndroid Build Coastguard Worker    "..:module_api_public",
251*d9f75844SAndroid Build Coastguard Worker    "..:module_fec_api",
252*d9f75844SAndroid Build Coastguard Worker    "../../api:array_view",
253*d9f75844SAndroid Build Coastguard Worker    "../../api:fec_controller_api",
254*d9f75844SAndroid Build Coastguard Worker    "../../api:field_trials_view",
255*d9f75844SAndroid Build Coastguard Worker    "../../api:rtp_headers",
256*d9f75844SAndroid Build Coastguard Worker    "../../api:rtp_packet_info",
257*d9f75844SAndroid Build Coastguard Worker    "../../api:scoped_refptr",
258*d9f75844SAndroid Build Coastguard Worker    "../../api:sequence_checker",
259*d9f75844SAndroid Build Coastguard Worker    "../../api/task_queue",
260*d9f75844SAndroid Build Coastguard Worker    "../../api/units:data_rate",
261*d9f75844SAndroid Build Coastguard Worker    "../../api/units:data_size",
262*d9f75844SAndroid Build Coastguard Worker    "../../api/units:frequency",
263*d9f75844SAndroid Build Coastguard Worker    "../../api/units:time_delta",
264*d9f75844SAndroid Build Coastguard Worker    "../../api/units:timestamp",
265*d9f75844SAndroid Build Coastguard Worker    "../../api/video:builtin_video_bitrate_allocator_factory",
266*d9f75844SAndroid Build Coastguard Worker    "../../api/video:encoded_frame",
267*d9f75844SAndroid Build Coastguard Worker    "../../api/video:encoded_image",
268*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_adaptation",
269*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_adaptation",
270*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_bitrate_allocation",
271*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_bitrate_allocator",
272*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_bitrate_allocator_factory",
273*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_frame",
274*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_frame_type",
275*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_rtp_headers",
276*d9f75844SAndroid Build Coastguard Worker    "../../api/video_codecs:video_codecs_api",
277*d9f75844SAndroid Build Coastguard Worker    "../../common_video",
278*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base",
279*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
280*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:copy_on_write_buffer",
281*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:event_tracer",
282*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:logging",
283*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:macromagic",
284*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:rtc_event",
285*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:rtc_numerics",
286*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:safe_conversions",
287*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:threading",
288*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:timeutils",
289*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:alr_experiment",
290*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:field_trial_parser",
291*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:min_video_bitrate_experiment",
292*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:rate_control_settings",
293*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:rtt_mult_experiment",
294*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/synchronization:mutex",
295*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/system:no_unique_address",
296*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/task_utils:repeating_task",
297*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/third_party/base64",
298*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers",
299*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers:field_trial",
300*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers:metrics",
301*d9f75844SAndroid Build Coastguard Worker    "../../video/config:encoder_config",
302*d9f75844SAndroid Build Coastguard Worker    "../rtp_rtcp",
303*d9f75844SAndroid Build Coastguard Worker    "../rtp_rtcp:rtp_rtcp_format",
304*d9f75844SAndroid Build Coastguard Worker    "../rtp_rtcp:rtp_video_header",
305*d9f75844SAndroid Build Coastguard Worker    "codecs/av1:av1_svc_config",
306*d9f75844SAndroid Build Coastguard Worker    "svc:scalability_mode_util",
307*d9f75844SAndroid Build Coastguard Worker    "timing:inter_frame_delay",
308*d9f75844SAndroid Build Coastguard Worker    "timing:jitter_estimator",
309*d9f75844SAndroid Build Coastguard Worker    "timing:rtt_filter",
310*d9f75844SAndroid Build Coastguard Worker    "timing:timing_module",
311*d9f75844SAndroid Build Coastguard Worker  ]
312*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
313*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/algorithm:container",
314*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/base:core_headers",
315*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/container:inlined_vector",
316*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
317*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:variant",
318*d9f75844SAndroid Build Coastguard Worker  ]
319*d9f75844SAndroid Build Coastguard Worker}
320*d9f75844SAndroid Build Coastguard Worker
321*d9f75844SAndroid Build Coastguard Workerrtc_library("video_codec_interface") {
322*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
323*d9f75844SAndroid Build Coastguard Worker  sources = [
324*d9f75844SAndroid Build Coastguard Worker    "include/video_codec_interface.cc",
325*d9f75844SAndroid Build Coastguard Worker    "include/video_codec_interface.h",
326*d9f75844SAndroid Build Coastguard Worker    "include/video_coding_defines.h",
327*d9f75844SAndroid Build Coastguard Worker    "include/video_error_codes.h",
328*d9f75844SAndroid Build Coastguard Worker    "video_coding_defines.cc",
329*d9f75844SAndroid Build Coastguard Worker  ]
330*d9f75844SAndroid Build Coastguard Worker  deps = [
331*d9f75844SAndroid Build Coastguard Worker    ":codec_globals_headers",
332*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_frame",
333*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_rtp_headers",
334*d9f75844SAndroid Build Coastguard Worker    "../../api/video_codecs:video_codecs_api",
335*d9f75844SAndroid Build Coastguard Worker    "../../common_video",
336*d9f75844SAndroid Build Coastguard Worker    "../../common_video/generic_frame_descriptor",
337*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/system:rtc_export",
338*d9f75844SAndroid Build Coastguard Worker  ]
339*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
340*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/base:core_headers",
341*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
342*d9f75844SAndroid Build Coastguard Worker  ]
343*d9f75844SAndroid Build Coastguard Worker}
344*d9f75844SAndroid Build Coastguard Worker
345*d9f75844SAndroid Build Coastguard Workerrtc_library("video_coding_legacy") {
346*d9f75844SAndroid Build Coastguard Worker  visibility = [ ":video_coding_unittests" ]
347*d9f75844SAndroid Build Coastguard Worker  sources = [
348*d9f75844SAndroid Build Coastguard Worker    "decoding_state.cc",
349*d9f75844SAndroid Build Coastguard Worker    "decoding_state.h",
350*d9f75844SAndroid Build Coastguard Worker    "event_wrapper.cc",
351*d9f75844SAndroid Build Coastguard Worker    "event_wrapper.h",
352*d9f75844SAndroid Build Coastguard Worker    "frame_buffer.cc",
353*d9f75844SAndroid Build Coastguard Worker    "frame_buffer.h",
354*d9f75844SAndroid Build Coastguard Worker    "include/video_coding.h",
355*d9f75844SAndroid Build Coastguard Worker    "jitter_buffer.cc",
356*d9f75844SAndroid Build Coastguard Worker    "jitter_buffer.h",
357*d9f75844SAndroid Build Coastguard Worker    "jitter_buffer_common.h",
358*d9f75844SAndroid Build Coastguard Worker    "packet.cc",
359*d9f75844SAndroid Build Coastguard Worker    "packet.h",
360*d9f75844SAndroid Build Coastguard Worker    "receiver.cc",
361*d9f75844SAndroid Build Coastguard Worker    "receiver.h",
362*d9f75844SAndroid Build Coastguard Worker    "session_info.cc",
363*d9f75844SAndroid Build Coastguard Worker    "session_info.h",
364*d9f75844SAndroid Build Coastguard Worker    "video_coding_impl.cc",
365*d9f75844SAndroid Build Coastguard Worker    "video_coding_impl.h",
366*d9f75844SAndroid Build Coastguard Worker    "video_receiver.cc",
367*d9f75844SAndroid Build Coastguard Worker  ]
368*d9f75844SAndroid Build Coastguard Worker  deps = [
369*d9f75844SAndroid Build Coastguard Worker    ":codec_globals_headers",
370*d9f75844SAndroid Build Coastguard Worker    ":encoded_frame",
371*d9f75844SAndroid Build Coastguard Worker    ":video_codec_interface",
372*d9f75844SAndroid Build Coastguard Worker    ":video_coding",
373*d9f75844SAndroid Build Coastguard Worker    "..:module_api",
374*d9f75844SAndroid Build Coastguard Worker    "..:module_api_public",
375*d9f75844SAndroid Build Coastguard Worker    "../../api:field_trials_view",
376*d9f75844SAndroid Build Coastguard Worker    "../../api:rtp_headers",
377*d9f75844SAndroid Build Coastguard Worker    "../../api:rtp_packet_info",
378*d9f75844SAndroid Build Coastguard Worker    "../../api:sequence_checker",
379*d9f75844SAndroid Build Coastguard Worker    "../../api/transport:field_trial_based_config",
380*d9f75844SAndroid Build Coastguard Worker    "../../api/units:timestamp",
381*d9f75844SAndroid Build Coastguard Worker    "../../api/video:encoded_image",
382*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_frame",
383*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_frame_type",
384*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_rtp_headers",
385*d9f75844SAndroid Build Coastguard Worker    "../../api/video_codecs:video_codecs_api",
386*d9f75844SAndroid Build Coastguard Worker    "../../common_video",
387*d9f75844SAndroid Build Coastguard Worker    "../../modules/rtp_rtcp:rtp_video_header",
388*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
389*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:event_tracer",
390*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:logging",
391*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:macromagic",
392*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:one_time_event",
393*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:rtc_event",
394*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:safe_conversions",
395*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/memory:always_valid_pointer",
396*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/synchronization:mutex",
397*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers",
398*d9f75844SAndroid Build Coastguard Worker    "../rtp_rtcp:rtp_rtcp_format",
399*d9f75844SAndroid Build Coastguard Worker    "../rtp_rtcp:rtp_video_header",
400*d9f75844SAndroid Build Coastguard Worker    "timing:inter_frame_delay",
401*d9f75844SAndroid Build Coastguard Worker    "timing:jitter_estimator",
402*d9f75844SAndroid Build Coastguard Worker    "timing:timing_module",
403*d9f75844SAndroid Build Coastguard Worker  ]
404*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
405*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/memory",
406*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
407*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:variant",
408*d9f75844SAndroid Build Coastguard Worker  ]
409*d9f75844SAndroid Build Coastguard Worker}
410*d9f75844SAndroid Build Coastguard Worker
411*d9f75844SAndroid Build Coastguard Workerrtc_source_set("codec_globals_headers") {
412*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
413*d9f75844SAndroid Build Coastguard Worker  sources = [
414*d9f75844SAndroid Build Coastguard Worker    "codecs/h264/include/h264_globals.h",
415*d9f75844SAndroid Build Coastguard Worker    "codecs/interface/common_constants.h",
416*d9f75844SAndroid Build Coastguard Worker    "codecs/vp8/include/vp8_globals.h",
417*d9f75844SAndroid Build Coastguard Worker    "codecs/vp9/include/vp9_globals.h",
418*d9f75844SAndroid Build Coastguard Worker  ]
419*d9f75844SAndroid Build Coastguard Worker
420*d9f75844SAndroid Build Coastguard Worker  deps = [ "../../rtc_base:checks" ]
421*d9f75844SAndroid Build Coastguard Worker}
422*d9f75844SAndroid Build Coastguard Worker
423*d9f75844SAndroid Build Coastguard Workerrtc_library("video_coding_utility") {
424*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
425*d9f75844SAndroid Build Coastguard Worker  sources = [
426*d9f75844SAndroid Build Coastguard Worker    "utility/bandwidth_quality_scaler.cc",
427*d9f75844SAndroid Build Coastguard Worker    "utility/bandwidth_quality_scaler.h",
428*d9f75844SAndroid Build Coastguard Worker    "utility/decoded_frames_history.cc",
429*d9f75844SAndroid Build Coastguard Worker    "utility/decoded_frames_history.h",
430*d9f75844SAndroid Build Coastguard Worker    "utility/frame_dropper.cc",
431*d9f75844SAndroid Build Coastguard Worker    "utility/frame_dropper.h",
432*d9f75844SAndroid Build Coastguard Worker    "utility/framerate_controller_deprecated.cc",
433*d9f75844SAndroid Build Coastguard Worker    "utility/framerate_controller_deprecated.h",
434*d9f75844SAndroid Build Coastguard Worker    "utility/ivf_defines.h",
435*d9f75844SAndroid Build Coastguard Worker    "utility/ivf_file_reader.cc",
436*d9f75844SAndroid Build Coastguard Worker    "utility/ivf_file_reader.h",
437*d9f75844SAndroid Build Coastguard Worker    "utility/ivf_file_writer.cc",
438*d9f75844SAndroid Build Coastguard Worker    "utility/ivf_file_writer.h",
439*d9f75844SAndroid Build Coastguard Worker    "utility/qp_parser.cc",
440*d9f75844SAndroid Build Coastguard Worker    "utility/qp_parser.h",
441*d9f75844SAndroid Build Coastguard Worker    "utility/quality_scaler.cc",
442*d9f75844SAndroid Build Coastguard Worker    "utility/quality_scaler.h",
443*d9f75844SAndroid Build Coastguard Worker    "utility/simulcast_rate_allocator.cc",
444*d9f75844SAndroid Build Coastguard Worker    "utility/simulcast_rate_allocator.h",
445*d9f75844SAndroid Build Coastguard Worker    "utility/simulcast_utility.cc",
446*d9f75844SAndroid Build Coastguard Worker    "utility/simulcast_utility.h",
447*d9f75844SAndroid Build Coastguard Worker    "utility/vp8_constants.h",
448*d9f75844SAndroid Build Coastguard Worker    "utility/vp8_header_parser.cc",
449*d9f75844SAndroid Build Coastguard Worker    "utility/vp8_header_parser.h",
450*d9f75844SAndroid Build Coastguard Worker    "utility/vp9_constants.h",
451*d9f75844SAndroid Build Coastguard Worker    "utility/vp9_uncompressed_header_parser.cc",
452*d9f75844SAndroid Build Coastguard Worker    "utility/vp9_uncompressed_header_parser.h",
453*d9f75844SAndroid Build Coastguard Worker  ]
454*d9f75844SAndroid Build Coastguard Worker
455*d9f75844SAndroid Build Coastguard Worker  deps = [
456*d9f75844SAndroid Build Coastguard Worker    ":video_codec_interface",
457*d9f75844SAndroid Build Coastguard Worker    "../../api:array_view",
458*d9f75844SAndroid Build Coastguard Worker    "../../api:field_trials_view",
459*d9f75844SAndroid Build Coastguard Worker    "../../api:scoped_refptr",
460*d9f75844SAndroid Build Coastguard Worker    "../../api:sequence_checker",
461*d9f75844SAndroid Build Coastguard Worker    "../../api/units:time_delta",
462*d9f75844SAndroid Build Coastguard Worker    "../../api/video:encoded_frame",
463*d9f75844SAndroid Build Coastguard Worker    "../../api/video:encoded_image",
464*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_adaptation",
465*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_bitrate_allocation",
466*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_bitrate_allocator",
467*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_codec_constants",
468*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_frame",
469*d9f75844SAndroid Build Coastguard Worker    "../../api/video_codecs:video_codecs_api",
470*d9f75844SAndroid Build Coastguard Worker    "../../common_video",
471*d9f75844SAndroid Build Coastguard Worker    "../../modules/rtp_rtcp",
472*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:bitstream_reader",
473*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
474*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:logging",
475*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:rate_statistics",
476*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:refcount",
477*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:rtc_numerics",
478*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:stringutils",
479*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:timeutils",
480*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:weak_ptr",
481*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:bandwidth_quality_scaler_settings",
482*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:encoder_info_settings",
483*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:quality_scaler_settings",
484*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:quality_scaling_experiment",
485*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:rate_control_settings",
486*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:stable_target_rate_experiment",
487*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/synchronization:mutex",
488*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/system:arch",
489*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/system:file_wrapper",
490*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/system:no_unique_address",
491*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/task_utils:repeating_task",
492*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers:field_trial",
493*d9f75844SAndroid Build Coastguard Worker    "../rtp_rtcp:rtp_rtcp_format",
494*d9f75844SAndroid Build Coastguard Worker  ]
495*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
496*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/numeric:bits",
497*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings:strings",
498*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
499*d9f75844SAndroid Build Coastguard Worker  ]
500*d9f75844SAndroid Build Coastguard Worker}
501*d9f75844SAndroid Build Coastguard Worker
502*d9f75844SAndroid Build Coastguard Workerrtc_library("webrtc_h264") {
503*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
504*d9f75844SAndroid Build Coastguard Worker  sources = [
505*d9f75844SAndroid Build Coastguard Worker    "codecs/h264/h264.cc",
506*d9f75844SAndroid Build Coastguard Worker    "codecs/h264/h264_color_space.cc",
507*d9f75844SAndroid Build Coastguard Worker    "codecs/h264/h264_color_space.h",
508*d9f75844SAndroid Build Coastguard Worker    "codecs/h264/h264_decoder_impl.cc",
509*d9f75844SAndroid Build Coastguard Worker    "codecs/h264/h264_decoder_impl.h",
510*d9f75844SAndroid Build Coastguard Worker    "codecs/h264/h264_encoder_impl.cc",
511*d9f75844SAndroid Build Coastguard Worker    "codecs/h264/h264_encoder_impl.h",
512*d9f75844SAndroid Build Coastguard Worker    "codecs/h264/include/h264.h",
513*d9f75844SAndroid Build Coastguard Worker  ]
514*d9f75844SAndroid Build Coastguard Worker
515*d9f75844SAndroid Build Coastguard Worker  defines = []
516*d9f75844SAndroid Build Coastguard Worker  deps = [
517*d9f75844SAndroid Build Coastguard Worker    ":video_codec_interface",
518*d9f75844SAndroid Build Coastguard Worker    ":video_coding_utility",
519*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_frame",
520*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_frame_i010",
521*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_rtp_headers",
522*d9f75844SAndroid Build Coastguard Worker    "../../api/video_codecs:scalability_mode",
523*d9f75844SAndroid Build Coastguard Worker    "../../api/video_codecs:video_codecs_api",
524*d9f75844SAndroid Build Coastguard Worker    "../../common_video",
525*d9f75844SAndroid Build Coastguard Worker    "../../media:rtc_media_base",
526*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base",
527*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
528*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:event_tracer",
529*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:logging",
530*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:timeutils",
531*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/system:rtc_export",
532*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers:field_trial",
533*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers:metrics",
534*d9f75844SAndroid Build Coastguard Worker    "svc:scalability_structures",
535*d9f75844SAndroid Build Coastguard Worker    "svc:scalable_video_controller",
536*d9f75844SAndroid Build Coastguard Worker    "//third_party/libyuv",
537*d9f75844SAndroid Build Coastguard Worker  ]
538*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
539*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/container:inlined_vector",
540*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings",
541*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
542*d9f75844SAndroid Build Coastguard Worker  ]
543*d9f75844SAndroid Build Coastguard Worker
544*d9f75844SAndroid Build Coastguard Worker  if (rtc_use_h264) {
545*d9f75844SAndroid Build Coastguard Worker    deps += [
546*d9f75844SAndroid Build Coastguard Worker      "//third_party/ffmpeg",
547*d9f75844SAndroid Build Coastguard Worker      "//third_party/openh264:encoder",
548*d9f75844SAndroid Build Coastguard Worker    ]
549*d9f75844SAndroid Build Coastguard Worker    if (!build_with_mozilla) {
550*d9f75844SAndroid Build Coastguard Worker      deps += [ "../../media:rtc_media_base" ]
551*d9f75844SAndroid Build Coastguard Worker    }
552*d9f75844SAndroid Build Coastguard Worker  }
553*d9f75844SAndroid Build Coastguard Worker}
554*d9f75844SAndroid Build Coastguard Worker
555*d9f75844SAndroid Build Coastguard Workerrtc_library("webrtc_multiplex") {
556*d9f75844SAndroid Build Coastguard Worker  sources = [
557*d9f75844SAndroid Build Coastguard Worker    "codecs/multiplex/augmented_video_frame_buffer.cc",
558*d9f75844SAndroid Build Coastguard Worker    "codecs/multiplex/include/augmented_video_frame_buffer.h",
559*d9f75844SAndroid Build Coastguard Worker    "codecs/multiplex/include/multiplex_decoder_adapter.h",
560*d9f75844SAndroid Build Coastguard Worker    "codecs/multiplex/include/multiplex_encoder_adapter.h",
561*d9f75844SAndroid Build Coastguard Worker    "codecs/multiplex/multiplex_decoder_adapter.cc",
562*d9f75844SAndroid Build Coastguard Worker    "codecs/multiplex/multiplex_encoded_image_packer.cc",
563*d9f75844SAndroid Build Coastguard Worker    "codecs/multiplex/multiplex_encoded_image_packer.h",
564*d9f75844SAndroid Build Coastguard Worker    "codecs/multiplex/multiplex_encoder_adapter.cc",
565*d9f75844SAndroid Build Coastguard Worker  ]
566*d9f75844SAndroid Build Coastguard Worker
567*d9f75844SAndroid Build Coastguard Worker  deps = [
568*d9f75844SAndroid Build Coastguard Worker    ":video_codec_interface",
569*d9f75844SAndroid Build Coastguard Worker    ":video_coding_utility",
570*d9f75844SAndroid Build Coastguard Worker    "../../api:fec_controller_api",
571*d9f75844SAndroid Build Coastguard Worker    "../../api:scoped_refptr",
572*d9f75844SAndroid Build Coastguard Worker    "../../api/video:encoded_image",
573*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_frame",
574*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_rtp_headers",
575*d9f75844SAndroid Build Coastguard Worker    "../../api/video_codecs:video_codecs_api",
576*d9f75844SAndroid Build Coastguard Worker    "../../common_video",
577*d9f75844SAndroid Build Coastguard Worker    "../../media:rtc_media_base",
578*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base",
579*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
580*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:logging",
581*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/synchronization:mutex",
582*d9f75844SAndroid Build Coastguard Worker    "../rtp_rtcp:rtp_rtcp_format",
583*d9f75844SAndroid Build Coastguard Worker  ]
584*d9f75844SAndroid Build Coastguard Worker}
585*d9f75844SAndroid Build Coastguard Worker
586*d9f75844SAndroid Build Coastguard Worker# This target defines a bare-bones interface towards libvpx, used by the
587*d9f75844SAndroid Build Coastguard Worker# VP8 and VP9 wrappers below.
588*d9f75844SAndroid Build Coastguard Workerrtc_library("webrtc_libvpx_interface") {
589*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
590*d9f75844SAndroid Build Coastguard Worker  sources = [
591*d9f75844SAndroid Build Coastguard Worker    "codecs/interface/libvpx_interface.cc",
592*d9f75844SAndroid Build Coastguard Worker    "codecs/interface/libvpx_interface.h",
593*d9f75844SAndroid Build Coastguard Worker  ]
594*d9f75844SAndroid Build Coastguard Worker  deps = [ "../../rtc_base:checks" ]
595*d9f75844SAndroid Build Coastguard Worker  if (rtc_build_libvpx) {
596*d9f75844SAndroid Build Coastguard Worker    deps += [ rtc_libvpx_dir ]
597*d9f75844SAndroid Build Coastguard Worker  }
598*d9f75844SAndroid Build Coastguard Worker}
599*d9f75844SAndroid Build Coastguard Worker
600*d9f75844SAndroid Build Coastguard Workerrtc_library("mock_libvpx_interface") {
601*d9f75844SAndroid Build Coastguard Worker  testonly = true
602*d9f75844SAndroid Build Coastguard Worker  sources = [ "codecs/interface/mock_libvpx_interface.h" ]
603*d9f75844SAndroid Build Coastguard Worker  deps = [
604*d9f75844SAndroid Build Coastguard Worker    ":webrtc_libvpx_interface",
605*d9f75844SAndroid Build Coastguard Worker    "../../test:test_support",
606*d9f75844SAndroid Build Coastguard Worker  ]
607*d9f75844SAndroid Build Coastguard Worker}
608*d9f75844SAndroid Build Coastguard Worker
609*d9f75844SAndroid Build Coastguard Worker# This target includes the internal SW codec.
610*d9f75844SAndroid Build Coastguard Workerrtc_library("webrtc_vp8") {
611*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
612*d9f75844SAndroid Build Coastguard Worker  poisonous = [ "software_video_codecs" ]
613*d9f75844SAndroid Build Coastguard Worker  sources = [
614*d9f75844SAndroid Build Coastguard Worker    "codecs/vp8/include/vp8.h",
615*d9f75844SAndroid Build Coastguard Worker    "codecs/vp8/libvpx_vp8_decoder.cc",
616*d9f75844SAndroid Build Coastguard Worker    "codecs/vp8/libvpx_vp8_decoder.h",
617*d9f75844SAndroid Build Coastguard Worker    "codecs/vp8/libvpx_vp8_encoder.cc",
618*d9f75844SAndroid Build Coastguard Worker    "codecs/vp8/libvpx_vp8_encoder.h",
619*d9f75844SAndroid Build Coastguard Worker  ]
620*d9f75844SAndroid Build Coastguard Worker
621*d9f75844SAndroid Build Coastguard Worker  deps = [
622*d9f75844SAndroid Build Coastguard Worker    ":codec_globals_headers",
623*d9f75844SAndroid Build Coastguard Worker    ":video_codec_interface",
624*d9f75844SAndroid Build Coastguard Worker    ":video_coding_utility",
625*d9f75844SAndroid Build Coastguard Worker    ":webrtc_libvpx_interface",
626*d9f75844SAndroid Build Coastguard Worker    ":webrtc_vp8_scalability",
627*d9f75844SAndroid Build Coastguard Worker    ":webrtc_vp8_temporal_layers",
628*d9f75844SAndroid Build Coastguard Worker    "../../api:fec_controller_api",
629*d9f75844SAndroid Build Coastguard Worker    "../../api:scoped_refptr",
630*d9f75844SAndroid Build Coastguard Worker    "../../api/video:encoded_image",
631*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_frame",
632*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_rtp_headers",
633*d9f75844SAndroid Build Coastguard Worker    "../../api/video_codecs:video_codecs_api",
634*d9f75844SAndroid Build Coastguard Worker    "../../api/video_codecs:vp8_temporal_layers_factory",
635*d9f75844SAndroid Build Coastguard Worker    "../../common_video",
636*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
637*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:event_tracer",
638*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:logging",
639*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:rtc_numerics",
640*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:timeutils",
641*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:cpu_speed_experiment",
642*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:encoder_info_settings",
643*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:field_trial_parser",
644*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:rate_control_settings",
645*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers:field_trial",
646*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers:metrics",
647*d9f75844SAndroid Build Coastguard Worker    "svc:scalability_mode_util",
648*d9f75844SAndroid Build Coastguard Worker    "//third_party/libyuv",
649*d9f75844SAndroid Build Coastguard Worker  ]
650*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
651*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/algorithm:container",
652*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings:strings",
653*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/types:optional",
654*d9f75844SAndroid Build Coastguard Worker  ]
655*d9f75844SAndroid Build Coastguard Worker  if (rtc_build_libvpx) {
656*d9f75844SAndroid Build Coastguard Worker    deps += [ rtc_libvpx_dir ]
657*d9f75844SAndroid Build Coastguard Worker  }
658*d9f75844SAndroid Build Coastguard Worker}
659*d9f75844SAndroid Build Coastguard Worker
660*d9f75844SAndroid Build Coastguard Workerrtc_source_set("webrtc_vp8_scalability") {
661*d9f75844SAndroid Build Coastguard Worker  sources = [
662*d9f75844SAndroid Build Coastguard Worker    "codecs/vp8/vp8_scalability.cc",
663*d9f75844SAndroid Build Coastguard Worker    "codecs/vp8/vp8_scalability.h",
664*d9f75844SAndroid Build Coastguard Worker  ]
665*d9f75844SAndroid Build Coastguard Worker  deps = [ "../../api/video_codecs:scalability_mode" ]
666*d9f75844SAndroid Build Coastguard Worker}
667*d9f75844SAndroid Build Coastguard Worker
668*d9f75844SAndroid Build Coastguard Workerrtc_library("webrtc_vp8_temporal_layers") {
669*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
670*d9f75844SAndroid Build Coastguard Worker  sources = [
671*d9f75844SAndroid Build Coastguard Worker    "codecs/vp8/default_temporal_layers.cc",
672*d9f75844SAndroid Build Coastguard Worker    "codecs/vp8/default_temporal_layers.h",
673*d9f75844SAndroid Build Coastguard Worker    "codecs/vp8/include/temporal_layers_checker.h",
674*d9f75844SAndroid Build Coastguard Worker    "codecs/vp8/screenshare_layers.cc",
675*d9f75844SAndroid Build Coastguard Worker    "codecs/vp8/screenshare_layers.h",
676*d9f75844SAndroid Build Coastguard Worker    "codecs/vp8/temporal_layers.h",
677*d9f75844SAndroid Build Coastguard Worker    "codecs/vp8/temporal_layers_checker.cc",
678*d9f75844SAndroid Build Coastguard Worker  ]
679*d9f75844SAndroid Build Coastguard Worker
680*d9f75844SAndroid Build Coastguard Worker  deps = [
681*d9f75844SAndroid Build Coastguard Worker    ":codec_globals_headers",
682*d9f75844SAndroid Build Coastguard Worker    ":video_codec_interface",
683*d9f75844SAndroid Build Coastguard Worker    ":video_coding_utility",
684*d9f75844SAndroid Build Coastguard Worker    "../../api:fec_controller_api",
685*d9f75844SAndroid Build Coastguard Worker    "../../api/video_codecs:video_codecs_api",
686*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
687*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:logging",
688*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:macromagic",
689*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:rate_statistics",
690*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:rtc_numerics",
691*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:timeutils",
692*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers:field_trial",
693*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers:metrics",
694*d9f75844SAndroid Build Coastguard Worker  ]
695*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
696*d9f75844SAndroid Build Coastguard Worker}
697*d9f75844SAndroid Build Coastguard Worker
698*d9f75844SAndroid Build Coastguard Worker# This target includes VP9 files that may be used for any VP9 codec, internal SW or external HW.
699*d9f75844SAndroid Build Coastguard Workerrtc_library("webrtc_vp9_helpers") {
700*d9f75844SAndroid Build Coastguard Worker  sources = [
701*d9f75844SAndroid Build Coastguard Worker    "codecs/vp9/svc_config.cc",
702*d9f75844SAndroid Build Coastguard Worker    "codecs/vp9/svc_config.h",
703*d9f75844SAndroid Build Coastguard Worker  ]
704*d9f75844SAndroid Build Coastguard Worker
705*d9f75844SAndroid Build Coastguard Worker  deps = [
706*d9f75844SAndroid Build Coastguard Worker    ":codec_globals_headers",
707*d9f75844SAndroid Build Coastguard Worker    ":video_codec_interface",
708*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_bitrate_allocation",
709*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_bitrate_allocator",
710*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_codec_constants",
711*d9f75844SAndroid Build Coastguard Worker    "../../api/video_codecs:video_codecs_api",
712*d9f75844SAndroid Build Coastguard Worker    "../../common_video",
713*d9f75844SAndroid Build Coastguard Worker    "../../media:rtc_media_base",
714*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
715*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:logging",
716*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:stable_target_rate_experiment",
717*d9f75844SAndroid Build Coastguard Worker    "svc:scalability_mode_util",
718*d9f75844SAndroid Build Coastguard Worker    "svc:scalability_structures",
719*d9f75844SAndroid Build Coastguard Worker    "svc:scalable_video_controller",
720*d9f75844SAndroid Build Coastguard Worker  ]
721*d9f75844SAndroid Build Coastguard Worker  absl_deps = [ "//third_party/abseil-cpp/absl/container:inlined_vector" ]
722*d9f75844SAndroid Build Coastguard Worker}
723*d9f75844SAndroid Build Coastguard Worker
724*d9f75844SAndroid Build Coastguard Workerrtc_library("webrtc_vp9") {
725*d9f75844SAndroid Build Coastguard Worker  visibility = [ "*" ]
726*d9f75844SAndroid Build Coastguard Worker  poisonous = [ "software_video_codecs" ]
727*d9f75844SAndroid Build Coastguard Worker  sources = [
728*d9f75844SAndroid Build Coastguard Worker    "codecs/vp9/include/vp9.h",
729*d9f75844SAndroid Build Coastguard Worker    "codecs/vp9/libvpx_vp9_decoder.cc",
730*d9f75844SAndroid Build Coastguard Worker    "codecs/vp9/libvpx_vp9_decoder.h",
731*d9f75844SAndroid Build Coastguard Worker    "codecs/vp9/libvpx_vp9_encoder.cc",
732*d9f75844SAndroid Build Coastguard Worker    "codecs/vp9/libvpx_vp9_encoder.h",
733*d9f75844SAndroid Build Coastguard Worker    "codecs/vp9/vp9.cc",
734*d9f75844SAndroid Build Coastguard Worker    "codecs/vp9/vp9_frame_buffer_pool.cc",
735*d9f75844SAndroid Build Coastguard Worker    "codecs/vp9/vp9_frame_buffer_pool.h",
736*d9f75844SAndroid Build Coastguard Worker  ]
737*d9f75844SAndroid Build Coastguard Worker
738*d9f75844SAndroid Build Coastguard Worker  deps = [
739*d9f75844SAndroid Build Coastguard Worker    ":video_codec_interface",
740*d9f75844SAndroid Build Coastguard Worker    ":video_coding_utility",
741*d9f75844SAndroid Build Coastguard Worker    ":webrtc_libvpx_interface",
742*d9f75844SAndroid Build Coastguard Worker    ":webrtc_vp9_helpers",
743*d9f75844SAndroid Build Coastguard Worker    "../../api:fec_controller_api",
744*d9f75844SAndroid Build Coastguard Worker    "../../api:field_trials_view",
745*d9f75844SAndroid Build Coastguard Worker    "../../api:refcountedbase",
746*d9f75844SAndroid Build Coastguard Worker    "../../api:scoped_refptr",
747*d9f75844SAndroid Build Coastguard Worker    "../../api/transport:field_trial_based_config",
748*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_frame",
749*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_frame_i010",
750*d9f75844SAndroid Build Coastguard Worker    "../../api/video:video_rtp_headers",
751*d9f75844SAndroid Build Coastguard Worker    "../../api/video_codecs:scalability_mode",
752*d9f75844SAndroid Build Coastguard Worker    "../../api/video_codecs:video_codecs_api",
753*d9f75844SAndroid Build Coastguard Worker    "../../common_video",
754*d9f75844SAndroid Build Coastguard Worker    "../../media:rtc_media_base",
755*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base",
756*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:buffer",
757*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:checks",
758*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:event_tracer",
759*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:logging",
760*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:stringutils",
761*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base:timeutils",
762*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/containers:flat_map",
763*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:encoder_info_settings",
764*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:field_trial_parser",
765*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/experiments:rate_control_settings",
766*d9f75844SAndroid Build Coastguard Worker    "../../rtc_base/synchronization:mutex",
767*d9f75844SAndroid Build Coastguard Worker    "../../system_wrappers:field_trial",
768*d9f75844SAndroid Build Coastguard Worker    "../rtp_rtcp:rtp_rtcp_format",
769*d9f75844SAndroid Build Coastguard Worker    "svc:scalability_mode_util",
770*d9f75844SAndroid Build Coastguard Worker    "svc:scalability_structures",
771*d9f75844SAndroid Build Coastguard Worker    "svc:scalable_video_controller",
772*d9f75844SAndroid Build Coastguard Worker    "svc:svc_rate_allocator",
773*d9f75844SAndroid Build Coastguard Worker    "//third_party/libyuv",
774*d9f75844SAndroid Build Coastguard Worker  ]
775*d9f75844SAndroid Build Coastguard Worker  absl_deps = [
776*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/algorithm:container",
777*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/container:inlined_vector",
778*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/memory",
779*d9f75844SAndroid Build Coastguard Worker    "//third_party/abseil-cpp/absl/strings:strings",
780*d9f75844SAndroid Build Coastguard Worker  ]
781*d9f75844SAndroid Build Coastguard Worker  if (rtc_build_libvpx) {
782*d9f75844SAndroid Build Coastguard Worker    deps += [ rtc_libvpx_dir ]
783*d9f75844SAndroid Build Coastguard Worker  }
784*d9f75844SAndroid Build Coastguard Worker}
785*d9f75844SAndroid Build Coastguard Worker
786*d9f75844SAndroid Build Coastguard Workerif (rtc_include_tests) {
787*d9f75844SAndroid Build Coastguard Worker  if (is_android) {
788*d9f75844SAndroid Build Coastguard Worker    rtc_library("android_codec_factory_helper") {
789*d9f75844SAndroid Build Coastguard Worker      sources = [
790*d9f75844SAndroid Build Coastguard Worker        "codecs/test/android_codec_factory_helper.cc",
791*d9f75844SAndroid Build Coastguard Worker        "codecs/test/android_codec_factory_helper.h",
792*d9f75844SAndroid Build Coastguard Worker      ]
793*d9f75844SAndroid Build Coastguard Worker
794*d9f75844SAndroid Build Coastguard Worker      deps = [
795*d9f75844SAndroid Build Coastguard Worker        "../../api/video_codecs:video_codecs_api",
796*d9f75844SAndroid Build Coastguard Worker        "../../modules/utility:utility",
797*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:checks",
798*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:ignore_wundef",
799*d9f75844SAndroid Build Coastguard Worker        "../../sdk/android:internal_jni",
800*d9f75844SAndroid Build Coastguard Worker        "../../sdk/android:native_api_base",
801*d9f75844SAndroid Build Coastguard Worker        "../../sdk/android:native_api_codecs",
802*d9f75844SAndroid Build Coastguard Worker        "../../sdk/android:native_api_jni",
803*d9f75844SAndroid Build Coastguard Worker      ]
804*d9f75844SAndroid Build Coastguard Worker    }
805*d9f75844SAndroid Build Coastguard Worker  }
806*d9f75844SAndroid Build Coastguard Worker
807*d9f75844SAndroid Build Coastguard Worker  if (is_ios || is_mac) {
808*d9f75844SAndroid Build Coastguard Worker    rtc_library("objc_codec_factory_helper") {
809*d9f75844SAndroid Build Coastguard Worker      sources = [
810*d9f75844SAndroid Build Coastguard Worker        "codecs/test/objc_codec_factory_helper.h",
811*d9f75844SAndroid Build Coastguard Worker        "codecs/test/objc_codec_factory_helper.mm",
812*d9f75844SAndroid Build Coastguard Worker      ]
813*d9f75844SAndroid Build Coastguard Worker
814*d9f75844SAndroid Build Coastguard Worker      deps = [
815*d9f75844SAndroid Build Coastguard Worker        "../../api/video:video_frame",
816*d9f75844SAndroid Build Coastguard Worker        "../../api/video:video_rtp_headers",
817*d9f75844SAndroid Build Coastguard Worker        "../../api/video_codecs:video_codecs_api",
818*d9f75844SAndroid Build Coastguard Worker        "../../media:rtc_audio_video",
819*d9f75844SAndroid Build Coastguard Worker        "../../media:rtc_media_base",
820*d9f75844SAndroid Build Coastguard Worker        "../../sdk:native_api",
821*d9f75844SAndroid Build Coastguard Worker        "../../sdk:peerconnectionfactory_base_objc",
822*d9f75844SAndroid Build Coastguard Worker        "../../sdk:videocodec_objc",
823*d9f75844SAndroid Build Coastguard Worker        "../../sdk:videosource_objc",
824*d9f75844SAndroid Build Coastguard Worker        "../../sdk:videotoolbox_objc",
825*d9f75844SAndroid Build Coastguard Worker      ]
826*d9f75844SAndroid Build Coastguard Worker    }
827*d9f75844SAndroid Build Coastguard Worker  }
828*d9f75844SAndroid Build Coastguard Worker
829*d9f75844SAndroid Build Coastguard Worker  rtc_library("encoded_video_frame_producer") {
830*d9f75844SAndroid Build Coastguard Worker    testonly = true
831*d9f75844SAndroid Build Coastguard Worker    sources = [
832*d9f75844SAndroid Build Coastguard Worker      "codecs/test/encoded_video_frame_producer.cc",
833*d9f75844SAndroid Build Coastguard Worker      "codecs/test/encoded_video_frame_producer.h",
834*d9f75844SAndroid Build Coastguard Worker    ]
835*d9f75844SAndroid Build Coastguard Worker    deps = [
836*d9f75844SAndroid Build Coastguard Worker      ":video_codec_interface",
837*d9f75844SAndroid Build Coastguard Worker      "../../api:create_frame_generator",
838*d9f75844SAndroid Build Coastguard Worker      "../../api:frame_generator_api",
839*d9f75844SAndroid Build Coastguard Worker      "../../api/transport/rtp:dependency_descriptor",
840*d9f75844SAndroid Build Coastguard Worker      "../../api/video:encoded_image",
841*d9f75844SAndroid Build Coastguard Worker      "../../api/video:video_frame",
842*d9f75844SAndroid Build Coastguard Worker      "../../api/video:video_frame_type",
843*d9f75844SAndroid Build Coastguard Worker      "../../api/video_codecs:video_codecs_api",
844*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:checks",
845*d9f75844SAndroid Build Coastguard Worker    ]
846*d9f75844SAndroid Build Coastguard Worker  }
847*d9f75844SAndroid Build Coastguard Worker
848*d9f75844SAndroid Build Coastguard Worker  rtc_library("simulcast_test_fixture_impl") {
849*d9f75844SAndroid Build Coastguard Worker    testonly = true
850*d9f75844SAndroid Build Coastguard Worker    sources = [
851*d9f75844SAndroid Build Coastguard Worker      "utility/simulcast_test_fixture_impl.cc",
852*d9f75844SAndroid Build Coastguard Worker      "utility/simulcast_test_fixture_impl.h",
853*d9f75844SAndroid Build Coastguard Worker    ]
854*d9f75844SAndroid Build Coastguard Worker
855*d9f75844SAndroid Build Coastguard Worker    deps = [
856*d9f75844SAndroid Build Coastguard Worker      ":video_codec_interface",
857*d9f75844SAndroid Build Coastguard Worker      ":video_coding",
858*d9f75844SAndroid Build Coastguard Worker      ":video_coding_utility",
859*d9f75844SAndroid Build Coastguard Worker      "../../api:mock_video_decoder",
860*d9f75844SAndroid Build Coastguard Worker      "../../api:mock_video_encoder",
861*d9f75844SAndroid Build Coastguard Worker      "../../api:simulcast_test_fixture_api",
862*d9f75844SAndroid Build Coastguard Worker      "../../api/video:encoded_image",
863*d9f75844SAndroid Build Coastguard Worker      "../../api/video:video_frame",
864*d9f75844SAndroid Build Coastguard Worker      "../../api/video:video_rtp_headers",
865*d9f75844SAndroid Build Coastguard Worker      "../../api/video_codecs:video_codecs_api",
866*d9f75844SAndroid Build Coastguard Worker      "../../common_video",
867*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:checks",
868*d9f75844SAndroid Build Coastguard Worker      "../../test:test_support",
869*d9f75844SAndroid Build Coastguard Worker    ]
870*d9f75844SAndroid Build Coastguard Worker  }
871*d9f75844SAndroid Build Coastguard Worker
872*d9f75844SAndroid Build Coastguard Worker  rtc_library("video_codecs_test_framework") {
873*d9f75844SAndroid Build Coastguard Worker    testonly = true
874*d9f75844SAndroid Build Coastguard Worker    sources = [
875*d9f75844SAndroid Build Coastguard Worker      "codecs/test/video_codec_unittest.cc",
876*d9f75844SAndroid Build Coastguard Worker      "codecs/test/video_codec_unittest.h",
877*d9f75844SAndroid Build Coastguard Worker      "codecs/test/videoprocessor.cc",
878*d9f75844SAndroid Build Coastguard Worker      "codecs/test/videoprocessor.h",
879*d9f75844SAndroid Build Coastguard Worker    ]
880*d9f75844SAndroid Build Coastguard Worker
881*d9f75844SAndroid Build Coastguard Worker    deps = [
882*d9f75844SAndroid Build Coastguard Worker      ":codec_globals_headers",
883*d9f75844SAndroid Build Coastguard Worker      ":video_codec_interface",
884*d9f75844SAndroid Build Coastguard Worker      ":video_coding",
885*d9f75844SAndroid Build Coastguard Worker      ":video_coding_utility",
886*d9f75844SAndroid Build Coastguard Worker      ":videocodec_test_stats_impl",
887*d9f75844SAndroid Build Coastguard Worker      ":webrtc_vp9_helpers",
888*d9f75844SAndroid Build Coastguard Worker      "..:module_api",
889*d9f75844SAndroid Build Coastguard Worker      "../../api:create_frame_generator",
890*d9f75844SAndroid Build Coastguard Worker      "../../api:frame_generator_api",
891*d9f75844SAndroid Build Coastguard Worker      "../../api:scoped_refptr",
892*d9f75844SAndroid Build Coastguard Worker      "../../api:sequence_checker",
893*d9f75844SAndroid Build Coastguard Worker      "../../api:videocodec_test_fixture_api",
894*d9f75844SAndroid Build Coastguard Worker      "../../api/task_queue",
895*d9f75844SAndroid Build Coastguard Worker      "../../api/video:builtin_video_bitrate_allocator_factory",
896*d9f75844SAndroid Build Coastguard Worker      "../../api/video:encoded_image",
897*d9f75844SAndroid Build Coastguard Worker      "../../api/video:video_bitrate_allocation",
898*d9f75844SAndroid Build Coastguard Worker      "../../api/video:video_bitrate_allocator",
899*d9f75844SAndroid Build Coastguard Worker      "../../api/video:video_bitrate_allocator_factory",
900*d9f75844SAndroid Build Coastguard Worker      "../../api/video:video_frame",
901*d9f75844SAndroid Build Coastguard Worker      "../../api/video:video_rtp_headers",
902*d9f75844SAndroid Build Coastguard Worker      "../../api/video_codecs:video_codecs_api",
903*d9f75844SAndroid Build Coastguard Worker      "../../common_video",
904*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:buffer",
905*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:checks",
906*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:macromagic",
907*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:rtc_event",
908*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:timeutils",
909*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base/synchronization:mutex",
910*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base/system:no_unique_address",
911*d9f75844SAndroid Build Coastguard Worker      "../../test:test_support",
912*d9f75844SAndroid Build Coastguard Worker      "../../test:video_test_common",
913*d9f75844SAndroid Build Coastguard Worker      "../../test:video_test_support",
914*d9f75844SAndroid Build Coastguard Worker      "../rtp_rtcp:rtp_rtcp_format",
915*d9f75844SAndroid Build Coastguard Worker      "//third_party/libyuv",
916*d9f75844SAndroid Build Coastguard Worker    ]
917*d9f75844SAndroid Build Coastguard Worker    absl_deps = [ "//third_party/abseil-cpp/absl/types:optional" ]
918*d9f75844SAndroid Build Coastguard Worker  }
919*d9f75844SAndroid Build Coastguard Worker
920*d9f75844SAndroid Build Coastguard Worker  video_coding_modules_tests_resources = []
921*d9f75844SAndroid Build Coastguard Worker  if (is_android) {
922*d9f75844SAndroid Build Coastguard Worker    video_coding_modules_tests_resources += [
923*d9f75844SAndroid Build Coastguard Worker      "../../resources/foreman_128x96.yuv",
924*d9f75844SAndroid Build Coastguard Worker      "../../resources/foreman_160x120.yuv",
925*d9f75844SAndroid Build Coastguard Worker      "../../resources/foreman_176x144.yuv",
926*d9f75844SAndroid Build Coastguard Worker      "../../resources/foreman_240x136.yuv",
927*d9f75844SAndroid Build Coastguard Worker      "../../resources/foreman_320x240.yuv",
928*d9f75844SAndroid Build Coastguard Worker      "../../resources/foreman_480x272.yuv",
929*d9f75844SAndroid Build Coastguard Worker    ]
930*d9f75844SAndroid Build Coastguard Worker  }
931*d9f75844SAndroid Build Coastguard Worker  if (!is_android) {
932*d9f75844SAndroid Build Coastguard Worker    video_coding_modules_tests_resources += [
933*d9f75844SAndroid Build Coastguard Worker      "../../resources/ConferenceMotion_1280_720_50.yuv",
934*d9f75844SAndroid Build Coastguard Worker      "../../resources/FourPeople_1280x720_30.yuv",
935*d9f75844SAndroid Build Coastguard Worker    ]
936*d9f75844SAndroid Build Coastguard Worker  }
937*d9f75844SAndroid Build Coastguard Worker
938*d9f75844SAndroid Build Coastguard Worker  num_video_coding_modules_tests_resources = 0
939*d9f75844SAndroid Build Coastguard Worker  foreach(i, video_coding_modules_tests_resources) {
940*d9f75844SAndroid Build Coastguard Worker    num_video_coding_modules_tests_resources += 1
941*d9f75844SAndroid Build Coastguard Worker  }
942*d9f75844SAndroid Build Coastguard Worker
943*d9f75844SAndroid Build Coastguard Worker  if (num_video_coding_modules_tests_resources > 0) {
944*d9f75844SAndroid Build Coastguard Worker    if (is_ios || is_mac) {
945*d9f75844SAndroid Build Coastguard Worker      bundle_data("video_coding_modules_tests_resources_bundle_data") {
946*d9f75844SAndroid Build Coastguard Worker        testonly = true
947*d9f75844SAndroid Build Coastguard Worker        sources = video_coding_modules_tests_resources
948*d9f75844SAndroid Build Coastguard Worker        outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ]
949*d9f75844SAndroid Build Coastguard Worker      }
950*d9f75844SAndroid Build Coastguard Worker    }
951*d9f75844SAndroid Build Coastguard Worker  }
952*d9f75844SAndroid Build Coastguard Worker
953*d9f75844SAndroid Build Coastguard Worker  rtc_library("videocodec_test_impl") {
954*d9f75844SAndroid Build Coastguard Worker    testonly = true
955*d9f75844SAndroid Build Coastguard Worker    sources = [
956*d9f75844SAndroid Build Coastguard Worker      "codecs/test/videocodec_test_fixture_impl.cc",
957*d9f75844SAndroid Build Coastguard Worker      "codecs/test/videocodec_test_fixture_impl.h",
958*d9f75844SAndroid Build Coastguard Worker    ]
959*d9f75844SAndroid Build Coastguard Worker    deps = [
960*d9f75844SAndroid Build Coastguard Worker      ":codec_globals_headers",
961*d9f75844SAndroid Build Coastguard Worker      ":video_codec_interface",
962*d9f75844SAndroid Build Coastguard Worker      ":video_codecs_test_framework",
963*d9f75844SAndroid Build Coastguard Worker      ":video_coding_utility",
964*d9f75844SAndroid Build Coastguard Worker      ":videocodec_test_stats_impl",
965*d9f75844SAndroid Build Coastguard Worker      ":webrtc_vp9_helpers",
966*d9f75844SAndroid Build Coastguard Worker      "../../api:array_view",
967*d9f75844SAndroid Build Coastguard Worker      "../../api:videocodec_test_fixture_api",
968*d9f75844SAndroid Build Coastguard Worker      "../../api/test/metrics:global_metrics_logger_and_exporter",
969*d9f75844SAndroid Build Coastguard Worker      "../../api/test/metrics:metric",
970*d9f75844SAndroid Build Coastguard Worker      "../../api/test/video:function_video_factory",
971*d9f75844SAndroid Build Coastguard Worker      "../../api/transport:field_trial_based_config",
972*d9f75844SAndroid Build Coastguard Worker      "../../api/video:video_bitrate_allocation",
973*d9f75844SAndroid Build Coastguard Worker      "../../api/video_codecs:video_codecs_api",
974*d9f75844SAndroid Build Coastguard Worker      "../../api/video_codecs:video_decoder_factory_template",
975*d9f75844SAndroid Build Coastguard Worker      "../../api/video_codecs:video_decoder_factory_template_dav1d_adapter",
976*d9f75844SAndroid Build Coastguard Worker      "../../api/video_codecs:video_decoder_factory_template_libvpx_vp8_adapter",
977*d9f75844SAndroid Build Coastguard Worker      "../../api/video_codecs:video_decoder_factory_template_libvpx_vp9_adapter",
978*d9f75844SAndroid Build Coastguard Worker      "../../api/video_codecs:video_decoder_factory_template_open_h264_adapter",
979*d9f75844SAndroid Build Coastguard Worker      "../../api/video_codecs:video_encoder_factory_template",
980*d9f75844SAndroid Build Coastguard Worker      "../../api/video_codecs:video_encoder_factory_template_libaom_av1_adapter",
981*d9f75844SAndroid Build Coastguard Worker      "../../api/video_codecs:video_encoder_factory_template_libvpx_vp8_adapter",
982*d9f75844SAndroid Build Coastguard Worker      "../../api/video_codecs:video_encoder_factory_template_libvpx_vp9_adapter",
983*d9f75844SAndroid Build Coastguard Worker      "../../api/video_codecs:video_encoder_factory_template_open_h264_adapter",
984*d9f75844SAndroid Build Coastguard Worker      "../../call:video_stream_api",
985*d9f75844SAndroid Build Coastguard Worker      "../../common_video",
986*d9f75844SAndroid Build Coastguard Worker      "../../media:rtc_audio_video",
987*d9f75844SAndroid Build Coastguard Worker      "../../media:rtc_media_base",
988*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:checks",
989*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:logging",
990*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:rtc_base_tests_utils",
991*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:stringutils",
992*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:task_queue_for_test",
993*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:timeutils",
994*d9f75844SAndroid Build Coastguard Worker      "../../system_wrappers",
995*d9f75844SAndroid Build Coastguard Worker      "../../test:fileutils",
996*d9f75844SAndroid Build Coastguard Worker      "../../test:test_support",
997*d9f75844SAndroid Build Coastguard Worker      "../../test:video_test_common",
998*d9f75844SAndroid Build Coastguard Worker      "../../test:video_test_support",
999*d9f75844SAndroid Build Coastguard Worker      "../../video/config:encoder_config",
1000*d9f75844SAndroid Build Coastguard Worker      "../../video/config:streams_config",
1001*d9f75844SAndroid Build Coastguard Worker    ]
1002*d9f75844SAndroid Build Coastguard Worker    absl_deps = [
1003*d9f75844SAndroid Build Coastguard Worker      "//third_party/abseil-cpp/absl/strings:strings",
1004*d9f75844SAndroid Build Coastguard Worker      "//third_party/abseil-cpp/absl/types:optional",
1005*d9f75844SAndroid Build Coastguard Worker    ]
1006*d9f75844SAndroid Build Coastguard Worker  }
1007*d9f75844SAndroid Build Coastguard Worker
1008*d9f75844SAndroid Build Coastguard Worker  rtc_library("videocodec_test_stats_impl") {
1009*d9f75844SAndroid Build Coastguard Worker    testonly = true
1010*d9f75844SAndroid Build Coastguard Worker    sources = [
1011*d9f75844SAndroid Build Coastguard Worker      "codecs/test/videocodec_test_stats_impl.cc",
1012*d9f75844SAndroid Build Coastguard Worker      "codecs/test/videocodec_test_stats_impl.h",
1013*d9f75844SAndroid Build Coastguard Worker    ]
1014*d9f75844SAndroid Build Coastguard Worker    deps = [
1015*d9f75844SAndroid Build Coastguard Worker      "../../api:videocodec_test_fixture_api",
1016*d9f75844SAndroid Build Coastguard Worker      "../../api/numerics",
1017*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:checks",
1018*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:rtc_numerics",
1019*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:stringutils",
1020*d9f75844SAndroid Build Coastguard Worker      "../../test:test_common",
1021*d9f75844SAndroid Build Coastguard Worker      "../rtp_rtcp:rtp_rtcp_format",
1022*d9f75844SAndroid Build Coastguard Worker    ]
1023*d9f75844SAndroid Build Coastguard Worker  }
1024*d9f75844SAndroid Build Coastguard Worker
1025*d9f75844SAndroid Build Coastguard Worker  rtc_library("video_coding_modules_tests") {
1026*d9f75844SAndroid Build Coastguard Worker    testonly = true
1027*d9f75844SAndroid Build Coastguard Worker    defines = []
1028*d9f75844SAndroid Build Coastguard Worker
1029*d9f75844SAndroid Build Coastguard Worker    sources = [
1030*d9f75844SAndroid Build Coastguard Worker      "codecs/h264/test/h264_impl_unittest.cc",
1031*d9f75844SAndroid Build Coastguard Worker      "codecs/multiplex/test/multiplex_adapter_unittest.cc",
1032*d9f75844SAndroid Build Coastguard Worker      "codecs/test/video_encoder_decoder_instantiation_tests.cc",
1033*d9f75844SAndroid Build Coastguard Worker      "codecs/test/videocodec_test_av1.cc",
1034*d9f75844SAndroid Build Coastguard Worker      "codecs/test/videocodec_test_libvpx.cc",
1035*d9f75844SAndroid Build Coastguard Worker      "codecs/vp8/test/vp8_impl_unittest.cc",
1036*d9f75844SAndroid Build Coastguard Worker    ]
1037*d9f75844SAndroid Build Coastguard Worker
1038*d9f75844SAndroid Build Coastguard Worker    if (rtc_libvpx_build_vp9) {
1039*d9f75844SAndroid Build Coastguard Worker      sources += [ "codecs/vp9/test/vp9_impl_unittest.cc" ]
1040*d9f75844SAndroid Build Coastguard Worker    }
1041*d9f75844SAndroid Build Coastguard Worker
1042*d9f75844SAndroid Build Coastguard Worker    if (rtc_use_h264) {
1043*d9f75844SAndroid Build Coastguard Worker      sources += [ "codecs/test/videocodec_test_openh264.cc" ]
1044*d9f75844SAndroid Build Coastguard Worker    }
1045*d9f75844SAndroid Build Coastguard Worker
1046*d9f75844SAndroid Build Coastguard Worker    deps = [
1047*d9f75844SAndroid Build Coastguard Worker      ":encoded_video_frame_producer",
1048*d9f75844SAndroid Build Coastguard Worker      ":mock_libvpx_interface",
1049*d9f75844SAndroid Build Coastguard Worker      ":video_codec_interface",
1050*d9f75844SAndroid Build Coastguard Worker      ":video_codecs_test_framework",
1051*d9f75844SAndroid Build Coastguard Worker      ":video_coding_utility",
1052*d9f75844SAndroid Build Coastguard Worker      ":videocodec_test_impl",
1053*d9f75844SAndroid Build Coastguard Worker      ":webrtc_h264",
1054*d9f75844SAndroid Build Coastguard Worker      ":webrtc_libvpx_interface",
1055*d9f75844SAndroid Build Coastguard Worker      ":webrtc_multiplex",
1056*d9f75844SAndroid Build Coastguard Worker      ":webrtc_vp8",
1057*d9f75844SAndroid Build Coastguard Worker      ":webrtc_vp9",
1058*d9f75844SAndroid Build Coastguard Worker      ":webrtc_vp9_helpers",
1059*d9f75844SAndroid Build Coastguard Worker      "../../api:create_frame_generator",
1060*d9f75844SAndroid Build Coastguard Worker      "../../api:create_videocodec_test_fixture_api",
1061*d9f75844SAndroid Build Coastguard Worker      "../../api:frame_generator_api",
1062*d9f75844SAndroid Build Coastguard Worker      "../../api:mock_video_codec_factory",
1063*d9f75844SAndroid Build Coastguard Worker      "../../api:mock_video_decoder",
1064*d9f75844SAndroid Build Coastguard Worker      "../../api:mock_video_encoder",
1065*d9f75844SAndroid Build Coastguard Worker      "../../api:scoped_refptr",
1066*d9f75844SAndroid Build Coastguard Worker      "../../api:videocodec_test_fixture_api",
1067*d9f75844SAndroid Build Coastguard Worker      "../../api/test/video:function_video_factory",
1068*d9f75844SAndroid Build Coastguard Worker      "../../api/video:encoded_image",
1069*d9f75844SAndroid Build Coastguard Worker      "../../api/video:video_frame",
1070*d9f75844SAndroid Build Coastguard Worker      "../../api/video:video_rtp_headers",
1071*d9f75844SAndroid Build Coastguard Worker      "../../api/video_codecs:rtc_software_fallback_wrappers",
1072*d9f75844SAndroid Build Coastguard Worker      "../../api/video_codecs:video_codecs_api",
1073*d9f75844SAndroid Build Coastguard Worker      "../../common_video",
1074*d9f75844SAndroid Build Coastguard Worker      "../../common_video/test:utilities",
1075*d9f75844SAndroid Build Coastguard Worker      "../../media:rtc_internal_video_codecs",
1076*d9f75844SAndroid Build Coastguard Worker      "../../media:rtc_media_base",
1077*d9f75844SAndroid Build Coastguard Worker      "../../media:rtc_simulcast_encoder_adapter",
1078*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base",
1079*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:refcount",
1080*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:stringutils",
1081*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:timeutils",
1082*d9f75844SAndroid Build Coastguard Worker      "../../test:explicit_key_value_config",
1083*d9f75844SAndroid Build Coastguard Worker      "../../test:field_trial",
1084*d9f75844SAndroid Build Coastguard Worker      "../../test:fileutils",
1085*d9f75844SAndroid Build Coastguard Worker      "../../test:test_support",
1086*d9f75844SAndroid Build Coastguard Worker      "../../test:video_test_common",
1087*d9f75844SAndroid Build Coastguard Worker      "../rtp_rtcp:rtp_rtcp_format",
1088*d9f75844SAndroid Build Coastguard Worker      "codecs/av1:dav1d_decoder",
1089*d9f75844SAndroid Build Coastguard Worker      "//third_party/libyuv",
1090*d9f75844SAndroid Build Coastguard Worker    ]
1091*d9f75844SAndroid Build Coastguard Worker    absl_deps = [
1092*d9f75844SAndroid Build Coastguard Worker      "//third_party/abseil-cpp/absl/memory",
1093*d9f75844SAndroid Build Coastguard Worker      "//third_party/abseil-cpp/absl/types:optional",
1094*d9f75844SAndroid Build Coastguard Worker    ]
1095*d9f75844SAndroid Build Coastguard Worker
1096*d9f75844SAndroid Build Coastguard Worker    data = video_coding_modules_tests_resources
1097*d9f75844SAndroid Build Coastguard Worker
1098*d9f75844SAndroid Build Coastguard Worker    if (is_android) {
1099*d9f75844SAndroid Build Coastguard Worker      sources += [ "codecs/test/videocodec_test_mediacodec.cc" ]
1100*d9f75844SAndroid Build Coastguard Worker
1101*d9f75844SAndroid Build Coastguard Worker      deps += [
1102*d9f75844SAndroid Build Coastguard Worker        ":android_codec_factory_helper",
1103*d9f75844SAndroid Build Coastguard Worker        "../../rtc_base:stringutils",
1104*d9f75844SAndroid Build Coastguard Worker      ]
1105*d9f75844SAndroid Build Coastguard Worker    }
1106*d9f75844SAndroid Build Coastguard Worker
1107*d9f75844SAndroid Build Coastguard Worker    if (is_ios || is_mac) {
1108*d9f75844SAndroid Build Coastguard Worker      sources += [ "codecs/test/videocodec_test_videotoolbox.cc" ]
1109*d9f75844SAndroid Build Coastguard Worker
1110*d9f75844SAndroid Build Coastguard Worker      deps += [ ":objc_codec_factory_helper" ]
1111*d9f75844SAndroid Build Coastguard Worker
1112*d9f75844SAndroid Build Coastguard Worker      if (num_video_coding_modules_tests_resources > 0) {
1113*d9f75844SAndroid Build Coastguard Worker        deps += [ ":video_coding_modules_tests_resources_bundle_data" ]
1114*d9f75844SAndroid Build Coastguard Worker      }
1115*d9f75844SAndroid Build Coastguard Worker    }
1116*d9f75844SAndroid Build Coastguard Worker
1117*d9f75844SAndroid Build Coastguard Worker    if (rtc_build_libvpx) {
1118*d9f75844SAndroid Build Coastguard Worker      deps += [ rtc_libvpx_dir ]
1119*d9f75844SAndroid Build Coastguard Worker    }
1120*d9f75844SAndroid Build Coastguard Worker  }
1121*d9f75844SAndroid Build Coastguard Worker
1122*d9f75844SAndroid Build Coastguard Worker  rtc_library("video_coding_unittests") {
1123*d9f75844SAndroid Build Coastguard Worker    testonly = true
1124*d9f75844SAndroid Build Coastguard Worker
1125*d9f75844SAndroid Build Coastguard Worker    sources = [
1126*d9f75844SAndroid Build Coastguard Worker      "chain_diff_calculator_unittest.cc",
1127*d9f75844SAndroid Build Coastguard Worker      "codecs/test/videocodec_test_fixture_config_unittest.cc",
1128*d9f75844SAndroid Build Coastguard Worker      "codecs/test/videocodec_test_stats_impl_unittest.cc",
1129*d9f75844SAndroid Build Coastguard Worker      "codecs/test/videoprocessor_unittest.cc",
1130*d9f75844SAndroid Build Coastguard Worker      "codecs/vp8/default_temporal_layers_unittest.cc",
1131*d9f75844SAndroid Build Coastguard Worker      "codecs/vp8/libvpx_vp8_simulcast_test.cc",
1132*d9f75844SAndroid Build Coastguard Worker      "codecs/vp8/screenshare_layers_unittest.cc",
1133*d9f75844SAndroid Build Coastguard Worker      "codecs/vp9/svc_config_unittest.cc",
1134*d9f75844SAndroid Build Coastguard Worker      "decoder_database_unittest.cc",
1135*d9f75844SAndroid Build Coastguard Worker      "decoding_state_unittest.cc",
1136*d9f75844SAndroid Build Coastguard Worker      "fec_controller_unittest.cc",
1137*d9f75844SAndroid Build Coastguard Worker      "frame_buffer2_unittest.cc",
1138*d9f75844SAndroid Build Coastguard Worker      "frame_dependencies_calculator_unittest.cc",
1139*d9f75844SAndroid Build Coastguard Worker      "frame_helpers_unittest.cc",
1140*d9f75844SAndroid Build Coastguard Worker      "generic_decoder_unittest.cc",
1141*d9f75844SAndroid Build Coastguard Worker      "h264_packet_buffer_unittest.cc",
1142*d9f75844SAndroid Build Coastguard Worker      "h264_sprop_parameter_sets_unittest.cc",
1143*d9f75844SAndroid Build Coastguard Worker      "h264_sps_pps_tracker_unittest.cc",
1144*d9f75844SAndroid Build Coastguard Worker      "histogram_unittest.cc",
1145*d9f75844SAndroid Build Coastguard Worker      "jitter_buffer_unittest.cc",
1146*d9f75844SAndroid Build Coastguard Worker      "loss_notification_controller_unittest.cc",
1147*d9f75844SAndroid Build Coastguard Worker      "nack_requester_unittest.cc",
1148*d9f75844SAndroid Build Coastguard Worker      "packet_buffer_unittest.cc",
1149*d9f75844SAndroid Build Coastguard Worker      "receiver_unittest.cc",
1150*d9f75844SAndroid Build Coastguard Worker      "rtp_frame_reference_finder_unittest.cc",
1151*d9f75844SAndroid Build Coastguard Worker      "rtp_vp8_ref_finder_unittest.cc",
1152*d9f75844SAndroid Build Coastguard Worker      "rtp_vp9_ref_finder_unittest.cc",
1153*d9f75844SAndroid Build Coastguard Worker      "session_info_unittest.cc",
1154*d9f75844SAndroid Build Coastguard Worker      "test/stream_generator.cc",
1155*d9f75844SAndroid Build Coastguard Worker      "test/stream_generator.h",
1156*d9f75844SAndroid Build Coastguard Worker      "utility/bandwidth_quality_scaler_unittest.cc",
1157*d9f75844SAndroid Build Coastguard Worker      "utility/decoded_frames_history_unittest.cc",
1158*d9f75844SAndroid Build Coastguard Worker      "utility/frame_dropper_unittest.cc",
1159*d9f75844SAndroid Build Coastguard Worker      "utility/framerate_controller_deprecated_unittest.cc",
1160*d9f75844SAndroid Build Coastguard Worker      "utility/ivf_file_reader_unittest.cc",
1161*d9f75844SAndroid Build Coastguard Worker      "utility/ivf_file_writer_unittest.cc",
1162*d9f75844SAndroid Build Coastguard Worker      "utility/qp_parser_unittest.cc",
1163*d9f75844SAndroid Build Coastguard Worker      "utility/quality_scaler_unittest.cc",
1164*d9f75844SAndroid Build Coastguard Worker      "utility/simulcast_rate_allocator_unittest.cc",
1165*d9f75844SAndroid Build Coastguard Worker      "utility/vp9_uncompressed_header_parser_unittest.cc",
1166*d9f75844SAndroid Build Coastguard Worker      "video_codec_initializer_unittest.cc",
1167*d9f75844SAndroid Build Coastguard Worker      "video_receiver2_unittest.cc",
1168*d9f75844SAndroid Build Coastguard Worker      "video_receiver_unittest.cc",
1169*d9f75844SAndroid Build Coastguard Worker    ]
1170*d9f75844SAndroid Build Coastguard Worker    if (rtc_use_h264) {
1171*d9f75844SAndroid Build Coastguard Worker      sources += [
1172*d9f75844SAndroid Build Coastguard Worker        "codecs/h264/h264_encoder_impl_unittest.cc",
1173*d9f75844SAndroid Build Coastguard Worker        "codecs/h264/h264_simulcast_unittest.cc",
1174*d9f75844SAndroid Build Coastguard Worker      ]
1175*d9f75844SAndroid Build Coastguard Worker    }
1176*d9f75844SAndroid Build Coastguard Worker
1177*d9f75844SAndroid Build Coastguard Worker    deps = [
1178*d9f75844SAndroid Build Coastguard Worker      ":chain_diff_calculator",
1179*d9f75844SAndroid Build Coastguard Worker      ":codec_globals_headers",
1180*d9f75844SAndroid Build Coastguard Worker      ":encoded_frame",
1181*d9f75844SAndroid Build Coastguard Worker      ":frame_buffer2",
1182*d9f75844SAndroid Build Coastguard Worker      ":frame_dependencies_calculator",
1183*d9f75844SAndroid Build Coastguard Worker      ":frame_helpers",
1184*d9f75844SAndroid Build Coastguard Worker      ":h264_packet_buffer",
1185*d9f75844SAndroid Build Coastguard Worker      ":nack_requester",
1186*d9f75844SAndroid Build Coastguard Worker      ":packet_buffer",
1187*d9f75844SAndroid Build Coastguard Worker      ":simulcast_test_fixture_impl",
1188*d9f75844SAndroid Build Coastguard Worker      ":video_codec_interface",
1189*d9f75844SAndroid Build Coastguard Worker      ":video_codecs_test_framework",
1190*d9f75844SAndroid Build Coastguard Worker      ":video_coding",
1191*d9f75844SAndroid Build Coastguard Worker      ":video_coding_legacy",
1192*d9f75844SAndroid Build Coastguard Worker      ":video_coding_utility",
1193*d9f75844SAndroid Build Coastguard Worker      ":videocodec_test_impl",
1194*d9f75844SAndroid Build Coastguard Worker      ":videocodec_test_stats_impl",
1195*d9f75844SAndroid Build Coastguard Worker      ":webrtc_h264",
1196*d9f75844SAndroid Build Coastguard Worker      ":webrtc_vp8",
1197*d9f75844SAndroid Build Coastguard Worker      ":webrtc_vp8_temporal_layers",
1198*d9f75844SAndroid Build Coastguard Worker      ":webrtc_vp9",
1199*d9f75844SAndroid Build Coastguard Worker      ":webrtc_vp9_helpers",
1200*d9f75844SAndroid Build Coastguard Worker      "..:module_fec_api",
1201*d9f75844SAndroid Build Coastguard Worker      "../../api:array_view",
1202*d9f75844SAndroid Build Coastguard Worker      "../../api:create_simulcast_test_fixture_api",
1203*d9f75844SAndroid Build Coastguard Worker      "../../api:fec_controller_api",
1204*d9f75844SAndroid Build Coastguard Worker      "../../api:mock_fec_controller_override",
1205*d9f75844SAndroid Build Coastguard Worker      "../../api:mock_video_decoder",
1206*d9f75844SAndroid Build Coastguard Worker      "../../api:mock_video_encoder",
1207*d9f75844SAndroid Build Coastguard Worker      "../../api:rtp_packet_info",
1208*d9f75844SAndroid Build Coastguard Worker      "../../api:scoped_refptr",
1209*d9f75844SAndroid Build Coastguard Worker      "../../api:simulcast_test_fixture_api",
1210*d9f75844SAndroid Build Coastguard Worker      "../../api:videocodec_test_fixture_api",
1211*d9f75844SAndroid Build Coastguard Worker      "../../api/task_queue",
1212*d9f75844SAndroid Build Coastguard Worker      "../../api/task_queue:default_task_queue_factory",
1213*d9f75844SAndroid Build Coastguard Worker      "../../api/test/video:function_video_factory",
1214*d9f75844SAndroid Build Coastguard Worker      "../../api/units:data_size",
1215*d9f75844SAndroid Build Coastguard Worker      "../../api/units:frequency",
1216*d9f75844SAndroid Build Coastguard Worker      "../../api/units:time_delta",
1217*d9f75844SAndroid Build Coastguard Worker      "../../api/units:timestamp",
1218*d9f75844SAndroid Build Coastguard Worker      "../../api/video:builtin_video_bitrate_allocator_factory",
1219*d9f75844SAndroid Build Coastguard Worker      "../../api/video:encoded_frame",
1220*d9f75844SAndroid Build Coastguard Worker      "../../api/video:render_resolution",
1221*d9f75844SAndroid Build Coastguard Worker      "../../api/video:video_adaptation",
1222*d9f75844SAndroid Build Coastguard Worker      "../../api/video:video_bitrate_allocation",
1223*d9f75844SAndroid Build Coastguard Worker      "../../api/video:video_bitrate_allocator",
1224*d9f75844SAndroid Build Coastguard Worker      "../../api/video:video_bitrate_allocator_factory",
1225*d9f75844SAndroid Build Coastguard Worker      "../../api/video:video_frame",
1226*d9f75844SAndroid Build Coastguard Worker      "../../api/video:video_frame_type",
1227*d9f75844SAndroid Build Coastguard Worker      "../../api/video:video_rtp_headers",
1228*d9f75844SAndroid Build Coastguard Worker      "../../api/video_codecs:video_codecs_api",
1229*d9f75844SAndroid Build Coastguard Worker      "../../api/video_codecs:vp8_temporal_layers_factory",
1230*d9f75844SAndroid Build Coastguard Worker      "../../common_video",
1231*d9f75844SAndroid Build Coastguard Worker      "../../common_video/generic_frame_descriptor",
1232*d9f75844SAndroid Build Coastguard Worker      "../../common_video/test:utilities",
1233*d9f75844SAndroid Build Coastguard Worker      "../../media:rtc_media_base",
1234*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base",
1235*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:checks",
1236*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:histogram_percentile_counter",
1237*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:platform_thread",
1238*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:random",
1239*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:refcount",
1240*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:rtc_base_tests_utils",
1241*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:rtc_event",
1242*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:rtc_numerics",
1243*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:stringutils",
1244*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:task_queue_for_test",
1245*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base:timeutils",
1246*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base/experiments:encoder_info_settings",
1247*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base/synchronization:mutex",
1248*d9f75844SAndroid Build Coastguard Worker      "../../rtc_base/system:unused",
1249*d9f75844SAndroid Build Coastguard Worker      "../../system_wrappers",
1250*d9f75844SAndroid Build Coastguard Worker      "../../system_wrappers:field_trial",
1251*d9f75844SAndroid Build Coastguard Worker      "../../system_wrappers:metrics",
1252*d9f75844SAndroid Build Coastguard Worker      "../../test:fake_encoded_frame",
1253*d9f75844SAndroid Build Coastguard Worker      "../../test:fake_video_codecs",
1254*d9f75844SAndroid Build Coastguard Worker      "../../test:field_trial",
1255*d9f75844SAndroid Build Coastguard Worker      "../../test:fileutils",
1256*d9f75844SAndroid Build Coastguard Worker      "../../test:run_loop",
1257*d9f75844SAndroid Build Coastguard Worker      "../../test:scoped_key_value_config",
1258*d9f75844SAndroid Build Coastguard Worker      "../../test:test_support",
1259*d9f75844SAndroid Build Coastguard Worker      "../../test:video_test_common",
1260*d9f75844SAndroid Build Coastguard Worker      "../../test:video_test_support",
1261*d9f75844SAndroid Build Coastguard Worker      "../../test/time_controller:time_controller",
1262*d9f75844SAndroid Build Coastguard Worker      "../rtp_rtcp:rtp_rtcp_format",
1263*d9f75844SAndroid Build Coastguard Worker      "../rtp_rtcp:rtp_video_header",
1264*d9f75844SAndroid Build Coastguard Worker      "codecs/av1:video_coding_codecs_av1_tests",
1265*d9f75844SAndroid Build Coastguard Worker      "svc:scalability_structure_tests",
1266*d9f75844SAndroid Build Coastguard Worker      "svc:svc_rate_allocator_tests",
1267*d9f75844SAndroid Build Coastguard Worker      "timing:jitter_estimator",
1268*d9f75844SAndroid Build Coastguard Worker      "timing:timing_module",
1269*d9f75844SAndroid Build Coastguard Worker    ]
1270*d9f75844SAndroid Build Coastguard Worker    absl_deps = [
1271*d9f75844SAndroid Build Coastguard Worker      "//third_party/abseil-cpp/absl/memory",
1272*d9f75844SAndroid Build Coastguard Worker      "//third_party/abseil-cpp/absl/types:optional",
1273*d9f75844SAndroid Build Coastguard Worker      "//third_party/abseil-cpp/absl/types:variant",
1274*d9f75844SAndroid Build Coastguard Worker    ]
1275*d9f75844SAndroid Build Coastguard Worker    if (rtc_build_libvpx) {
1276*d9f75844SAndroid Build Coastguard Worker      deps += [ rtc_libvpx_dir ]
1277*d9f75844SAndroid Build Coastguard Worker    }
1278*d9f75844SAndroid Build Coastguard Worker  }
1279*d9f75844SAndroid Build Coastguard Worker}
1280