QualityScaler: rename classes and methods from "QP" to "Qp".

Bug: none
Change-Id: Iea6d69149912a6804e2a54262e89114f10a49394
Reviewed-on: https://webrtc-review.googlesource.com/71482
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22970}
This commit is contained in:
Åsa Persson 2018-04-20 15:19:11 +02:00 committed by Commit Bot
parent 6719017d19
commit 04d5f1d2e5
4 changed files with 30 additions and 30 deletions

View File

@ -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<rtc::QueuedTask>(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<rtc::QueuedTask>(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<int> 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);

View File

@ -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_;

View File

@ -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));

View File

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