Hardware VP8 encoding: Use QP as metric for resize.
Add vp8 frame header parser to get QP from vp8 bitstream. BUG= 4273 R=glaznev@webrtc.org, marpan@google.com, pbos@webrtc.org TBR=stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/49259004 Cr-Commit-Position: refs/heads/master@{#9256}
This commit is contained in:
@ -31,7 +31,7 @@ class QualityScalerTest : public ::testing::Test {
|
||||
QualityScalerTest() {
|
||||
input_frame_.CreateEmptyFrame(
|
||||
kWidth, kHeight, kWidth, kHalfWidth, kHalfWidth);
|
||||
qs_.Init(kMaxQp);
|
||||
qs_.Init(kMaxQp / kDefaultLowQpDenominator);
|
||||
qs_.ReportFramerate(kFramerate);
|
||||
}
|
||||
|
||||
@ -40,7 +40,7 @@ class QualityScalerTest : public ::testing::Test {
|
||||
for (int i = 0; i < kFramerate * kNumSeconds; ++i) {
|
||||
switch (scale_direction) {
|
||||
case kScaleUp:
|
||||
qs_.ReportNormalizedQP(kLowQp);
|
||||
qs_.ReportQP(kLowQp);
|
||||
break;
|
||||
case kScaleDown:
|
||||
qs_.ReportDroppedFrame();
|
||||
@ -93,7 +93,7 @@ TEST_F(QualityScalerTest, DownscalesAfterContinuousFramedrop) {
|
||||
|
||||
TEST_F(QualityScalerTest, DownscalesAfterTwoThirdsFramedrop) {
|
||||
for (int i = 0; i < kFramerate * kNumSeconds / 3; ++i) {
|
||||
qs_.ReportNormalizedQP(kNormalQp);
|
||||
qs_.ReportQP(kNormalQp);
|
||||
qs_.ReportDroppedFrame();
|
||||
qs_.ReportDroppedFrame();
|
||||
if (qs_.GetScaledResolution(input_frame_).width < input_frame_.width())
|
||||
@ -105,7 +105,7 @@ TEST_F(QualityScalerTest, DownscalesAfterTwoThirdsFramedrop) {
|
||||
|
||||
TEST_F(QualityScalerTest, DoesNotDownscaleOnNormalQp) {
|
||||
for (int i = 0; i < kFramerate * kNumSeconds; ++i) {
|
||||
qs_.ReportNormalizedQP(kNormalQp);
|
||||
qs_.ReportQP(kNormalQp);
|
||||
ASSERT_EQ(input_frame_.width(), qs_.GetScaledResolution(input_frame_).width)
|
||||
<< "Unexpected scale on half framedrop.";
|
||||
}
|
||||
@ -113,7 +113,7 @@ TEST_F(QualityScalerTest, DoesNotDownscaleOnNormalQp) {
|
||||
|
||||
TEST_F(QualityScalerTest, DoesNotDownscaleAfterHalfFramedrop) {
|
||||
for (int i = 0; i < kFramerate * kNumSeconds / 2; ++i) {
|
||||
qs_.ReportNormalizedQP(kNormalQp);
|
||||
qs_.ReportQP(kNormalQp);
|
||||
ASSERT_EQ(input_frame_.width(), qs_.GetScaledResolution(input_frame_).width)
|
||||
<< "Unexpected scale on half framedrop.";
|
||||
|
||||
@ -153,7 +153,7 @@ void QualityScalerTest::ContinuouslyDownscalesByHalfDimensionsAndBackUp() {
|
||||
|
||||
// Verify we don't start upscaling after further low use.
|
||||
for (int i = 0; i < kFramerate * kNumSeconds; ++i) {
|
||||
qs_.ReportNormalizedQP(kLowQp);
|
||||
qs_.ReportQP(kLowQp);
|
||||
ExpectOriginalFrame();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user