OLD | NEW |
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 710 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
721 // Metrics for rate control. | 721 // Metrics for rate control. |
722 RateControlMetrics rc_metrics[1]; | 722 RateControlMetrics rc_metrics[1]; |
723 SetRateControlMetrics(rc_metrics, 0, 0, 40, 20, 10, 20, 0, 1); | 723 SetRateControlMetrics(rc_metrics, 0, 0, 40, 20, 10, 20, 0, 1); |
724 ProcessFramesAndVerify(quality_metrics, | 724 ProcessFramesAndVerify(quality_metrics, |
725 rate_profile, | 725 rate_profile, |
726 process_settings, | 726 process_settings, |
727 rc_metrics); | 727 rc_metrics); |
728 } | 728 } |
729 | 729 |
730 // Run with no packet loss, at low bitrate. | 730 // Run with no packet loss, at low bitrate. |
731 // spatial_resize is on, so expect one resize during the sequence, | 731 // spatial_resize is on, and for this low bitrate expect two resizes during the |
732 // resize happens on delta frame. Expect only one key frame (first frame). | 732 // sequence; first resize is 3/4, second is 1/2 (from original). |
733 TEST_F(VideoProcessorIntegrationTest, | 733 // Resize happens on delta frame. Expect only one key frame (first frame). |
734 DISABLED_ProcessNoLossSpatialResizeFrameDropVP9) { | 734 // Disable for msan, see |
| 735 // https://code.google.com/p/webrtc/issues/detail?id=5110 for details. |
| 736 #if !defined(MEMORY_SANITIZER) |
| 737 TEST_F(VideoProcessorIntegrationTest, ProcessNoLossSpatialResizeFrameDropVP9) { |
735 config_.networking_config.packet_loss_probability = 0; | 738 config_.networking_config.packet_loss_probability = 0; |
736 // Bitrate and frame rate profile. | 739 // Bitrate and frame rate profile. |
737 RateProfile rate_profile; | 740 RateProfile rate_profile; |
738 SetRateProfilePars(&rate_profile, 0, 50, 30, 0); | 741 SetRateProfilePars(&rate_profile, 0, 50, 30, 0); |
739 rate_profile.frame_index_rate_update[1] = kNbrFramesLong + 1; | 742 rate_profile.frame_index_rate_update[1] = kNbrFramesLong + 1; |
740 rate_profile.num_frames = kNbrFramesLong; | 743 rate_profile.num_frames = kNbrFramesLong; |
741 // Codec/network settings. | 744 // Codec/network settings. |
742 CodecConfigPars process_settings; | 745 CodecConfigPars process_settings; |
743 SetCodecParameters(&process_settings, kVideoCodecVP9, 0.0f, -1, | 746 SetCodecParameters(&process_settings, kVideoCodecVP9, 0.0f, -1, |
744 1, false, false, true, true); | 747 1, false, false, true, true); |
745 // Metrics for expected quality. | 748 // Metrics for expected quality. |
746 QualityMetrics quality_metrics; | 749 QualityMetrics quality_metrics; |
747 SetQualityMetrics(&quality_metrics, 25.0, 13.0, 0.70, 0.40); | 750 SetQualityMetrics(&quality_metrics, 25.0, 13.0, 0.70, 0.40); |
748 // Metrics for rate control. | 751 // Metrics for rate control. |
749 RateControlMetrics rc_metrics[1]; | 752 RateControlMetrics rc_metrics[1]; |
750 SetRateControlMetrics(rc_metrics, 0, 170, 70, 120, 10, 80, 1, 1); | 753 SetRateControlMetrics(rc_metrics, 0, 180, 70, 130, 15, 80, 2, 1); |
751 ProcessFramesAndVerify(quality_metrics, | 754 ProcessFramesAndVerify(quality_metrics, |
752 rate_profile, | 755 rate_profile, |
753 process_settings, | 756 process_settings, |
754 rc_metrics); | 757 rc_metrics); |
755 } | 758 } |
| 759 #endif |
756 | 760 |
757 // TODO(marpan): Add temporal layer test for VP9, once changes are in | 761 // TODO(marpan): Add temporal layer test for VP9, once changes are in |
758 // vp9 wrapper for this. | 762 // vp9 wrapper for this. |
759 | 763 |
760 // VP8: Run with no packet loss and fixed bitrate. Quality should be very high. | 764 // VP8: Run with no packet loss and fixed bitrate. Quality should be very high. |
761 // One key frame (first frame only) in sequence. Setting |key_frame_interval| | 765 // One key frame (first frame only) in sequence. Setting |key_frame_interval| |
762 // to -1 below means no periodic key frames in test. | 766 // to -1 below means no periodic key frames in test. |
763 TEST_F(VideoProcessorIntegrationTest, ProcessZeroPacketLoss) { | 767 TEST_F(VideoProcessorIntegrationTest, ProcessZeroPacketLoss) { |
764 // Bitrate and frame rate profile. | 768 // Bitrate and frame rate profile. |
765 RateProfile rate_profile; | 769 RateProfile rate_profile; |
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
955 // Metrics for rate control. | 959 // Metrics for rate control. |
956 RateControlMetrics rc_metrics[2]; | 960 RateControlMetrics rc_metrics[2]; |
957 SetRateControlMetrics(rc_metrics, 0, 0, 20, 30, 10, 10, 0, 1); | 961 SetRateControlMetrics(rc_metrics, 0, 0, 20, 30, 10, 10, 0, 1); |
958 SetRateControlMetrics(rc_metrics, 1, 0, 0, 30, 15, 10, 0, 0); | 962 SetRateControlMetrics(rc_metrics, 1, 0, 0, 30, 15, 10, 0, 0); |
959 ProcessFramesAndVerify(quality_metrics, | 963 ProcessFramesAndVerify(quality_metrics, |
960 rate_profile, | 964 rate_profile, |
961 process_settings, | 965 process_settings, |
962 rc_metrics); | 966 rc_metrics); |
963 } | 967 } |
964 } // namespace webrtc | 968 } // namespace webrtc |
OLD | NEW |