| Index: webrtc/video/video_quality_test.h
|
| diff --git a/webrtc/video/video_quality_test.h b/webrtc/video/video_quality_test.h
|
| index 7b62fb3dceaf2081572a77c766340b76f343ad61..b88c5138539ea966dd8447677b3a4b9a66a57c83 100644
|
| --- a/webrtc/video/video_quality_test.h
|
| +++ b/webrtc/video/video_quality_test.h
|
| @@ -33,11 +33,11 @@ class VideoQualityTest : public test::CallTest {
|
| int target_bitrate_bps;
|
| int max_bitrate_bps;
|
| std::string codec;
|
| - size_t num_temporal_layers;
|
| + int num_temporal_layers;
|
| + int selected_tl;
|
| int min_transmit_bps;
|
|
|
| Call::Config::BitrateConfig call_bitrate_config;
|
| - size_t tl_discard_threshold;
|
| bool send_side_bwe;
|
| } common;
|
| struct { // Video-specific settings.
|
| @@ -50,30 +50,56 @@ class VideoQualityTest : public test::CallTest {
|
| } screenshare;
|
| struct { // Analyzer settings.
|
| std::string test_label;
|
| - double avg_psnr_threshold;
|
| - double avg_ssim_threshold;
|
| + double avg_psnr_threshold; // (*)
|
| + double avg_ssim_threshold; // (*)
|
| int test_durations_secs;
|
| std::string graph_data_output_filename;
|
| + std::string graph_title;
|
| } analyzer;
|
| FakeNetworkPipe::Config pipe;
|
| bool logs;
|
| + struct { // Spatial scalability.
|
| + std::vector<VideoStream> streams; // If empty, one stream is assumed.
|
| + size_t selected_stream;
|
| + int num_spatial_layers;
|
| + int selected_sl;
|
| + // If empty, bitrates are generated in VP9Impl automatically.
|
| + std::vector<SpatialLayer> spatial_layers;
|
| + } ss;
|
| };
|
| + // (*) Set to -1.1 if generating graph data for simulcast or SVC and the
|
| + // selected stream/layer doesn't have the same resolution as the largest
|
| + // stream/layer (to ignore the PSNR and SSIM calculation errors).
|
|
|
| VideoQualityTest();
|
| void RunWithAnalyzer(const Params& params);
|
| void RunWithVideoRenderer(const Params& params);
|
|
|
| + static void FillScalabilitySettings(
|
| + Params* params,
|
| + const std::vector<std::string>& stream_descriptors,
|
| + size_t selected_stream,
|
| + int num_spatial_layers,
|
| + int selected_sl,
|
| + const std::vector<std::string>& sl_descriptors);
|
| +
|
| protected:
|
| // No-op implementation to be able to instantiate this class from non-TEST_F
|
| // locations.
|
| void TestBody() override;
|
|
|
| - void CreateCapturer(const Params& params, VideoCaptureInput* input);
|
| - void ValidateParams(const Params& params);
|
| - void SetupFullStack(const Params& params,
|
| - Transport* send_transport,
|
| - Transport* recv_transport);
|
| - void SetupScreenshare(const Params& params);
|
| + // Helper methods accessing only params_.
|
| + std::string GenerateGraphTitle() const;
|
| + void CheckParams();
|
| +
|
| + // Helper static methods.
|
| + static VideoStream DefaultVideoStream(const Params& params);
|
| + static std::vector<int> ParseCSV(const std::string& str);
|
| +
|
| + // Helper methods for setting up the call.
|
| + void CreateCapturer(VideoCaptureInput* input);
|
| + void SetupCommon(Transport* send_transport, Transport* recv_transport);
|
| + void SetupScreenshare();
|
|
|
| // We need a more general capturer than the FrameGeneratorCapturer.
|
| rtc::scoped_ptr<test::VideoCapturer> capturer_;
|
| @@ -82,6 +108,8 @@ class VideoQualityTest : public test::CallTest {
|
| rtc::scoped_ptr<VideoEncoder> encoder_;
|
| VideoCodecUnion codec_settings_;
|
| Clock* const clock_;
|
| +
|
| + Params params_;
|
| };
|
|
|
| } // namespace webrtc
|
|
|