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