ilnik | d60d06a | 2017-04-05 03:02:20 -0700 | [diff] [blame] | 1 | # Copyright (c) 2017 The WebRTC project authors. All Rights Reserved. |
| 2 | # |
| 3 | # Use of this source code is governed by a BSD-style license |
| 4 | # that can be found in the LICENSE file in the root of the source |
| 5 | # tree. An additional intellectual property rights grant can be found |
| 6 | # in the file PATENTS. All contributing project authors may |
| 7 | # be found in the AUTHORS file in the root of the source tree. |
| 8 | |
| 9 | import("../../webrtc.gni") |
| 10 | if (is_android) { |
| 11 | import("//build/config/android/config.gni") |
| 12 | import("//build/config/android/rules.gni") |
| 13 | } |
| 14 | |
Mirko Bonadei | 86d053c | 2019-10-17 21:32:04 +0200 | [diff] [blame] | 15 | rtc_library("video_codecs_api") { |
Per Kjellander | a7f2d84 | 2018-01-10 15:54:53 +0000 | [diff] [blame] | 16 | visibility = [ "*" ] |
ilnik | d60d06a | 2017-04-05 03:02:20 -0700 | [diff] [blame] | 17 | sources = [ |
Johannes Kron | c3fcee7 | 2021-04-19 09:09:26 +0200 | [diff] [blame] | 18 | "h264_profile_level_id.cc", |
| 19 | "h264_profile_level_id.h", |
Niels Möller | be682d4 | 2018-03-27 08:31:45 +0200 | [diff] [blame] | 20 | "sdp_video_format.cc", |
andersc | 063f0c0 | 2017-09-11 11:50:51 -0700 | [diff] [blame] | 21 | "sdp_video_format.h", |
Niels Möller | 5b69aa6 | 2020-08-14 15:32:14 +0200 | [diff] [blame] | 22 | "spatial_layer.cc", |
| 23 | "spatial_layer.h", |
Niels Möller | a46bd4b | 2018-06-08 14:03:44 +0200 | [diff] [blame] | 24 | "video_codec.cc", |
Niels Möller | 802506c | 2018-05-31 10:44:51 +0200 | [diff] [blame] | 25 | "video_codec.h", |
Niels Möller | be682d4 | 2018-03-27 08:31:45 +0200 | [diff] [blame] | 26 | "video_decoder.cc", |
ilnik | d60d06a | 2017-04-05 03:02:20 -0700 | [diff] [blame] | 27 | "video_decoder.h", |
Magnus Jedvert | d4b0c05 | 2017-09-14 10:24:54 +0200 | [diff] [blame] | 28 | "video_decoder_factory.h", |
mflodman | 351424e | 2017-08-10 02:43:14 -0700 | [diff] [blame] | 29 | "video_encoder.cc", |
ilnik | d60d06a | 2017-04-05 03:02:20 -0700 | [diff] [blame] | 30 | "video_encoder.h", |
Niels Möller | 0a8f435 | 2018-05-18 11:37:23 +0200 | [diff] [blame] | 31 | "video_encoder_config.cc", |
| 32 | "video_encoder_config.h", |
Magnus Jedvert | d4b0c05 | 2017-09-14 10:24:54 +0200 | [diff] [blame] | 33 | "video_encoder_factory.h", |
Elad Alon | de3360e | 2019-03-06 21:14:54 +0100 | [diff] [blame] | 34 | "vp8_frame_buffer_controller.h", |
Elad Alon | 411b49b | 2019-01-29 14:05:55 +0100 | [diff] [blame] | 35 | "vp8_frame_config.cc", |
| 36 | "vp8_frame_config.h", |
Elad Alon | cde8ab2 | 2019-03-20 11:56:20 +0100 | [diff] [blame] | 37 | "vp8_temporal_layers.cc", |
Erik Språng | 4529fbc | 2018-10-12 10:30:31 +0200 | [diff] [blame] | 38 | "vp8_temporal_layers.h", |
Johannes Kron | c3fcee7 | 2021-04-19 09:09:26 +0200 | [diff] [blame] | 39 | "vp9_profile.cc", |
| 40 | "vp9_profile.h", |
ilnik | d60d06a | 2017-04-05 03:02:20 -0700 | [diff] [blame] | 41 | ] |
| 42 | |
| 43 | deps = [ |
Elad Alon | 8f01c4e | 2019-06-28 15:19:43 +0200 | [diff] [blame] | 44 | "..:fec_controller_api", |
Mirko Bonadei | d970807 | 2019-01-25 20:26:48 +0100 | [diff] [blame] | 45 | "..:scoped_refptr", |
Johannes Kron | 20ee02c | 2021-04-20 15:53:52 +0200 | [diff] [blame] | 46 | "../../api:array_view", |
Elad Alon | 411b49b | 2019-01-29 14:05:55 +0100 | [diff] [blame] | 47 | "../../modules/video_coding:codec_globals_headers", |
Patrik Höglund | a8005cf | 2017-12-13 16:05:42 +0100 | [diff] [blame] | 48 | "../../rtc_base:checks", |
ehmaldonado | f6a861a | 2017-07-19 10:40:47 -0700 | [diff] [blame] | 49 | "../../rtc_base:rtc_base_approved", |
Mirko Bonadei | 276827c | 2018-10-16 14:13:50 +0200 | [diff] [blame] | 50 | "../../rtc_base/system:rtc_export", |
Erik Språng | 4d9df38 | 2019-03-27 15:00:43 +0100 | [diff] [blame] | 51 | "../units:data_rate", |
Niels Möller | 4dc66c5 | 2018-10-05 14:17:58 +0200 | [diff] [blame] | 52 | "../video:encoded_image", |
Erik Språng | ec47565 | 2018-05-15 15:12:55 +0200 | [diff] [blame] | 53 | "../video:video_bitrate_allocation", |
Erik Språng | f93eda1 | 2019-01-16 17:10:57 +0100 | [diff] [blame] | 54 | "../video:video_codec_constants", |
Niels Möller | c6ce9c5 | 2018-05-11 11:15:30 +0200 | [diff] [blame] | 55 | "../video:video_frame", |
Chen Xing | 5d24b16 | 2019-06-10 12:59:38 +0200 | [diff] [blame] | 56 | "../video:video_rtp_headers", |
Mirko Bonadei | 2dcf348 | 2020-06-05 14:30:41 +0200 | [diff] [blame] | 57 | ] |
| 58 | absl_deps = [ |
Steve Anton | a59dcc3 | 2019-03-25 13:53:07 -0700 | [diff] [blame] | 59 | "//third_party/abseil-cpp/absl/algorithm:container", |
Erik Språng | dbdd839 | 2019-01-17 15:27:50 +0100 | [diff] [blame] | 60 | "//third_party/abseil-cpp/absl/container:inlined_vector", |
Niels Möller | 3c7d599 | 2018-10-19 15:29:54 +0200 | [diff] [blame] | 61 | "//third_party/abseil-cpp/absl/strings", |
Danil Chapovalov | 0bc58cf | 2018-06-21 13:32:56 +0200 | [diff] [blame] | 62 | "//third_party/abseil-cpp/absl/types:optional", |
ilnik | d60d06a | 2017-04-05 03:02:20 -0700 | [diff] [blame] | 63 | ] |
| 64 | } |
Anders Carlsson | 6753795 | 2018-05-03 11:28:29 +0200 | [diff] [blame] | 65 | |
Kári Tristan Helgason | b163359 | 2019-03-22 11:19:08 +0100 | [diff] [blame] | 66 | rtc_source_set("bitstream_parser_api") { |
| 67 | visibility = [ "*" ] |
Danil Chapovalov | 64f1f3f | 2020-01-16 14:41:10 +0100 | [diff] [blame] | 68 | sources = [ "bitstream_parser.h" ] |
| 69 | deps = [ "..:array_view" ] |
Kári Tristan Helgason | b163359 | 2019-03-22 11:19:08 +0100 | [diff] [blame] | 70 | } |
| 71 | |
Mirko Bonadei | 86d053c | 2019-10-17 21:32:04 +0200 | [diff] [blame] | 72 | rtc_library("builtin_video_decoder_factory") { |
Anders Carlsson | 6753795 | 2018-05-03 11:28:29 +0200 | [diff] [blame] | 73 | visibility = [ "*" ] |
| 74 | allow_poison = [ |
| 75 | "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove. |
| 76 | "software_video_codecs", |
| 77 | ] |
| 78 | sources = [ |
| 79 | "builtin_video_decoder_factory.cc", |
| 80 | "builtin_video_decoder_factory.h", |
| 81 | ] |
| 82 | |
| 83 | deps = [ |
| 84 | ":video_codecs_api", |
Mirko Bonadei | d970807 | 2019-01-25 20:26:48 +0100 | [diff] [blame] | 85 | "../../api:scoped_refptr", |
Anders Carlsson | 6753795 | 2018-05-03 11:28:29 +0200 | [diff] [blame] | 86 | "../../media:rtc_internal_video_codecs", |
Mirko Bonadei | ac19414 | 2018-10-22 17:08:37 +0200 | [diff] [blame] | 87 | "../../rtc_base/system:rtc_export", |
Anders Carlsson | 6753795 | 2018-05-03 11:28:29 +0200 | [diff] [blame] | 88 | ] |
| 89 | } |
| 90 | |
Mirko Bonadei | 86d053c | 2019-10-17 21:32:04 +0200 | [diff] [blame] | 91 | rtc_library("builtin_video_encoder_factory") { |
Anders Carlsson | 6753795 | 2018-05-03 11:28:29 +0200 | [diff] [blame] | 92 | visibility = [ "*" ] |
| 93 | allow_poison = [ |
| 94 | "audio_codecs", # TODO(bugs.webrtc.org/8396): Remove. |
| 95 | "software_video_codecs", |
| 96 | ] |
| 97 | sources = [ |
| 98 | "builtin_video_encoder_factory.cc", |
| 99 | "builtin_video_encoder_factory.h", |
| 100 | ] |
| 101 | |
| 102 | deps = [ |
| 103 | ":video_codecs_api", |
Mirko Bonadei | d970807 | 2019-01-25 20:26:48 +0100 | [diff] [blame] | 104 | "../../api:scoped_refptr", |
Florent Castelli | e7862cc | 2018-12-06 13:38:24 +0100 | [diff] [blame] | 105 | "../../media:rtc_encoder_simulcast_proxy", |
Anders Carlsson | 6753795 | 2018-05-03 11:28:29 +0200 | [diff] [blame] | 106 | "../../media:rtc_internal_video_codecs", |
| 107 | "../../media:rtc_media_base", |
Yves Gerey | 3e70781 | 2018-11-28 16:47:49 +0100 | [diff] [blame] | 108 | "../../rtc_base:checks", |
Mirko Bonadei | ac19414 | 2018-10-22 17:08:37 +0200 | [diff] [blame] | 109 | "../../rtc_base/system:rtc_export", |
Anders Carlsson | 6753795 | 2018-05-03 11:28:29 +0200 | [diff] [blame] | 110 | ] |
Mirko Bonadei | 2dcf348 | 2020-06-05 14:30:41 +0200 | [diff] [blame] | 111 | absl_deps = [ "//third_party/abseil-cpp/absl/strings" ] |
Anders Carlsson | 6753795 | 2018-05-03 11:28:29 +0200 | [diff] [blame] | 112 | } |
Anders Carlsson | dd3e0ab | 2018-06-12 11:15:56 +0200 | [diff] [blame] | 113 | |
Mirko Bonadei | 86d053c | 2019-10-17 21:32:04 +0200 | [diff] [blame] | 114 | rtc_library("vp8_temporal_layers_factory") { |
Erik Språng | 4529fbc | 2018-10-12 10:30:31 +0200 | [diff] [blame] | 115 | visibility = [ "*" ] |
| 116 | allow_poison = [ "software_video_codecs" ] |
| 117 | sources = [ |
Elad Alon | cde8ab2 | 2019-03-20 11:56:20 +0100 | [diff] [blame] | 118 | "vp8_temporal_layers_factory.cc", |
| 119 | "vp8_temporal_layers_factory.h", |
Erik Språng | 4529fbc | 2018-10-12 10:30:31 +0200 | [diff] [blame] | 120 | ] |
| 121 | |
| 122 | deps = [ |
| 123 | ":video_codecs_api", |
Elad Alon | 45befc5 | 2019-07-02 11:20:09 +0200 | [diff] [blame] | 124 | "../:fec_controller_api", |
Elad Alon | cde8ab2 | 2019-03-20 11:56:20 +0100 | [diff] [blame] | 125 | "../../modules/video_coding:video_coding_utility", |
Erik Språng | 4529fbc | 2018-10-12 10:30:31 +0200 | [diff] [blame] | 126 | "../../modules/video_coding:webrtc_vp8_temporal_layers", |
Elad Alon | cde8ab2 | 2019-03-20 11:56:20 +0100 | [diff] [blame] | 127 | "../../rtc_base:checks", |
Erik Språng | 4529fbc | 2018-10-12 10:30:31 +0200 | [diff] [blame] | 128 | ] |
| 129 | } |
| 130 | |
Mirko Bonadei | 86d053c | 2019-10-17 21:32:04 +0200 | [diff] [blame] | 131 | rtc_library("rtc_software_fallback_wrappers") { |
Anders Carlsson | dd3e0ab | 2018-06-12 11:15:56 +0200 | [diff] [blame] | 132 | visibility = [ "*" ] |
| 133 | |
| 134 | sources = [ |
| 135 | "video_decoder_software_fallback_wrapper.cc", |
| 136 | "video_decoder_software_fallback_wrapper.h", |
| 137 | "video_encoder_software_fallback_wrapper.cc", |
| 138 | "video_encoder_software_fallback_wrapper.h", |
| 139 | ] |
| 140 | |
Anders Carlsson | dd3e0ab | 2018-06-12 11:15:56 +0200 | [diff] [blame] | 141 | deps = [ |
| 142 | ":video_codecs_api", |
Elad Alon | 8f01c4e | 2019-06-28 15:19:43 +0200 | [diff] [blame] | 143 | "..:fec_controller_api", |
Ilya Nikolaevskiy | 38e9b06 | 2020-10-08 14:36:33 +0000 | [diff] [blame] | 144 | "../../api/video:video_frame", |
Anders Carlsson | dd3e0ab | 2018-06-12 11:15:56 +0200 | [diff] [blame] | 145 | "../../media:rtc_media_base", |
| 146 | "../../modules/video_coding:video_codec_interface", |
Erik Språng | 261f792 | 2020-01-31 13:51:12 +0100 | [diff] [blame] | 147 | "../../modules/video_coding:video_coding_utility", |
Anders Carlsson | dd3e0ab | 2018-06-12 11:15:56 +0200 | [diff] [blame] | 148 | "../../rtc_base:checks", |
| 149 | "../../rtc_base:rtc_base_approved", |
Mirko Bonadei | 66e7679 | 2019-04-02 11:33:59 +0200 | [diff] [blame] | 150 | "../../rtc_base/system:rtc_export", |
Mirko Bonadei | 17f4878 | 2018-09-28 08:51:10 +0200 | [diff] [blame] | 151 | "../../system_wrappers:field_trial", |
Johannes Kron | 5703303 | 2020-03-17 10:01:43 +0100 | [diff] [blame] | 152 | "../../system_wrappers:metrics", |
Yves Gerey | 3e70781 | 2018-11-28 16:47:49 +0100 | [diff] [blame] | 153 | "../video:encoded_image", |
Anders Carlsson | dd3e0ab | 2018-06-12 11:15:56 +0200 | [diff] [blame] | 154 | "../video:video_bitrate_allocation", |
Yves Gerey | 3e70781 | 2018-11-28 16:47:49 +0100 | [diff] [blame] | 155 | "../video:video_frame", |
Chen Xing | 5d24b16 | 2019-06-10 12:59:38 +0200 | [diff] [blame] | 156 | "../video:video_rtp_headers", |
Mirko Bonadei | 2dcf348 | 2020-06-05 14:30:41 +0200 | [diff] [blame] | 157 | ] |
| 158 | absl_deps = [ |
Danil Chapovalov | 64f1f3f | 2020-01-16 14:41:10 +0100 | [diff] [blame] | 159 | "//third_party/abseil-cpp/absl/base:core_headers", |
Mirko Bonadei | 06d3559 | 2020-04-01 13:43:08 +0200 | [diff] [blame] | 160 | "//third_party/abseil-cpp/absl/strings", |
Yves Gerey | 3e70781 | 2018-11-28 16:47:49 +0100 | [diff] [blame] | 161 | "//third_party/abseil-cpp/absl/types:optional", |
Anders Carlsson | dd3e0ab | 2018-06-12 11:15:56 +0200 | [diff] [blame] | 162 | ] |
| 163 | } |