| 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 15 matching lines...) Expand all Loading... |
| 26 // Default codec setting is on. | 26 // Default codec setting is on. |
| 27 const bool kResilienceOn = true; | 27 const bool kResilienceOn = true; |
| 28 | 28 |
| 29 // Default sequence is foreman (CIF): may be better to use VGA for resize test. | 29 // Default sequence is foreman (CIF): may be better to use VGA for resize test. |
| 30 const int kCifWidth = 352; | 30 const int kCifWidth = 352; |
| 31 const int kCifHeight = 288; | 31 const int kCifHeight = 288; |
| 32 const char kForemanCif[] = "foreman_cif"; | 32 const char kForemanCif[] = "foreman_cif"; |
| 33 | 33 |
| 34 } // namespace | 34 } // namespace |
| 35 | 35 |
| 36 #if defined(WEBRTC_VIDEOPROCESSOR_H264_TESTS) | 36 #if defined(WEBRTC_USE_H264) |
| 37 | 37 |
| 38 // H264: Run with no packet loss and fixed bitrate. Quality should be very high. | 38 // H264: Run with no packet loss and fixed bitrate. Quality should be very high. |
| 39 // Note(hbos): The PacketManipulatorImpl code used to simulate packet loss in | 39 // Note(hbos): The PacketManipulatorImpl code used to simulate packet loss in |
| 40 // these unittests appears to drop "packets" in a way that is not compatible | 40 // these unittests appears to drop "packets" in a way that is not compatible |
| 41 // with H264. Therefore ProcessXPercentPacketLossH264, X != 0, unittests have | 41 // with H264. Therefore ProcessXPercentPacketLossH264, X != 0, unittests have |
| 42 // not been added. | 42 // not been added. |
| 43 TEST_F(VideoProcessorIntegrationTest, Process0PercentPacketLossH264) { | 43 TEST_F(VideoProcessorIntegrationTest, Process0PercentPacketLossH264) { |
| 44 // Bit rate and frame rate profile. | 44 // Bit rate and frame rate profile. |
| 45 RateProfile rate_profile; | 45 RateProfile rate_profile; |
| 46 SetRateProfile(&rate_profile, 0, 500, 30, 0); | 46 SetRateProfile(&rate_profile, 0, 500, 30, 0); |
| 47 rate_profile.frame_index_rate_update[1] = kNumFramesShort + 1; | 47 rate_profile.frame_index_rate_update[1] = kNumFramesShort + 1; |
| 48 rate_profile.num_frames = kNumFramesShort; | 48 rate_profile.num_frames = kNumFramesShort; |
| 49 // Codec/network settings. | 49 // Codec/network settings. |
| 50 SetProcessParams(&config_, kHwCodec, kUseSingleCore, 0.0f, -1, kForemanCif, | 50 SetProcessParams(&config_, kHwCodec, kUseSingleCore, 0.0f, -1, kForemanCif, |
| 51 kVerboseLogging, kBatchMode); | 51 kVerboseLogging, kBatchMode); |
| 52 SetCodecSettings(&config_, &codec_settings_, kVideoCodecH264, 1, false, false, | 52 SetCodecSettings(&config_, &codec_settings_, kVideoCodecH264, 1, false, false, |
| 53 true, false, kResilienceOn, kCifWidth, kCifHeight); | 53 true, false, kResilienceOn, kCifWidth, kCifHeight); |
| 54 // Thresholds for expected quality. | 54 // Thresholds for expected quality. |
| 55 QualityThresholds quality_thresholds(35.0, 25.0, 0.93, 0.70); | 55 QualityThresholds quality_thresholds(35.0, 25.0, 0.93, 0.70); |
| 56 // Thresholds for rate control. | 56 // Thresholds for rate control. |
| 57 RateControlThresholds rc_thresholds[1]; | 57 RateControlThresholds rc_thresholds[1]; |
| 58 SetRateControlThresholds(rc_thresholds, 0, 2, 60, 20, 10, 20, 0, 1); | 58 SetRateControlThresholds(rc_thresholds, 0, 2, 60, 20, 10, 20, 0, 1); |
| 59 ProcessFramesAndVerify(quality_thresholds, rate_profile, rc_thresholds, | 59 ProcessFramesAndVerify(quality_thresholds, rate_profile, rc_thresholds, |
| 60 nullptr /* visualization_params */); | 60 nullptr /* visualization_params */); |
| 61 } | 61 } |
| 62 | 62 |
| 63 #endif // defined(WEBRTC_VIDEOPROCESSOR_H264_TESTS) | 63 #endif // defined(WEBRTC_USE_H264) |
| 64 | 64 |
| 65 // Fails on iOS. See webrtc:4755. | 65 // Fails on iOS. See webrtc:4755. |
| 66 #if !defined(WEBRTC_IOS) | 66 #if !defined(WEBRTC_IOS) |
| 67 | 67 |
| 68 #if !defined(RTC_DISABLE_VP9) | 68 #if !defined(RTC_DISABLE_VP9) |
| 69 // VP9: Run with no packet loss and fixed bitrate. Quality should be very high. | 69 // VP9: Run with no packet loss and fixed bitrate. Quality should be very high. |
| 70 // One key frame (first frame only) in sequence. Setting |key_frame_interval| | 70 // One key frame (first frame only) in sequence. Setting |key_frame_interval| |
| 71 // to -1 below means no periodic key frames in test. | 71 // to -1 below means no periodic key frames in test. |
| 72 TEST_F(VideoProcessorIntegrationTest, Process0PercentPacketLossVP9) { | 72 TEST_F(VideoProcessorIntegrationTest, Process0PercentPacketLossVP9) { |
| 73 // Bit rate and frame rate profile. | 73 // Bit rate and frame rate profile. |
| (...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 430 QualityThresholds quality_thresholds(32.5, 30.0, 0.85, 0.80); | 430 QualityThresholds quality_thresholds(32.5, 30.0, 0.85, 0.80); |
| 431 // Thresholds for rate control. | 431 // Thresholds for rate control. |
| 432 RateControlThresholds rc_thresholds[2]; | 432 RateControlThresholds rc_thresholds[2]; |
| 433 SetRateControlThresholds(rc_thresholds, 0, 0, 20, 30, 10, 10, 0, 1); | 433 SetRateControlThresholds(rc_thresholds, 0, 0, 20, 30, 10, 10, 0, 1); |
| 434 SetRateControlThresholds(rc_thresholds, 1, 0, 0, 30, 15, 10, 0, 0); | 434 SetRateControlThresholds(rc_thresholds, 1, 0, 0, 30, 15, 10, 0, 0); |
| 435 ProcessFramesAndVerify(quality_thresholds, rate_profile, rc_thresholds, | 435 ProcessFramesAndVerify(quality_thresholds, rate_profile, rc_thresholds, |
| 436 nullptr /* visualization_params */); | 436 nullptr /* visualization_params */); |
| 437 } | 437 } |
| 438 } // namespace test | 438 } // namespace test |
| 439 } // namespace webrtc | 439 } // namespace webrtc |
| OLD | NEW |