diff --git a/modules/video_coding/utility/quality_scaler.cc b/modules/video_coding/utility/quality_scaler.cc index a5f6593e66..e839f9e168 100644 --- a/modules/video_coding/utility/quality_scaler.cc +++ b/modules/video_coding/utility/quality_scaler.cc @@ -37,10 +37,10 @@ static const int kMinFramesNeededToScale = 2 * 30; } // namespace -class QualityScaler::CheckQPTask : public rtc::QueuedTask { +class QualityScaler::CheckQpTask : public rtc::QueuedTask { public: - explicit CheckQPTask(QualityScaler* scaler) : scaler_(scaler) { - RTC_LOG(LS_INFO) << "Created CheckQPTask. Scheduling on queue..."; + explicit CheckQpTask(QualityScaler* scaler) : scaler_(scaler) { + RTC_LOG(LS_INFO) << "Created CheckQpTask. Scheduling on queue..."; rtc::TaskQueue::Current()->PostDelayedTask( std::unique_ptr(this), scaler_->GetSamplingPeriodMs()); } @@ -55,7 +55,7 @@ class QualityScaler::CheckQPTask : public rtc::QueuedTask { RTC_DCHECK_CALLED_SEQUENTIALLY(&task_checker_); if (stop_) return true; // TaskQueue will free this task. - scaler_->CheckQP(); + scaler_->CheckQp(); rtc::TaskQueue::Current()->PostDelayedTask( std::unique_ptr(this), scaler_->GetSamplingPeriodMs()); return false; // Retain the task in order to reuse it. @@ -84,7 +84,7 @@ QualityScaler::QualityScaler(AdaptationObserverInterface* observer, framedrop_percent_(5 * 30) { RTC_DCHECK_CALLED_SEQUENTIALLY(&task_checker_); RTC_DCHECK(observer_ != nullptr); - check_qp_task_ = new CheckQPTask(this); + check_qp_task_ = new CheckQpTask(this); RTC_LOG(LS_INFO) << "QP thresholds: low: " << thresholds_.low << ", high: " << thresholds_.high; } @@ -105,13 +105,13 @@ void QualityScaler::ReportDroppedFrame() { framedrop_percent_.AddSample(100); } -void QualityScaler::ReportQP(int qp) { +void QualityScaler::ReportQp(int qp) { RTC_DCHECK_CALLED_SEQUENTIALLY(&task_checker_); framedrop_percent_.AddSample(0); average_qp_.AddSample(qp); } -void QualityScaler::CheckQP() { +void QualityScaler::CheckQp() { RTC_DCHECK_CALLED_SEQUENTIALLY(&task_checker_); // Should be set through InitEncode -> Should be set by now. RTC_DCHECK_GE(thresholds_.low, 0); @@ -125,7 +125,7 @@ void QualityScaler::CheckQP() { const rtc::Optional drop_rate = framedrop_percent_.GetAverage(); if (drop_rate && *drop_rate >= kFramedropPercentThreshold) { RTC_LOG(LS_INFO) << "Reporting high QP, framedrop percent " << *drop_rate; - ReportQPHigh(); + ReportQpHigh(); return; } @@ -134,24 +134,24 @@ void QualityScaler::CheckQP() { if (avg_qp) { RTC_LOG(LS_INFO) << "Checking average QP " << *avg_qp; if (*avg_qp > thresholds_.high) { - ReportQPHigh(); + ReportQpHigh(); return; } if (*avg_qp <= thresholds_.low) { // QP has been low. We want to try a higher resolution. - ReportQPLow(); + ReportQpLow(); return; } } } -void QualityScaler::ReportQPLow() { +void QualityScaler::ReportQpLow() { RTC_DCHECK_CALLED_SEQUENTIALLY(&task_checker_); ClearSamples(); observer_->AdaptUp(AdaptationObserverInterface::AdaptReason::kQuality); } -void QualityScaler::ReportQPHigh() { +void QualityScaler::ReportQpHigh() { RTC_DCHECK_CALLED_SEQUENTIALLY(&task_checker_); ClearSamples(); observer_->AdaptDown(AdaptationObserverInterface::AdaptReason::kQuality); diff --git a/modules/video_coding/utility/quality_scaler.h b/modules/video_coding/utility/quality_scaler.h index 42cd1c31cf..e8234611c3 100644 --- a/modules/video_coding/utility/quality_scaler.h +++ b/modules/video_coding/utility/quality_scaler.h @@ -52,7 +52,7 @@ class QualityScaler { // Should be called each time the encoder drops a frame. void ReportDroppedFrame(); // Inform the QualityScaler of the last seen QP. - void ReportQP(int qp); + void ReportQp(int qp); // The following members declared protected for testing purposes. protected: @@ -61,14 +61,14 @@ class QualityScaler { int64_t sampling_period_ms); private: - class CheckQPTask; - void CheckQP(); + class CheckQpTask; + void CheckQp(); void ClearSamples(); - void ReportQPLow(); - void ReportQPHigh(); + void ReportQpLow(); + void ReportQpHigh(); int64_t GetSamplingPeriodMs() const; - CheckQPTask* check_qp_task_ RTC_GUARDED_BY(&task_checker_); + CheckQpTask* check_qp_task_ RTC_GUARDED_BY(&task_checker_); AdaptationObserverInterface* const observer_ RTC_GUARDED_BY(&task_checker_); rtc::SequencedTaskChecker task_checker_; diff --git a/modules/video_coding/utility/quality_scaler_unittest.cc b/modules/video_coding/utility/quality_scaler_unittest.cc index ea99a7d287..824826d7c5 100644 --- a/modules/video_coding/utility/quality_scaler_unittest.cc +++ b/modules/video_coding/utility/quality_scaler_unittest.cc @@ -90,19 +90,19 @@ class QualityScalerTest : public ::testing::Test { for (int i = 0; i < kFramerate * 5; ++i) { switch (scale_direction) { case kKeepScaleAboveLowQp: - qs_->ReportQP(kLowQp + 1); + qs_->ReportQp(kLowQp + 1); break; case kScaleUp: - qs_->ReportQP(kLowQp); + qs_->ReportQp(kLowQp); break; case kScaleDown: qs_->ReportDroppedFrame(); break; case kKeepScaleAtHighQp: - qs_->ReportQP(kHighQp); + qs_->ReportQp(kHighQp); break; case kScaleDownAboveHighQp: - qs_->ReportQP(kHighQp + 1); + qs_->ReportQp(kHighQp + 1); break; } } @@ -139,7 +139,7 @@ TEST_F(QualityScalerTest, DownscalesAfterTwoThirdsFramedrop) { for (int i = 0; i < kFramerate * 5; ++i) { qs_->ReportDroppedFrame(); qs_->ReportDroppedFrame(); - qs_->ReportQP(kHighQp); + qs_->ReportQp(kHighQp); } }); EXPECT_TRUE(observer_->event.Wait(kDefaultTimeoutMs)); @@ -151,7 +151,7 @@ TEST_F(QualityScalerTest, DoesNotDownscaleAfterHalfFramedrop) { DO_SYNC(q_, { for (int i = 0; i < kFramerate * 5; ++i) { qs_->ReportDroppedFrame(); - qs_->ReportQP(kHighQp); + qs_->ReportQp(kHighQp); } }); EXPECT_FALSE(observer_->event.Wait(kDefaultTimeoutMs)); @@ -188,13 +188,13 @@ TEST_F(QualityScalerTest, DoesNotScaleUntilEnoughFramesObserved) { DO_SYNC(q_, { // Not enough frames to make a decision. for (int i = 0; i < kMinFramesNeededToScale - 1; ++i) { - qs_->ReportQP(kLowQp); + qs_->ReportQp(kLowQp); } }); EXPECT_FALSE(observer_->event.Wait(kDefaultTimeoutMs)); DO_SYNC(q_, { // Send 1 more. Enough frames observed, should result in an adapt request. - qs_->ReportQP(kLowQp); + qs_->ReportQp(kLowQp); }); EXPECT_TRUE(observer_->event.Wait(kDefaultTimeoutMs)); EXPECT_EQ(0, observer_->adapt_down_events_); @@ -203,7 +203,7 @@ TEST_F(QualityScalerTest, DoesNotScaleUntilEnoughFramesObserved) { // Samples should be cleared after an adapt request. DO_SYNC(q_, { // Not enough frames to make a decision. - qs_->ReportQP(kLowQp); + qs_->ReportQp(kLowQp); }); EXPECT_FALSE(observer_->event.Wait(kDefaultTimeoutMs)); EXPECT_EQ(0, observer_->adapt_down_events_); @@ -213,7 +213,7 @@ TEST_F(QualityScalerTest, DoesNotScaleUntilEnoughFramesObserved) { TEST_F(QualityScalerTest, ScalesDownAndBackUpWithMinFramesNeeded) { DO_SYNC(q_, { for (int i = 0; i < kMinFramesNeededToScale; ++i) { - qs_->ReportQP(kHighQp + 1); + qs_->ReportQp(kHighQp + 1); } }); EXPECT_TRUE(observer_->event.Wait(kDefaultTimeoutMs)); @@ -222,7 +222,7 @@ TEST_F(QualityScalerTest, ScalesDownAndBackUpWithMinFramesNeeded) { // Samples cleared. DO_SYNC(q_, { for (int i = 0; i < kMinFramesNeededToScale; ++i) { - qs_->ReportQP(kLowQp); + qs_->ReportQp(kLowQp); } }); EXPECT_TRUE(observer_->event.Wait(kDefaultTimeoutMs)); diff --git a/video/video_stream_encoder.cc b/video/video_stream_encoder.cc index 647dc800c6..9b5dc1600f 100644 --- a/video/video_stream_encoder.cc +++ b/video/video_stream_encoder.cc @@ -891,7 +891,7 @@ EncodedImageCallback::Result VideoStreamEncoder::OnEncodedImage( overuse_detector_->FrameSent(timestamp, time_sent_us, capture_time_us, encode_duration_us); if (quality_scaler_ && qp >= 0) - quality_scaler_->ReportQP(qp); + quality_scaler_->ReportQp(qp); }); return result;