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 e1c085ed436e39d0cf5a798fd50f2397a15f7fe0..b8f6a5f2b820e45de56cad7224ca0657064651d5 100644 |
--- a/webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.h |
+++ b/webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.h |
@@ -63,6 +63,7 @@ const char kFilenameForemanCif[] = "foreman_cif"; |
struct CodecConfigPars { |
VideoCodecType codec_type; |
bool hw_codec; |
+ bool use_single_core; |
float packet_loss; |
int num_temporal_layers; |
int key_frame_interval; |
@@ -142,10 +143,7 @@ class VideoProcessorIntegrationTest : public testing::Test { |
} |
virtual ~VideoProcessorIntegrationTest() = default; |
- void SetUpCodecConfig(const std::string& filename, |
- int width, |
- int height, |
- bool verbose_logging) { |
+ void SetUpCodecConfig(const CodecConfigPars& process) { |
if (hw_codec_) { |
#if defined(WEBRTC_VIDEOPROCESSOR_INTEGRATIONTEST_HW_CODECS_ENABLED) |
#if defined(WEBRTC_ANDROID) |
@@ -199,16 +197,16 @@ class VideoProcessorIntegrationTest : public testing::Test { |
VideoCodingModule::Codec(codec_type_, &codec_settings_); |
// Configure input filename. |
- config_.input_filename = test::ResourcePath(filename, "yuv"); |
- if (verbose_logging) |
- printf("Filename: %s\n", filename.c_str()); |
+ config_.input_filename = test::ResourcePath(process.filename, "yuv"); |
+ if (process.verbose_logging) |
+ printf("Filename: %s\n", process.filename.c_str()); |
// Generate an output filename in a safe way. |
config_.output_filename = test::TempFilename( |
test::OutputPath(), "videoprocessor_integrationtest"); |
- config_.frame_length_in_bytes = CalcBufferSize(kI420, width, height); |
- config_.verbose = verbose_logging; |
- // Only allow encoder/decoder to use single core, for predictability. |
- config_.use_single_core = true; |
+ config_.frame_length_in_bytes = |
+ CalcBufferSize(kI420, process.width, process.height); |
+ config_.verbose = process.verbose_logging; |
+ config_.use_single_core = process.use_single_core; |
// Key frame interval and packet loss are set for each test. |
config_.keyframe_interval = key_frame_interval_; |
config_.networking_config.packet_loss_probability = packet_loss_; |
@@ -216,8 +214,8 @@ class VideoProcessorIntegrationTest : public testing::Test { |
// Configure codec settings. |
config_.codec_settings = &codec_settings_; |
config_.codec_settings->startBitrate = start_bitrate_; |
- config_.codec_settings->width = width; |
- config_.codec_settings->height = height; |
+ config_.codec_settings->width = process.width; |
+ config_.codec_settings->height = process.height; |
// These features may be set depending on the test. |
switch (config_.codec_settings->codecType) { |
@@ -458,8 +456,7 @@ class VideoProcessorIntegrationTest : public testing::Test { |
denoising_on_ = process.denoising_on; |
frame_dropper_on_ = process.frame_dropper_on; |
spatial_resize_on_ = process.spatial_resize_on; |
- SetUpCodecConfig(process.filename, process.width, process.height, |
- process.verbose_logging); |
+ SetUpCodecConfig(process); |
// Update the layers and the codec with the initial rates. |
bit_rate_ = rate_profile.target_bit_rate[0]; |
frame_rate_ = rate_profile.input_frame_rate[0]; |
@@ -563,6 +560,7 @@ class VideoProcessorIntegrationTest : public testing::Test { |
static void SetCodecParameters(CodecConfigPars* process_settings, |
VideoCodecType codec_type, |
bool hw_codec, |
+ bool use_single_core, |
float packet_loss, |
int key_frame_interval, |
int num_temporal_layers, |
@@ -576,6 +574,7 @@ class VideoProcessorIntegrationTest : public testing::Test { |
bool verbose_logging) { |
process_settings->codec_type = codec_type; |
process_settings->hw_codec = hw_codec; |
+ process_settings->use_single_core = use_single_core; |
process_settings->packet_loss = packet_loss; |
process_settings->key_frame_interval = key_frame_interval; |
process_settings->num_temporal_layers = num_temporal_layers, |
@@ -592,6 +591,7 @@ class VideoProcessorIntegrationTest : public testing::Test { |
static void SetCodecParameters(CodecConfigPars* process_settings, |
VideoCodecType codec_type, |
bool hw_codec, |
+ bool use_single_core, |
float packet_loss, |
int key_frame_interval, |
int num_temporal_layers, |
@@ -599,8 +599,8 @@ class VideoProcessorIntegrationTest : public testing::Test { |
bool denoising_on, |
bool frame_dropper_on, |
bool spatial_resize_on) { |
- SetCodecParameters(process_settings, codec_type, hw_codec, packet_loss, |
- key_frame_interval, num_temporal_layers, |
+ SetCodecParameters(process_settings, codec_type, hw_codec, use_single_core, |
+ packet_loss, key_frame_interval, num_temporal_layers, |
error_concealment_on, denoising_on, frame_dropper_on, |
spatial_resize_on, kCifWidth, kCifHeight, |
kFilenameForemanCif, false /* verbose_logging */); |