From 51e23aed9ee0eedf0028c03004348ff1ba574366 Mon Sep 17 00:00:00 2001 From: Anders Carlsson Date: Thu, 24 May 2018 13:31:30 +0200 Subject: [PATCH] Remove built-in sw codecs from decoder_database. All decoders are injectable, no need to create built-in codecs from there. Bug: webrtc:7925 Change-Id: Iabf3d59a8e4d721ad29386acbf138b7e5992ce5e Reviewed-on: https://webrtc-review.googlesource.com/72441 Reviewed-by: Rasmus Brandt Commit-Queue: Anders Carlsson Cr-Commit-Position: refs/heads/master@{#23397} --- api/BUILD.gn | 1 - api/video/BUILD.gn | 1 - modules/video_coding/BUILD.gn | 10 ------- modules/video_coding/decoder_database.cc | 38 ------------------------ video/BUILD.gn | 2 +- 5 files changed, 1 insertion(+), 51 deletions(-) diff --git a/api/BUILD.gn b/api/BUILD.gn index 09a13d1e55..701fe19ac8 100644 --- a/api/BUILD.gn +++ b/api/BUILD.gn @@ -257,7 +257,6 @@ rtc_source_set("video_stream_decoder") { # Delete after downstream users are updated. rtc_source_set("video_stream_decoder_create") { visibility = [ "*" ] - allow_poison = [ "software_video_codecs" ] # TODO(bugs.webrtc.org/7925): Remove. public_deps = [ # no-presubmit-check TODO(webrtc:8603) "video:video_stream_decoder_create", diff --git a/api/video/BUILD.gn b/api/video/BUILD.gn index 0b34945b4d..ec07584fa4 100644 --- a/api/video/BUILD.gn +++ b/api/video/BUILD.gn @@ -90,7 +90,6 @@ rtc_source_set("video_stream_decoder") { rtc_source_set("video_stream_decoder_create") { visibility = [ "*" ] - allow_poison = [ "software_video_codecs" ] # TODO(bugs.webrtc.org/7925): Remove. sources = [ "video_stream_decoder_create.cc", "video_stream_decoder_create.h", diff --git a/modules/video_coding/BUILD.gn b/modules/video_coding/BUILD.gn index d1909b415f..548225f7d5 100644 --- a/modules/video_coding/BUILD.gn +++ b/modules/video_coding/BUILD.gn @@ -38,7 +38,6 @@ rtc_static_library("encoded_frame") { rtc_static_library("video_coding") { visibility = [ "*" ] - allow_poison = [ "software_video_codecs" ] # TODO(bugs.webrtc.org/7925): Remove. deps = [] sources = [ @@ -119,20 +118,11 @@ rtc_static_library("video_coding") { suppressed_configs += [ "//build/config/clang:find_bad_constructs" ] } - if (rtc_use_builtin_sw_codecs) { - deps += [ - ":webrtc_i420", - ":webrtc_vp8", - ":webrtc_vp9", - ] - } - deps += [ ":codec_globals_headers", ":encoded_frame", ":video_codec_interface", ":video_coding_utility", - ":webrtc_h264", ":webrtc_vp8_helpers", ":webrtc_vp9_helpers", "..:module_api", diff --git a/modules/video_coding/decoder_database.cc b/modules/video_coding/decoder_database.cc index 87609b84ba..692de8ac7b 100644 --- a/modules/video_coding/decoder_database.cc +++ b/modules/video_coding/decoder_database.cc @@ -9,44 +9,11 @@ */ #include "modules/video_coding/decoder_database.h" -#if defined(USE_BUILTIN_SW_CODECS) -#include "modules/video_coding/codecs/h264/include/h264.h" -#include "modules/video_coding/codecs/i420/include/i420.h" // nogncheck -#include "modules/video_coding/codecs/vp8/include/vp8.h" // nogncheck -#include "modules/video_coding/codecs/vp9/include/vp9.h" // nogncheck -#endif #include "rtc_base/checks.h" #include "rtc_base/logging.h" namespace webrtc { -#if defined(USE_BUILTIN_SW_CODECS) -// Create an internal Decoder given a codec type -static std::unique_ptr CreateDecoder(VideoCodecType type) { - switch (type) { - case kVideoCodecVP8: - return std::unique_ptr( - new VCMGenericDecoder(VP8Decoder::Create())); - case kVideoCodecVP9: - return std::unique_ptr( - new VCMGenericDecoder(VP9Decoder::Create())); - case kVideoCodecI420: - return std::unique_ptr( - new VCMGenericDecoder(new I420Decoder())); - case kVideoCodecH264: - if (H264Decoder::IsSupported()) { - return std::unique_ptr( - new VCMGenericDecoder(H264Decoder::Create())); - } - break; - default: - break; - } - RTC_LOG(LS_WARNING) << "No internal decoder of this type exists."; - return std::unique_ptr(); -} -#endif - VCMDecoderMapItem::VCMDecoderMapItem(VideoCodec* settings, int number_of_cores, bool require_key_frame) @@ -196,12 +163,7 @@ std::unique_ptr VCMDecoderDataBase::CreateAndInitDecoder( ptr_decoder.reset(new VCMGenericDecoder( external_dec_item->external_decoder_instance, true)); } else { -#if !defined(USE_BUILTIN_SW_CODECS) RTC_LOG(LS_ERROR) << "No decoder of this type exists."; -#else - // Create decoder. - ptr_decoder = CreateDecoder(decoder_item->settings->codecType); -#endif } if (!ptr_decoder) return nullptr; diff --git a/video/BUILD.gn b/video/BUILD.gn index 2ef8473825..d18f3342e1 100644 --- a/video/BUILD.gn +++ b/video/BUILD.gn @@ -112,7 +112,7 @@ rtc_static_library("video") { rtc_source_set("video_stream_decoder_impl") { visibility = [ "*" ] - allow_poison = [ "software_video_codecs" ] # TODO(bugs.webrtc.org/7925): Remove. + sources = [ "video_stream_decoder_impl.cc", "video_stream_decoder_impl.h",