Put internal video codec factories into separate target

The purpose is to start splitting out the dependencies to the built-in
SW video codecs, so that clients can decide to not depend on them and
get a reduction in binary size.

Replaces https://webrtc-review.googlesource.com/c/src/+/29101

Bug: webrtc:7925
Change-Id: I46b95aaf42ead70ba78776de60600b8a66a1fe0c
Reviewed-on: https://webrtc-review.googlesource.com/33420
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21381}
This commit is contained in:
Anders Carlsson
2017-12-20 13:57:29 +01:00
committed by Commit Bot
parent 1212f1e227
commit 51698aefd4
5 changed files with 131 additions and 40 deletions

View File

@ -95,6 +95,7 @@ rtc_static_library("video_coding") {
":webrtc_i420",
":webrtc_stereo",
":webrtc_vp8",
":webrtc_vp8_helpers",
":webrtc_vp9",
"..:module_api",
"..:module_api_public",
@ -279,11 +280,9 @@ rtc_static_library("webrtc_stereo") {
]
}
rtc_static_library("webrtc_vp8") {
# This target includes VP8 files that may be used for any VP8 codec, internal SW or external HW.
rtc_static_library("webrtc_vp8_helpers") {
sources = [
"codecs/vp8/default_temporal_layers.cc",
"codecs/vp8/default_temporal_layers.h",
"codecs/vp8/include/vp8.h",
"codecs/vp8/include/vp8_common_types.h",
"codecs/vp8/screenshare_layers.cc",
"codecs/vp8/screenshare_layers.h",
@ -291,6 +290,38 @@ rtc_static_library("webrtc_vp8") {
"codecs/vp8/simulcast_rate_allocator.h",
"codecs/vp8/temporal_layers.cc",
"codecs/vp8/temporal_layers.h",
]
if (!build_with_chromium && is_clang) {
# Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
}
deps = [
":video_coding_utility",
"..:module_api",
"../..:webrtc_common",
"../../api/video_codecs:video_codecs_api",
"../../common_video",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../system_wrappers",
"../../system_wrappers:field_trial_api",
"../../system_wrappers:metrics_api",
"//:typedefs",
]
if (rtc_build_libvpx) {
deps += [ rtc_libvpx_dir ]
}
}
# This target includes the internal SW codec.
rtc_static_library("webrtc_vp8") {
sources = [
"codecs/vp8/default_temporal_layers.cc",
"codecs/vp8/default_temporal_layers.h",
"codecs/vp8/include/vp8.h",
"codecs/vp8/include/vp8_common_types.h",
"codecs/vp8/vp8_impl.cc",
"codecs/vp8/vp8_impl.h",
]
@ -305,17 +336,16 @@ rtc_static_library("webrtc_vp8") {
deps = [
":video_coding_utility",
":webrtc_vp8_helpers",
"..:module_api",
"../..:webrtc_common",
"../../:typedefs",
"../../api:optional",
"../../api:video_frame_api",
"../../api/video_codecs:video_codecs_api",
"../../common_video",
"../../rtc_base:checks",
"../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_numerics",
"../../rtc_base:sequenced_task_checker",
"../../system_wrappers",
"../../system_wrappers:field_trial_api",
"../../system_wrappers:metrics_api",
@ -403,6 +433,7 @@ if (rtc_include_tests) {
":mock_headers",
":video_coding",
":webrtc_vp8",
":webrtc_vp8_helpers",
"../../api:video_frame_api",
"../../api:video_frame_api_i420",
"../../common_video:common_video",
@ -438,6 +469,7 @@ if (rtc_include_tests) {
":video_coding",
":video_coding_utility",
":webrtc_vp8",
":webrtc_vp8_helpers",
"../..:webrtc_common",
"../../:typedefs",
"../../api:video_frame_api",
@ -494,6 +526,7 @@ if (rtc_include_tests) {
":webrtc_h264",
":webrtc_stereo",
":webrtc_vp8",
":webrtc_vp8_helpers",
":webrtc_vp9",
"../..:webrtc_common",
"../../api:mock_video_codec_factory",
@ -502,6 +535,7 @@ if (rtc_include_tests) {
"../../api:video_frame_api_i420",
"../../common_video",
"../../media:rtc_audio_video",
"../../media:rtc_internal_video_codecs",
"../../media:rtc_media_base",
"../../rtc_base:checks",
"../../rtc_base:rtc_base",
@ -606,6 +640,7 @@ if (rtc_include_tests) {
":video_coding_utility",
":webrtc_h264",
":webrtc_vp8",
":webrtc_vp8_helpers",
":webrtc_vp9",
"..:module_api",
"../..:webrtc_common",