| 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 |