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

Side by Side Diff: webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.cc

Issue 1970343002: Make sure WebRTC works without libvpx VP9 support. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: add test to make sure VP9 support isn't announced Created 4 years, 7 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 608 matching lines...) Expand 10 before | Expand all | Expand 10 after
619 rate_profile, 619 rate_profile,
620 process_settings, 620 process_settings,
621 rc_metrics); 621 rc_metrics);
622 } 622 }
623 623
624 #endif // defined(WEBRTC_VIDEOPROCESSOR_H264_TESTS) 624 #endif // defined(WEBRTC_VIDEOPROCESSOR_H264_TESTS)
625 625
626 // Fails on iOS. See webrtc:4755. 626 // Fails on iOS. See webrtc:4755.
627 #if !defined(WEBRTC_IOS) 627 #if !defined(WEBRTC_IOS)
628 628
629 #if !defined(RTC_DISABLE_VP9)
629 // VP9: Run with no packet loss and fixed bitrate. Quality should be very high. 630 // VP9: Run with no packet loss and fixed bitrate. Quality should be very high.
630 // One key frame (first frame only) in sequence. Setting |key_frame_interval| 631 // One key frame (first frame only) in sequence. Setting |key_frame_interval|
631 // to -1 below means no periodic key frames in test. 632 // to -1 below means no periodic key frames in test.
632 TEST_F(VideoProcessorIntegrationTest, Process0PercentPacketLossVP9) { 633 TEST_F(VideoProcessorIntegrationTest, Process0PercentPacketLossVP9) {
633 // Bitrate and frame rate profile. 634 // Bitrate and frame rate profile.
634 RateProfile rate_profile; 635 RateProfile rate_profile;
635 SetRateProfilePars(&rate_profile, 0, 500, 30, 0); 636 SetRateProfilePars(&rate_profile, 0, 500, 30, 0);
636 rate_profile.frame_index_rate_update[1] = kNbrFramesShort + 1; 637 rate_profile.frame_index_rate_update[1] = kNbrFramesShort + 1;
637 rate_profile.num_frames = kNbrFramesShort; 638 rate_profile.num_frames = kNbrFramesShort;
638 // Codec/network settings. 639 // Codec/network settings.
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
773 // Metrics for rate control. 774 // Metrics for rate control.
774 RateControlMetrics rc_metrics[1]; 775 RateControlMetrics rc_metrics[1];
775 SetRateControlMetrics(rc_metrics, 0, 228, 70, 160, 15, 80, 1, 1); 776 SetRateControlMetrics(rc_metrics, 0, 228, 70, 160, 15, 80, 1, 1);
776 ProcessFramesAndVerify(quality_metrics, rate_profile, process_settings, 777 ProcessFramesAndVerify(quality_metrics, rate_profile, process_settings,
777 rc_metrics); 778 rc_metrics);
778 } 779 }
779 780
780 // TODO(marpan): Add temporal layer test for VP9, once changes are in 781 // TODO(marpan): Add temporal layer test for VP9, once changes are in
781 // vp9 wrapper for this. 782 // vp9 wrapper for this.
782 783
784 #endif // !defined(RTC_DISABLE_VP9)
785
783 // VP8: Run with no packet loss and fixed bitrate. Quality should be very high. 786 // VP8: Run with no packet loss and fixed bitrate. Quality should be very high.
784 // One key frame (first frame only) in sequence. Setting |key_frame_interval| 787 // One key frame (first frame only) in sequence. Setting |key_frame_interval|
785 // to -1 below means no periodic key frames in test. 788 // to -1 below means no periodic key frames in test.
786 TEST_F(VideoProcessorIntegrationTest, ProcessZeroPacketLoss) { 789 TEST_F(VideoProcessorIntegrationTest, ProcessZeroPacketLoss) {
787 // Bitrate and frame rate profile. 790 // Bitrate and frame rate profile.
788 RateProfile rate_profile; 791 RateProfile rate_profile;
789 SetRateProfilePars(&rate_profile, 0, 500, 30, 0); 792 SetRateProfilePars(&rate_profile, 0, 500, 30, 0);
790 rate_profile.frame_index_rate_update[1] = kNbrFramesShort + 1; 793 rate_profile.frame_index_rate_update[1] = kNbrFramesShort + 1;
791 rate_profile.num_frames = kNbrFramesShort; 794 rate_profile.num_frames = kNbrFramesShort;
792 // Codec/network settings. 795 // Codec/network settings.
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
994 QualityMetrics quality_metrics; 997 QualityMetrics quality_metrics;
995 SetQualityMetrics(&quality_metrics, 32.5, 30.0, 0.85, 0.80); 998 SetQualityMetrics(&quality_metrics, 32.5, 30.0, 0.85, 0.80);
996 // Metrics for rate control. 999 // Metrics for rate control.
997 RateControlMetrics rc_metrics[2]; 1000 RateControlMetrics rc_metrics[2];
998 SetRateControlMetrics(rc_metrics, 0, 0, 20, 30, 10, 10, 0, 1); 1001 SetRateControlMetrics(rc_metrics, 0, 0, 20, 30, 10, 10, 0, 1);
999 SetRateControlMetrics(rc_metrics, 1, 0, 0, 30, 15, 10, 0, 0); 1002 SetRateControlMetrics(rc_metrics, 1, 0, 0, 30, 15, 10, 0, 0);
1000 ProcessFramesAndVerify(quality_metrics, rate_profile, process_settings, 1003 ProcessFramesAndVerify(quality_metrics, rate_profile, process_settings,
1001 rc_metrics); 1004 rc_metrics);
1002 } 1005 }
1003 } // namespace webrtc 1006 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698