Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(314)

Unified Diff: webrtc/video/vie_encoder_unittest.cc

Issue 2554403006: Revert of Turn off error resilience for VP9 if no spatial or temporal layers are configured and NACK is enabl… (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/modules/video_coding/video_codec_initializer.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/video/vie_encoder_unittest.cc
diff --git a/webrtc/video/vie_encoder_unittest.cc b/webrtc/video/vie_encoder_unittest.cc
index 01f01d9f363865a5699126470bc6b6cdf463ff45..71e68d3ae584e81e097d79e3c9b64a64b30a26c8 100644
--- a/webrtc/video/vie_encoder_unittest.cc
+++ b/webrtc/video/vie_encoder_unittest.cc
@@ -25,7 +25,6 @@
namespace {
const size_t kMaxPayloadLength = 1440;
const int kTargetBitrateBps = 100000;
-const unsigned char kNumSlDummy = 0;
class TestBuffer : public webrtc::I420Buffer {
public:
@@ -141,7 +140,6 @@
void ResetEncoder(const std::string& payload_name,
size_t num_streams,
size_t num_temporal_layers,
- unsigned char num_spatial_layers,
bool nack_enabled) {
video_send_config_.encoder_settings.payload_name = payload_name;
@@ -150,13 +148,6 @@
video_encoder_config.max_bitrate_bps = 1000000;
video_encoder_config.video_stream_factory =
new rtc::RefCountedObject<VideoStreamFactory>(num_temporal_layers);
- if (payload_name == "VP9") {
- VideoCodecVP9 vp9_settings = VideoEncoder::GetDefaultVp9Settings();
- vp9_settings.numberOfSpatialLayers = num_spatial_layers;
- video_encoder_config.encoder_specific_settings =
- new rtc::RefCountedObject<
- VideoEncoderConfig::Vp9EncoderSpecificSettings>(vp9_settings);
- }
ConfigureEncoder(std::move(video_encoder_config), nack_enabled);
}
@@ -437,7 +428,7 @@
const bool kNackEnabled = true;
const size_t kNumStreams = 1;
const size_t kNumTl = 1;
- ResetEncoder("VP8", kNumStreams, kNumTl, kNumSlDummy, kNackEnabled);
+ ResetEncoder("VP8", kNumStreams, kNumTl, kNackEnabled);
vie_encoder_->OnBitrateUpdated(kTargetBitrateBps, 0, 0);
// Capture a frame and wait for it to synchronize with the encoder thread.
@@ -457,7 +448,7 @@
const bool kNackEnabled = true;
const size_t kNumStreams = 2;
const size_t kNumTl = 1;
- ResetEncoder("VP8", kNumStreams, kNumTl, kNumSlDummy, kNackEnabled);
+ ResetEncoder("VP8", kNumStreams, kNumTl, kNackEnabled);
vie_encoder_->OnBitrateUpdated(kTargetBitrateBps, 0, 0);
// Capture a frame and wait for it to synchronize with the encoder thread.
@@ -477,7 +468,7 @@
const bool kNackEnabled = false;
const size_t kNumStreams = 1;
const size_t kNumTl = 1;
- ResetEncoder("VP8", kNumStreams, kNumTl, kNumSlDummy, kNackEnabled);
+ ResetEncoder("VP8", kNumStreams, kNumTl, kNackEnabled);
vie_encoder_->OnBitrateUpdated(kTargetBitrateBps, 0, 0);
// Capture a frame and wait for it to synchronize with the encoder thread.
@@ -497,7 +488,7 @@
const bool kNackEnabled = true;
const size_t kNumStreams = 1;
const size_t kNumTl = 2;
- ResetEncoder("VP8", kNumStreams, kNumTl, kNumSlDummy, kNackEnabled);
+ ResetEncoder("VP8", kNumStreams, kNumTl, kNackEnabled);
vie_encoder_->OnBitrateUpdated(kTargetBitrateBps, 0, 0);
// Capture a frame and wait for it to synchronize with the encoder thread.
@@ -510,94 +501,6 @@
EXPECT_EQ(kNumTl, fake_encoder_.codec_config().VP8()->numberOfTemporalLayers);
// Resilience is on for temporal layers.
EXPECT_EQ(kResilientStream, fake_encoder_.codec_config().VP8()->resilience);
- vie_encoder_->Stop();
-}
-
-TEST_F(ViEEncoderTest, Vp9ResilienceIsOffFor1SL1TLWithNackEnabled) {
- const bool kNackEnabled = true;
- const size_t kNumStreams = 1;
- const size_t kNumTl = 1;
- const unsigned char kNumSl = 1;
- ResetEncoder("VP9", kNumStreams, kNumTl, kNumSl, kNackEnabled);
- vie_encoder_->OnBitrateUpdated(kTargetBitrateBps, 0, 0);
-
- // Capture a frame and wait for it to synchronize with the encoder thread.
- video_source_.IncomingCapturedFrame(CreateFrame(1, nullptr));
- sink_.WaitForEncodedFrame(1);
- // The encoder have been configured once when the first frame is received.
- EXPECT_EQ(1, sink_.number_of_reconfigurations());
- EXPECT_EQ(kVideoCodecVP9, fake_encoder_.codec_config().codecType);
- EXPECT_EQ(kNumStreams, fake_encoder_.codec_config().numberOfSimulcastStreams);
- EXPECT_EQ(kNumTl, fake_encoder_.codec_config().VP9()->numberOfTemporalLayers);
- EXPECT_EQ(kNumSl, fake_encoder_.codec_config().VP9()->numberOfSpatialLayers);
- // Resilience is off for no spatial and temporal layers with nack on.
- EXPECT_FALSE(fake_encoder_.codec_config().VP9()->resilienceOn);
- vie_encoder_->Stop();
-}
-
-TEST_F(ViEEncoderTest, Vp9ResilienceIsOnFor1SL1TLWithNackDisabled) {
- const bool kNackEnabled = false;
- const size_t kNumStreams = 1;
- const size_t kNumTl = 1;
- const unsigned char kNumSl = 1;
- ResetEncoder("VP9", kNumStreams, kNumTl, kNumSl, kNackEnabled);
- vie_encoder_->OnBitrateUpdated(kTargetBitrateBps, 0, 0);
-
- // Capture a frame and wait for it to synchronize with the encoder thread.
- video_source_.IncomingCapturedFrame(CreateFrame(1, nullptr));
- sink_.WaitForEncodedFrame(1);
- // The encoder have been configured once when the first frame is received.
- EXPECT_EQ(1, sink_.number_of_reconfigurations());
- EXPECT_EQ(kVideoCodecVP9, fake_encoder_.codec_config().codecType);
- EXPECT_EQ(kNumStreams, fake_encoder_.codec_config().numberOfSimulcastStreams);
- EXPECT_EQ(kNumTl, fake_encoder_.codec_config().VP9()->numberOfTemporalLayers);
- EXPECT_EQ(kNumSl, fake_encoder_.codec_config().VP9()->numberOfSpatialLayers);
- // Resilience is on if nack is off.
- EXPECT_TRUE(fake_encoder_.codec_config().VP9()->resilienceOn);
- vie_encoder_->Stop();
-}
-
-TEST_F(ViEEncoderTest, Vp9ResilienceIsOnFor2SL1TLWithNackEnabled) {
- const bool kNackEnabled = true;
- const size_t kNumStreams = 1;
- const size_t kNumTl = 1;
- const unsigned char kNumSl = 2;
- ResetEncoder("VP9", kNumStreams, kNumTl, kNumSl, kNackEnabled);
- vie_encoder_->OnBitrateUpdated(kTargetBitrateBps, 0, 0);
-
- // Capture a frame and wait for it to synchronize with the encoder thread.
- video_source_.IncomingCapturedFrame(CreateFrame(1, nullptr));
- sink_.WaitForEncodedFrame(1);
- // The encoder have been configured once when the first frame is received.
- EXPECT_EQ(1, sink_.number_of_reconfigurations());
- EXPECT_EQ(kVideoCodecVP9, fake_encoder_.codec_config().codecType);
- EXPECT_EQ(kNumStreams, fake_encoder_.codec_config().numberOfSimulcastStreams);
- EXPECT_EQ(kNumTl, fake_encoder_.codec_config().VP9()->numberOfTemporalLayers);
- EXPECT_EQ(kNumSl, fake_encoder_.codec_config().VP9()->numberOfSpatialLayers);
- // Resilience is on for spatial layers.
- EXPECT_TRUE(fake_encoder_.codec_config().VP9()->resilienceOn);
- vie_encoder_->Stop();
-}
-
-TEST_F(ViEEncoderTest, Vp9ResilienceIsOnFor1SL2TLWithNackEnabled) {
- const bool kNackEnabled = true;
- const size_t kNumStreams = 1;
- const size_t kNumTl = 2;
- const unsigned char kNumSl = 1;
- ResetEncoder("VP9", kNumStreams, kNumTl, kNumSl, kNackEnabled);
- vie_encoder_->OnBitrateUpdated(kTargetBitrateBps, 0, 0);
-
- // Capture a frame and wait for it to synchronize with the encoder thread.
- video_source_.IncomingCapturedFrame(CreateFrame(1, nullptr));
- sink_.WaitForEncodedFrame(1);
- // The encoder have been configured once when the first frame is received.
- EXPECT_EQ(1, sink_.number_of_reconfigurations());
- EXPECT_EQ(kVideoCodecVP9, fake_encoder_.codec_config().codecType);
- EXPECT_EQ(kNumStreams, fake_encoder_.codec_config().numberOfSimulcastStreams);
- EXPECT_EQ(kNumTl, fake_encoder_.codec_config().VP9()->numberOfTemporalLayers);
- EXPECT_EQ(kNumSl, fake_encoder_.codec_config().VP9()->numberOfSpatialLayers);
- // Resilience is on for temporal layers.
- EXPECT_TRUE(fake_encoder_.codec_config().VP9()->resilienceOn);
vie_encoder_->Stop();
}
« no previous file with comments | « webrtc/modules/video_coding/video_codec_initializer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698