Reland "Reland "Put internal video codec factories into separate target""

This is a reland of 0efd1e8b7e69900a6a516a176f1ab69d0e6b8a26
Original change's description:
> Reland "Put internal video codec factories into separate target"
> 
> This is a reland of 51698aefd4925f2dfa0310a321f836d433fa9258
> Original change's description:
> > 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}
> 
> Bug: webrtc:7925
> Change-Id: I105287fd41ec3ee5bd964b94efcc9c7b3ecdb842
> Reviewed-on: https://webrtc-review.googlesource.com/35261
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21389}

Bug: webrtc:7925
Change-Id: Id1c7f270676e9e4ca57ca8aa1305cf5554290754
Reviewed-on: https://webrtc-review.googlesource.com/35501
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21464}
This commit is contained in:
Anders Carlsson 2018-01-02 10:16:26 +01:00 committed by Commit Bot
parent 5f99e65679
commit 727b7d0470
6 changed files with 123 additions and 39 deletions

View File

@ -672,6 +672,7 @@ if (is_win || is_android) {
"../api:video_frame_api",
"../api/audio_codecs:builtin_audio_decoder_factory",
"../api/audio_codecs:builtin_audio_encoder_factory",
"../media:rtc_internal_video_codecs",
"../media:rtc_media",
"../media:rtc_media_base",
"../modules/audio_device:audio_device",

View File

@ -126,35 +126,28 @@ rtc_static_library("rtc_media_base") {
}
}
rtc_static_library("rtc_audio_video") {
rtc_static_library("rtc_constants") {
defines = []
libs = []
deps = [
"../api:video_frame_api_i420",
"../call:call_interfaces",
"../modules/video_coding:video_coding_utility",
"../rtc_base:checks",
"../rtc_base:stringutils",
"../system_wrappers:field_trial_api",
"../system_wrappers:metrics_api",
"//third_party/libyuv",
]
deps = []
sources = [
"engine/adm_helpers.cc",
"engine/adm_helpers.h",
"engine/apm_helpers.cc",
"engine/apm_helpers.h",
"engine/constants.cc",
"engine/constants.h",
]
}
rtc_static_library("rtc_internal_video_codecs") {
defines = []
libs = []
deps = []
sources = [
"engine/convert_legacy_video_factory.cc",
"engine/convert_legacy_video_factory.h",
"engine/internaldecoderfactory.cc",
"engine/internaldecoderfactory.h",
"engine/internalencoderfactory.cc",
"engine/internalencoderfactory.h",
"engine/nullwebrtcvideoengine.h",
"engine/payload_type_mapper.cc",
"engine/payload_type_mapper.h",
"engine/scopedvideodecoder.cc",
"engine/scopedvideodecoder.h",
"engine/scopedvideoencoder.cc",
@ -171,16 +164,74 @@ rtc_static_library("rtc_audio_video") {
"engine/videoencodersoftwarefallbackwrapper.h",
"engine/vp8_encoder_simulcast_proxy.cc",
"engine/vp8_encoder_simulcast_proxy.h",
"engine/webrtcvideodecoderfactory.cc",
"engine/webrtcvideodecoderfactory.h",
"engine/webrtcvideoencoderfactory.cc",
"engine/webrtcvideoencoderfactory.h",
]
configs += [ ":rtc_media_warnings_config" ]
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" ]
}
if (is_win) {
cflags = [
"/wd4245", # conversion from "int" to "size_t", signed/unsigned mismatch.
"/wd4267", # conversion from "size_t" to "int", possible loss of data.
"/wd4389", # signed/unsigned mismatch.
]
}
include_dirs = []
public_configs = []
deps += [
":rtc_constants",
":rtc_media_base",
"..:webrtc_common",
"../api:video_frame_api_i420",
"../api/video_codecs:video_codecs_api",
"../call:call_interfaces",
"../call:video_stream_api",
"../modules/video_coding:webrtc_h264",
"../modules/video_coding:webrtc_stereo",
"../modules/video_coding:webrtc_vp8",
"../modules/video_coding:webrtc_vp8_helpers",
"../modules/video_coding:webrtc_vp9",
"../rtc_base:checks",
"../rtc_base:rtc_base_approved",
"../rtc_base:sequenced_task_checker",
"../system_wrappers",
"../system_wrappers:field_trial_api",
"../system_wrappers:metrics_api",
"//third_party/libyuv",
]
}
rtc_static_library("rtc_audio_video") {
defines = []
libs = []
deps = [
"../rtc_base:checks",
]
sources = [
"engine/adm_helpers.cc",
"engine/adm_helpers.h",
"engine/apm_helpers.cc",
"engine/apm_helpers.h",
"engine/nullwebrtcvideoengine.h",
"engine/payload_type_mapper.cc",
"engine/payload_type_mapper.h",
"engine/webrtcmediaengine.cc",
"engine/webrtcmediaengine.h",
"engine/webrtcvideocapturer.cc",
"engine/webrtcvideocapturer.h",
"engine/webrtcvideocapturerfactory.cc",
"engine/webrtcvideocapturerfactory.h",
"engine/webrtcvideodecoderfactory.cc",
"engine/webrtcvideodecoderfactory.h",
"engine/webrtcvideoencoderfactory.cc",
"engine/webrtcvideoencoderfactory.h",
"engine/webrtcvideoengine.cc",
"engine/webrtcvideoengine.h",
"engine/webrtcvoe.h",
@ -230,6 +281,8 @@ rtc_static_library("rtc_audio_video") {
deps += [ "../modules/audio_processing/aec_dump:null_aec_dump_factory" ]
}
deps += [
":rtc_constants",
":rtc_internal_video_codecs",
":rtc_media_base",
"..:webrtc_common",
"../api:call_api",
@ -237,30 +290,24 @@ rtc_static_library("rtc_audio_video") {
"../api:optional",
"../api:transport_api",
"../api:video_frame_api",
"../api:video_frame_api_i420",
"../api/audio_codecs:audio_codecs_api",
"../api/video_codecs:video_codecs_api",
"../call",
"../call:call_interfaces",
"../call:video_stream_api",
"../common_video:common_video",
"../modules/audio_coding:rent_a_codec",
"../modules/audio_device:audio_device",
"../modules/audio_mixer:audio_mixer_impl",
"../modules/audio_processing:audio_processing",
"../modules/audio_processing/aec_dump",
"../modules/video_capture:video_capture_module",
"../modules/video_coding",
"../modules/video_coding:webrtc_h264",
"../modules/video_coding:webrtc_stereo",
"../modules/video_coding:webrtc_vp8",
"../modules/video_coding:webrtc_vp9",
"../p2p:rtc_p2p",
"../pc:rtc_pc_base",
"../rtc_base:rtc_base",
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_task_queue",
"../rtc_base:sequenced_task_checker",
"../rtc_base:stringutils",
"../system_wrappers",
"../video",
"../system_wrappers:field_trial_api",
"../system_wrappers:metrics_api",
"../voice_engine",
]
}
@ -378,6 +425,7 @@ if (rtc_include_tests) {
}
deps += [
":rtc_internal_video_codecs",
":rtc_media",
":rtc_media_base",
"..:webrtc_common",
@ -437,6 +485,7 @@ if (rtc_include_tests) {
defines = []
deps = [
":rtc_constants",
"../api:video_frame_api_i420",
"../modules/audio_processing:mocks",
"../pc:rtc_pc",
@ -523,6 +572,7 @@ if (rtc_include_tests) {
}
deps += [
":rtc_internal_video_codecs",
":rtc_media",
":rtc_media_base",
":rtc_media_tests_utils",
@ -540,6 +590,7 @@ if (rtc_include_tests) {
"../modules/video_coding:simulcast_test_utility",
"../modules/video_coding:video_coding_utility",
"../modules/video_coding:webrtc_vp8",
"../modules/video_coding:webrtc_vp8_helpers",
"../p2p:p2p_test_utils",
"../rtc_base:rtc_base",
"../rtc_base:rtc_base_approved",

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,6 +280,31 @@ rtc_static_library("webrtc_stereo") {
]
}
# This target includes VP8 files that may be used for any VP8 codec, internal SW or external HW.
rtc_source_set("webrtc_vp8_helpers") {
sources = [
"codecs/vp8/include/vp8_common_types.h",
"codecs/vp8/screenshare_layers.h",
"codecs/vp8/simulcast_rate_allocator.h",
"codecs/vp8/temporal_layers.h",
]
deps = [
":video_coding_utility",
"..:module_api",
"../..:webrtc_common",
"../../:typedefs",
"../../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",
]
}
# This target includes the internal SW codec.
rtc_static_library("webrtc_vp8") {
sources = [
"codecs/vp8/default_temporal_layers.cc",
@ -286,11 +312,8 @@ rtc_static_library("webrtc_vp8") {
"codecs/vp8/include/vp8.h",
"codecs/vp8/include/vp8_common_types.h",
"codecs/vp8/screenshare_layers.cc",
"codecs/vp8/screenshare_layers.h",
"codecs/vp8/simulcast_rate_allocator.cc",
"codecs/vp8/simulcast_rate_allocator.h",
"codecs/vp8/temporal_layers.cc",
"codecs/vp8/temporal_layers.h",
"codecs/vp8/vp8_impl.cc",
"codecs/vp8/vp8_impl.h",
]
@ -305,17 +328,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 +425,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 +461,7 @@ if (rtc_include_tests) {
":video_coding",
":video_coding_utility",
":webrtc_vp8",
":webrtc_vp8_helpers",
"../..:webrtc_common",
"../../:typedefs",
"../../api:video_frame_api",
@ -494,6 +518,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 +527,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 +632,7 @@ if (rtc_include_tests) {
":video_coding_utility",
":webrtc_h264",
":webrtc_vp8",
":webrtc_vp8_helpers",
":webrtc_vp9",
"..:module_api",
"../..:webrtc_common",

View File

@ -832,6 +832,7 @@ if (is_ios || is_mac) {
"../api:video_frame_api",
"../api/video_codecs:video_codecs_api",
"../common_video",
"../media:rtc_internal_video_codecs",
"../media:rtc_media",
"../media:rtc_media_base",
"../modules:module_api",

View File

@ -250,6 +250,7 @@ rtc_static_library("video_jni") {
"../../api/video_codecs:video_codecs_api",
"../../common_video:common_video",
"../../media:rtc_audio_video",
"../../media:rtc_internal_video_codecs",
"../../media:rtc_media_base",
"../../modules:module_api",
"../../modules/utility:utility",

View File

@ -84,7 +84,7 @@ rtc_static_library("video") {
"../modules/utility",
"../modules/video_coding",
"../modules/video_coding:video_coding_utility",
"../modules/video_coding:webrtc_vp8",
"../modules/video_coding:webrtc_vp8_helpers",
"../modules/video_processing",
"../rtc_base:rtc_base_approved",
"../rtc_base:rtc_numerics",
@ -107,6 +107,7 @@ if (rtc_include_tests) {
deps = [
"../logging:rtc_event_log_api",
"../media:rtc_audio_video",
"../media:rtc_internal_video_codecs",
"../modules/audio_mixer:audio_mixer_impl",
"../modules/rtp_rtcp",
"../modules/video_coding:webrtc_h264",
@ -295,6 +296,7 @@ if (rtc_include_tests) {
"../call:video_stream_api",
"../common_video",
"../logging:rtc_event_log_api",
"../media:rtc_internal_video_codecs",
"../media:rtc_media",
"../media:rtc_media_base",
"../media:rtc_media_tests_utils",
@ -308,6 +310,7 @@ if (rtc_include_tests) {
"../modules/video_coding:video_coding_utility",
"../modules/video_coding:webrtc_h264",
"../modules/video_coding:webrtc_vp8",
"../modules/video_coding:webrtc_vp8_helpers",
"../modules/video_coding:webrtc_vp9",
"../rtc_base:checks",
"../rtc_base:rate_limiter",