blob: 55674d09010a98eda9a236b66b8c42ee4dcf2db6 [file] [log] [blame]
ilnikd60d06a2017-04-05 03:02:20 -07001# Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS. All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
9import("../../webrtc.gni")
10if (is_android) {
11 import("//build/config/android/config.gni")
12 import("//build/config/android/rules.gni")
13}
14
15rtc_source_set("video_codecs_api") {
Per Kjellandera7f2d842018-01-10 15:54:53 +000016 visibility = [ "*" ]
ilnikd60d06a2017-04-05 03:02:20 -070017 sources = [
Niels Möllerbe682d42018-03-27 08:31:45 +020018 "sdp_video_format.cc",
andersc063f0c02017-09-11 11:50:51 -070019 "sdp_video_format.h",
Niels Möllera46bd4b2018-06-08 14:03:44 +020020 "video_codec.cc",
Niels Möller802506c2018-05-31 10:44:51 +020021 "video_codec.h",
Niels Möllerbe682d42018-03-27 08:31:45 +020022 "video_decoder.cc",
ilnikd60d06a2017-04-05 03:02:20 -070023 "video_decoder.h",
Magnus Jedvert59ab3532018-09-03 18:07:56 +020024 "video_decoder_factory.cc",
Magnus Jedvertd4b0c052017-09-14 10:24:54 +020025 "video_decoder_factory.h",
mflodman351424e2017-08-10 02:43:14 -070026 "video_encoder.cc",
ilnikd60d06a2017-04-05 03:02:20 -070027 "video_encoder.h",
Niels Möller0a8f4352018-05-18 11:37:23 +020028 "video_encoder_config.cc",
29 "video_encoder_config.h",
Magnus Jedvertd4b0c052017-09-14 10:24:54 +020030 "video_encoder_factory.h",
ilnikd60d06a2017-04-05 03:02:20 -070031 ]
32
33 deps = [
ilnikd60d06a2017-04-05 03:02:20 -070034 "../..:webrtc_common",
nisseea3a7982017-05-15 02:42:11 -070035 "../../common_video",
Patrik Höglunda8005cf2017-12-13 16:05:42 +010036 "../../rtc_base:checks",
ehmaldonadof6a861a2017-07-19 10:40:47 -070037 "../../rtc_base:rtc_base_approved",
Erik Språngec475652018-05-15 15:12:55 +020038 "../video:video_bitrate_allocation",
Niels Möllerc6ce9c52018-05-11 11:15:30 +020039 "../video:video_frame",
Danil Chapovalov0bc58cf2018-06-21 13:32:56 +020040 "//third_party/abseil-cpp/absl/types:optional",
ilnikd60d06a2017-04-05 03:02:20 -070041 ]
42}
Anders Carlsson67537952018-05-03 11:28:29 +020043
44rtc_static_library("builtin_video_decoder_factory") {
45 visibility = [ "*" ]
46 allow_poison = [
47 "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
48 "software_video_codecs",
49 ]
50 sources = [
51 "builtin_video_decoder_factory.cc",
52 "builtin_video_decoder_factory.h",
53 ]
54
55 deps = [
56 ":video_codecs_api",
57 "../../media:rtc_internal_video_codecs",
58 "../../rtc_base:ptr_util",
Karl Wiberg918f50c2018-07-05 11:40:33 +020059 "//third_party/abseil-cpp/absl/memory",
Anders Carlsson67537952018-05-03 11:28:29 +020060 ]
61}
62
63rtc_static_library("builtin_video_encoder_factory") {
64 visibility = [ "*" ]
65 allow_poison = [
66 "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove.
67 "software_video_codecs",
68 ]
69 sources = [
70 "builtin_video_encoder_factory.cc",
71 "builtin_video_encoder_factory.h",
72 ]
73
74 deps = [
75 ":video_codecs_api",
76 "../../media:rtc_internal_video_codecs",
77 "../../media:rtc_media_base",
78 "../../rtc_base:ptr_util",
Karl Wiberg918f50c2018-07-05 11:40:33 +020079 "//third_party/abseil-cpp/absl/memory",
Anders Carlsson67537952018-05-03 11:28:29 +020080 ]
81}
Anders Carlssondd3e0ab2018-06-12 11:15:56 +020082
83rtc_static_library("rtc_software_fallback_wrappers") {
84 visibility = [ "*" ]
85
86 sources = [
87 "video_decoder_software_fallback_wrapper.cc",
88 "video_decoder_software_fallback_wrapper.h",
89 "video_encoder_software_fallback_wrapper.cc",
90 "video_encoder_software_fallback_wrapper.h",
91 ]
92
93 if (!build_with_chromium && is_clang) {
94 # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
95 suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
96 }
97
98 deps = [
99 ":video_codecs_api",
100 "../../media:rtc_h264_profile_id",
101 "../../media:rtc_media_base",
102 "../../modules/video_coding:video_codec_interface",
103 "../../rtc_base:checks",
104 "../../rtc_base:rtc_base_approved",
105 "../../rtc_base/system:fallthrough",
Mirko Bonadei17f48782018-09-28 08:51:10 +0200106 "../../system_wrappers:field_trial",
Anders Carlssondd3e0ab2018-06-12 11:15:56 +0200107 "../video:video_bitrate_allocation",
Karl Wiberg918f50c2018-07-05 11:40:33 +0200108 "//third_party/abseil-cpp/absl/memory",
Anders Carlssondd3e0ab2018-06-12 11:15:56 +0200109 ]
110}