diff --git a/api/test/videocodec_test_fixture.h b/api/test/videocodec_test_fixture.h index 817ce05a79..ec69e50ae1 100644 --- a/api/test/videocodec_test_fixture.h +++ b/api/test/videocodec_test_fixture.h @@ -125,13 +125,6 @@ class VideoCodecTestFixture { bool hw_encoder = false; bool hw_decoder = false; - // Should the encoder be wrapped in a SimulcastEncoderAdapter? - bool simulcast_adapted_encoder = false; - - // Should the hardware codecs be wrapped in software fallbacks? - bool sw_fallback_encoder = false; - bool sw_fallback_decoder = false; - // Custom checker that will be called for each frame. const EncodedFrameChecker* encoded_frame_checker = nullptr; diff --git a/modules/video_coding/BUILD.gn b/modules/video_coding/BUILD.gn index 548225f7d5..5e5e8c3f09 100644 --- a/modules/video_coding/BUILD.gn +++ b/modules/video_coding/BUILD.gn @@ -660,10 +660,7 @@ if (rtc_include_tests) { deps = [ ":video_codec_interface", ":video_codecs_test_framework", - ":video_coding", ":video_coding_utility", - ":webrtc_multiplex", - ":webrtc_vp8_helpers", ":webrtc_vp9_helpers", "../..:webrtc_common", "../../api:videocodec_test_fixture_api", @@ -673,10 +670,11 @@ if (rtc_include_tests) { "../../media:rtc_audio_video", "../../media:rtc_h264_profile_id", "../../media:rtc_internal_video_codecs", - "../../media:rtc_software_fallback_wrappers", + "../../media:rtc_media_base", "../../rtc_base:checks", - "../../rtc_base:rtc_base", + "../../rtc_base:rtc_base_approved", "../../rtc_base:rtc_base_tests_utils", + "../../rtc_base:rtc_event", "../../rtc_base:rtc_task_queue_for_test", "../../system_wrappers", "../../test:fileutils", @@ -728,8 +726,10 @@ if (rtc_include_tests) { "../../media:rtc_h264_profile_id", "../../media:rtc_internal_video_codecs", "../../media:rtc_media_base", + "../../media:rtc_software_fallback_wrappers", "../../rtc_base:rtc_base", "../../test:fileutils", + "../../test:test_common", "../../test:test_support", "../../test:video_test_common", "../rtp_rtcp:rtp_rtcp_format", diff --git a/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc b/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc index 575c97e0fc..7a69768826 100644 --- a/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc +++ b/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc @@ -18,16 +18,12 @@ #include "call/video_config.h" #include "common_types.h" // NOLINT(build/include) #include "media/base/h264_profile_level_id.h" +#include "media/base/mediaconstants.h" #include "media/engine/internaldecoderfactory.h" #include "media/engine/internalencoderfactory.h" #include "media/engine/simulcast.h" -#include "media/engine/simulcast_encoder_adapter.h" -#include "media/engine/videodecodersoftwarefallbackwrapper.h" -#include "media/engine/videoencodersoftwarefallbackwrapper.h" -#include "modules/video_coding/codecs/vp8/include/vp8_common_types.h" #include "modules/video_coding/codecs/vp9/svc_config.h" #include "modules/video_coding/include/video_codec_interface.h" -#include "modules/video_coding/include/video_coding.h" #include "rtc_base/checks.h" #include "rtc_base/cpu_time.h" #include "rtc_base/event.h" @@ -559,39 +555,17 @@ void VideoCodecTestFixtureImpl::CreateEncoderAndDecoder() { params = {}; } SdpVideoFormat format(config_.codec_name); - if (config_.simulcast_adapted_encoder) { - EXPECT_EQ("VP8", format.name); - encoder_.reset(new SimulcastEncoderAdapter(encoder_factory_.get(), format)); - } else { - encoder_ = encoder_factory_->CreateVideoEncoder(format); - } + + encoder_ = encoder_factory_->CreateVideoEncoder(format); + EXPECT_TRUE(encoder_) << "Encoder not successfully created."; const size_t num_simulcast_or_spatial_layers = std::max( config_.NumberOfSimulcastStreams(), config_.NumberOfSpatialLayers()); - for (size_t i = 0; i < num_simulcast_or_spatial_layers; ++i) { decoders_.push_back(std::unique_ptr( decoder_factory_->CreateVideoDecoder(format))); } - if (config_.sw_fallback_encoder) { - EXPECT_FALSE(config_.simulcast_adapted_encoder) - << "SimulcastEncoderAdapter and VideoEncoderSoftwareFallbackWrapper " - "are not jointly supported."; - encoder_ = rtc::MakeUnique( - InternalEncoderFactory().CreateVideoEncoder(format), - std::move(encoder_)); - } - if (config_.sw_fallback_decoder) { - for (auto& decoder : decoders_) { - decoder = rtc::MakeUnique( - InternalDecoderFactory().CreateVideoDecoder(format), - std::move(decoder)); - } - } - - EXPECT_TRUE(encoder_) << "Encoder not successfully created."; - for (const auto& decoder : decoders_) { EXPECT_TRUE(decoder) << "Decoder not successfully created."; } diff --git a/modules/video_coding/codecs/test/videocodec_test_libvpx.cc b/modules/video_coding/codecs/test/videocodec_test_libvpx.cc index 700b8635bc..be8ef4c923 100644 --- a/modules/video_coding/codecs/test/videocodec_test_libvpx.cc +++ b/modules/video_coding/codecs/test/videocodec_test_libvpx.cc @@ -11,10 +11,15 @@ #include #include "api/test/create_videocodec_test_fixture.h" +#include "api/video_codecs/sdp_video_format.h" #include "media/base/mediaconstants.h" +#include "media/engine/internaldecoderfactory.h" +#include "media/engine/internalencoderfactory.h" +#include "media/engine/simulcast_encoder_adapter.h" #include "modules/video_coding/utility/vp8_header_parser.h" #include "modules/video_coding/utility/vp9_uncompressed_header_parser.h" #include "rtc_base/ptr_util.h" +#include "test/function_video_encoder_factory.h" #include "test/gtest.h" #include "test/testsupport/fileutils.h" @@ -374,12 +379,23 @@ TEST(VideoCodecTestLibvpx, MAYBE_SimulcastVP8) { config.filename = "ConferenceMotion_1280_720_50"; config.filepath = ResourcePath(config.filename, "yuv"); config.num_frames = 100; - config.simulcast_adapted_encoder = true; config.SetCodecSettings(cricket::kVp8CodecName, 3, 1, 3, true, true, false, 1280, 720); const auto frame_checker = rtc::MakeUnique(); config.encoded_frame_checker = frame_checker.get(); - auto fixture = CreateVideoCodecTestFixture(config); + + InternalEncoderFactory internal_encoder_factory; + std::unique_ptr adapted_encoder_factory = + rtc::MakeUnique([&]() { + return rtc::MakeUnique( + &internal_encoder_factory, SdpVideoFormat(cricket::kVp8CodecName)); + }); + std::unique_ptr internal_decoder_factory( + new InternalDecoderFactory()); + + auto fixture = + CreateVideoCodecTestFixture(config, std::move(internal_decoder_factory), + std::move(adapted_encoder_factory)); std::vector rate_profiles = {{1500, 30, config.num_frames}};