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

Side by Side Diff: webrtc/video/overuse_frame_detector.cc

Issue 2652893015: Rename adaptation api methods, extended vie_encoder unit test. (Closed)
Patch Set: Rebase, again Created 3 years, 10 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
« no previous file with comments | « webrtc/video/overuse_frame_detector.h ('k') | webrtc/video/overuse_frame_detector_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 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 30 matching lines...) Expand all
41 // Expontential back-off factor, to prevent annoying up-down behaviour. 41 // Expontential back-off factor, to prevent annoying up-down behaviour.
42 const double kRampUpBackoffFactor = 2.0; 42 const double kRampUpBackoffFactor = 2.0;
43 43
44 // Max number of overuses detected before always applying the rampup delay. 44 // Max number of overuses detected before always applying the rampup delay.
45 const int kMaxOverusesBeforeApplyRampupDelay = 4; 45 const int kMaxOverusesBeforeApplyRampupDelay = 4;
46 46
47 // The maximum exponent to use in VCMExpFilter. 47 // The maximum exponent to use in VCMExpFilter.
48 const float kSampleDiffMs = 33.0f; 48 const float kSampleDiffMs = 33.0f;
49 const float kMaxExp = 7.0f; 49 const float kMaxExp = 7.0f;
50 50
51 const auto kScaleReasonCpu = ScalingObserverInterface::ScaleReason::kCpu; 51 const auto kScaleReasonCpu = AdaptationObserverInterface::AdaptReason::kCpu;
52 } // namespace 52 } // namespace
53 53
54 CpuOveruseOptions::CpuOveruseOptions() 54 CpuOveruseOptions::CpuOveruseOptions()
55 : high_encode_usage_threshold_percent(85), 55 : high_encode_usage_threshold_percent(85),
56 frame_timeout_interval_ms(1500), 56 frame_timeout_interval_ms(1500),
57 min_frame_samples(120), 57 min_frame_samples(120),
58 min_process_count(3), 58 min_process_count(3),
59 high_threshold_consecutive_count(2) { 59 high_threshold_consecutive_count(2) {
60 #if defined(WEBRTC_MAC) && !defined(WEBRTC_IOS) 60 #if defined(WEBRTC_MAC) && !defined(WEBRTC_IOS)
61 // This is proof-of-concept code for letting the physical core count affect 61 // This is proof-of-concept code for letting the physical core count affect
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 // Return false to prevent this task from being deleted. Ownership has been 196 // Return false to prevent this task from being deleted. Ownership has been
197 // transferred to the task queue when PostDelayedTask was called. 197 // transferred to the task queue when PostDelayedTask was called.
198 return false; 198 return false;
199 } 199 }
200 rtc::SequencedTaskChecker task_checker_; 200 rtc::SequencedTaskChecker task_checker_;
201 OveruseFrameDetector* overuse_detector_; 201 OveruseFrameDetector* overuse_detector_;
202 }; 202 };
203 203
204 OveruseFrameDetector::OveruseFrameDetector( 204 OveruseFrameDetector::OveruseFrameDetector(
205 const CpuOveruseOptions& options, 205 const CpuOveruseOptions& options,
206 ScalingObserverInterface* observer, 206 AdaptationObserverInterface* observer,
207 EncodedFrameObserver* encoder_timing, 207 EncodedFrameObserver* encoder_timing,
208 CpuOveruseMetricsObserver* metrics_observer) 208 CpuOveruseMetricsObserver* metrics_observer)
209 : check_overuse_task_(nullptr), 209 : check_overuse_task_(nullptr),
210 options_(options), 210 options_(options),
211 observer_(observer), 211 observer_(observer),
212 encoder_timing_(encoder_timing), 212 encoder_timing_(encoder_timing),
213 metrics_observer_(metrics_observer), 213 metrics_observer_(metrics_observer),
214 num_process_times_(0), 214 num_process_times_(0),
215 // TODO(nisse): Use rtc::Optional 215 // TODO(nisse): Use rtc::Optional
216 last_capture_time_us_(-1), 216 last_capture_time_us_(-1),
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 current_rampup_delay_ms_ = kStandardRampUpDelayMs; 369 current_rampup_delay_ms_ = kStandardRampUpDelayMs;
370 } 370 }
371 } 371 }
372 372
373 last_overuse_time_ms_ = now_ms; 373 last_overuse_time_ms_ = now_ms;
374 in_quick_rampup_ = false; 374 in_quick_rampup_ = false;
375 checks_above_threshold_ = 0; 375 checks_above_threshold_ = 0;
376 ++num_overuse_detections_; 376 ++num_overuse_detections_;
377 377
378 if (observer_) 378 if (observer_)
379 observer_->ScaleDown(kScaleReasonCpu); 379 observer_->AdaptDown(kScaleReasonCpu);
380 } else if (IsUnderusing(*metrics_, now_ms)) { 380 } else if (IsUnderusing(*metrics_, now_ms)) {
381 last_rampup_time_ms_ = now_ms; 381 last_rampup_time_ms_ = now_ms;
382 in_quick_rampup_ = true; 382 in_quick_rampup_ = true;
383 383
384 if (observer_) 384 if (observer_)
385 observer_->ScaleUp(kScaleReasonCpu); 385 observer_->AdaptUp(kScaleReasonCpu);
386 } 386 }
387 387
388 int rampup_delay = 388 int rampup_delay =
389 in_quick_rampup_ ? kQuickRampUpDelayMs : current_rampup_delay_ms_; 389 in_quick_rampup_ ? kQuickRampUpDelayMs : current_rampup_delay_ms_;
390 390
391 LOG(LS_VERBOSE) << " Frame stats: " 391 LOG(LS_VERBOSE) << " Frame stats: "
392 << " encode usage " << metrics_->encode_usage_percent 392 << " encode usage " << metrics_->encode_usage_percent
393 << " overuse detections " << num_overuse_detections_ 393 << " overuse detections " << num_overuse_detections_
394 << " rampup delay " << rampup_delay; 394 << " rampup delay " << rampup_delay;
395 } 395 }
(...skipping 13 matching lines...) Expand all
409 int64_t time_now) { 409 int64_t time_now) {
410 RTC_DCHECK_CALLED_SEQUENTIALLY(&task_checker_); 410 RTC_DCHECK_CALLED_SEQUENTIALLY(&task_checker_);
411 int delay = in_quick_rampup_ ? kQuickRampUpDelayMs : current_rampup_delay_ms_; 411 int delay = in_quick_rampup_ ? kQuickRampUpDelayMs : current_rampup_delay_ms_;
412 if (time_now < last_rampup_time_ms_ + delay) 412 if (time_now < last_rampup_time_ms_ + delay)
413 return false; 413 return false;
414 414
415 return metrics.encode_usage_percent < 415 return metrics.encode_usage_percent <
416 options_.low_encode_usage_threshold_percent; 416 options_.low_encode_usage_threshold_percent;
417 } 417 }
418 } // namespace webrtc 418 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/video/overuse_frame_detector.h ('k') | webrtc/video/overuse_frame_detector_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698