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

Unified Diff: webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.h

Issue 2697583002: Style fixes: VideoProcessor and corresponding integration test. (Closed)
Patch Set: asapersson comments 1. Created 3 years, 10 months 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
Index: webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.h
diff --git a/webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.h b/webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.h
index f244bea183b29ce2fdcd736cfca35e81ae0eed10..54700c1b53a255005d567aaff8af35fff2f037e3 100644
--- a/webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.h
+++ b/webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.h
@@ -16,6 +16,7 @@
#include <memory>
#include <string>
+#include "webrtc/base/checks.h"
#include "webrtc/modules/video_coding/codecs/h264/include/h264.h"
#include "webrtc/modules/video_coding/codecs/test/packet_manipulator.h"
#include "webrtc/modules/video_coding/codecs/test/videoprocessor.h"
@@ -97,9 +98,9 @@ struct RateControlMetrics {
};
#if !defined(WEBRTC_IOS)
-const int kNbrFramesShort = 100; // Some tests are run for shorter sequence.
+const int kNumFramesShort = 100;
#endif
-const int kNbrFramesLong = 299;
+const int kNumFramesLong = 299;
// Parameters from VP8 wrapper, which control target size of key frames.
const float kInitialBufferSize = 0.5f;
@@ -116,52 +117,6 @@ const float kScaleKeyFrameSize = 0.5f;
// happen when some significant regression or breakdown occurs.
class VideoProcessorIntegrationTest : public testing::Test {
protected:
- std::unique_ptr<VideoEncoder> encoder_;
- std::unique_ptr<VideoDecoder> decoder_;
- std::unique_ptr<test::FrameReader> frame_reader_;
- std::unique_ptr<test::FrameWriter> frame_writer_;
- test::PacketReader packet_reader_;
- std::unique_ptr<test::PacketManipulator> packet_manipulator_;
- test::Stats stats_;
- test::TestConfig config_;
- VideoCodec codec_settings_;
- std::unique_ptr<test::VideoProcessor> processor_;
- TemporalLayersFactory tl_factory_;
-
- // Quantities defined/updated for every encoder rate update.
- // Some quantities defined per temporal layer (at most 3 layers in this test).
- int num_frames_per_update_[3];
- float sum_frame_size_mismatch_[3];
- float sum_encoded_frame_size_[3];
- float encoding_bitrate_[3];
- float per_frame_bandwidth_[3];
- float bit_rate_layer_[3];
- float frame_rate_layer_[3];
- int num_frames_total_;
- float sum_encoded_frame_size_total_;
- float encoding_bitrate_total_;
- float perc_encoding_rate_mismatch_;
- int num_frames_to_hit_target_;
- bool encoding_rate_within_target_;
- int bit_rate_;
- int frame_rate_;
- int layer_;
- float target_size_key_frame_initial_;
- float target_size_key_frame_;
- float sum_key_frame_size_mismatch_;
- int num_key_frames_;
- float start_bitrate_;
-
- // Codec and network settings.
- VideoCodecType codec_type_;
- float packet_loss_;
- int num_temporal_layers_;
- int key_frame_interval_;
- bool error_concealment_on_;
- bool denoising_on_;
- bool frame_dropper_on_;
- bool spatial_resize_on_;
-
VideoProcessorIntegrationTest() {}
virtual ~VideoProcessorIntegrationTest() {}
@@ -230,7 +185,7 @@ class VideoProcessorIntegrationTest : public testing::Test {
config_.codec_settings->VP9()->keyFrameInterval = kBaseKeyFrameInterval;
break;
default:
- assert(false);
+ RTC_NOTREACHED();
break;
}
frame_reader_.reset(new test::FrameReaderImpl(
@@ -238,15 +193,15 @@ class VideoProcessorIntegrationTest : public testing::Test {
config_.codec_settings->height));
frame_writer_.reset(new test::FrameWriterImpl(
config_.output_filename, config_.frame_length_in_bytes));
- ASSERT_TRUE(frame_reader_->Init());
- ASSERT_TRUE(frame_writer_->Init());
+ RTC_CHECK(frame_reader_->Init());
+ RTC_CHECK(frame_writer_->Init());
packet_manipulator_.reset(new test::PacketManipulatorImpl(
&packet_reader_, config_.networking_config, config_.verbose));
processor_.reset(new test::VideoProcessorImpl(
encoder_.get(), decoder_.get(), frame_reader_.get(),
frame_writer_.get(), packet_manipulator_.get(), config_, &stats_));
- ASSERT_TRUE(processor_->Init());
+ RTC_CHECK(processor_->Init());
}
// Reset quantities after each encoder update, update the target
@@ -401,13 +356,13 @@ class VideoProcessorIntegrationTest : public testing::Test {
layer_ = 2;
}
} else {
- assert(false); // Only up to 3 layers.
+ RTC_NOTREACHED() << "Max 3 layers are supported.";
}
}
// Set the bitrate and frame rate per layer, for up to 3 layers.
void SetLayerRates() {
- assert(num_temporal_layers_ <= 3);
+ RTC_DCHECK_LE(num_temporal_layers_, 3);
for (int i = 0; i < num_temporal_layers_; i++) {
float bit_rate_ratio =
kVp8LayerRateAlloction[num_temporal_layers_ - 1][i];
@@ -452,6 +407,7 @@ class VideoProcessorIntegrationTest : public testing::Test {
target_size_key_frame_initial_ =
0.5 * kInitialBufferSize * bit_rate_layer_[0];
processor_->SetRates(bit_rate_, frame_rate_);
+
// Process each frame, up to |num_frames|.
int num_frames = rate_profile.num_frames;
int update_index = 0;
@@ -507,6 +463,7 @@ class VideoProcessorIntegrationTest : public testing::Test {
// Release encoder and decoder to make sure they have finished processing:
EXPECT_EQ(WEBRTC_VIDEO_CODEC_OK, encoder_->Release());
EXPECT_EQ(WEBRTC_VIDEO_CODEC_OK, decoder_->Release());
+
// Close the files before we start using them for SSIM/PSNR calculations.
frame_reader_->Close();
frame_writer_->Close();
@@ -616,6 +573,52 @@ class VideoProcessorIntegrationTest : public testing::Test {
rc_metrics[update_index].num_spatial_resizes = num_spatial_resizes;
rc_metrics[update_index].num_key_frames = num_key_frames;
}
+
+ std::unique_ptr<VideoEncoder> encoder_;
+ std::unique_ptr<VideoDecoder> decoder_;
+ std::unique_ptr<test::FrameReader> frame_reader_;
+ std::unique_ptr<test::FrameWriter> frame_writer_;
+ test::PacketReader packet_reader_;
+ std::unique_ptr<test::PacketManipulator> packet_manipulator_;
+ test::Stats stats_;
+ test::TestConfig config_;
+ VideoCodec codec_settings_;
+ std::unique_ptr<test::VideoProcessor> processor_;
+ TemporalLayersFactory tl_factory_;
+
+ // Quantities defined/updated for every encoder rate update.
+ // Some quantities defined per temporal layer (at most 3 layers in this test).
+ int num_frames_per_update_[3];
+ float sum_frame_size_mismatch_[3];
+ float sum_encoded_frame_size_[3];
+ float encoding_bitrate_[3];
+ float per_frame_bandwidth_[3];
+ float bit_rate_layer_[3];
+ float frame_rate_layer_[3];
+ int num_frames_total_;
+ float sum_encoded_frame_size_total_;
+ float encoding_bitrate_total_;
+ float perc_encoding_rate_mismatch_;
+ int num_frames_to_hit_target_;
+ bool encoding_rate_within_target_;
+ int bit_rate_;
+ int frame_rate_;
+ int layer_;
+ float target_size_key_frame_initial_;
+ float target_size_key_frame_;
+ float sum_key_frame_size_mismatch_;
+ int num_key_frames_;
+ float start_bitrate_;
+
+ // Codec and network settings.
+ VideoCodecType codec_type_;
+ float packet_loss_;
+ int num_temporal_layers_;
+ int key_frame_interval_;
+ bool error_concealment_on_;
+ bool denoising_on_;
+ bool frame_dropper_on_;
+ bool spatial_resize_on_;
};
} // namespace test

Powered by Google App Engine
This is Rietveld 408576698