summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarpan@webrtc.org <marpan@webrtc.org>2014-11-06 02:02:28 +0000
committermarpan@webrtc.org <marpan@webrtc.org>2014-11-06 02:02:28 +0000
commit10d91f4b2cadc8954771110c3ab33d92ac3ff479 (patch)
treed85ab94969bf46c05cec04763ffdfaeb14d4ff44
parent941173a5fb1a38ad5bcf6793903960d169a4575f (diff)
downloadwebrtc-10d91f4b2cadc8954771110c3ab33d92ac3ff479.tar.gz
Increase speed setting for VP9 (from 5 to 6) and re-enable end_to_end test.
TBR=stefan@webrtc.org Review URL: https://webrtc-codereview.appspot.com/28949004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@7637 4adac7df-926f-26a2-2b94-8c16560cd09d
-rw-r--r--modules/video_coding/codecs/test/videoprocessor_integrationtest.cc10
-rw-r--r--modules/video_coding/codecs/vp9/vp9_impl.cc7
-rw-r--r--video/end_to_end_tests.cc3
3 files changed, 8 insertions, 12 deletions
diff --git a/modules/video_coding/codecs/test/videoprocessor_integrationtest.cc b/modules/video_coding/codecs/test/videoprocessor_integrationtest.cc
index 73f774d6..3c1b5f8f 100644
--- a/modules/video_coding/codecs/test/videoprocessor_integrationtest.cc
+++ b/modules/video_coding/codecs/test/videoprocessor_integrationtest.cc
@@ -604,7 +604,7 @@ TEST_F(VideoProcessorIntegrationTest, Process0PercentPacketLossVP9) {
false, true, false);
// Metrics for expected quality.
QualityMetrics quality_metrics;
- SetQualityMetrics(&quality_metrics, 37.5, 36.0, 0.94, 0.93);
+ SetQualityMetrics(&quality_metrics, 37.0, 36.0, 0.93, 0.92);
// Metrics for rate control.
RateControlMetrics rc_metrics[1];
SetRateControlMetrics(rc_metrics, 0, 0, 40, 20, 10, 15, 0);
@@ -657,7 +657,7 @@ TEST_F(VideoProcessorIntegrationTest, ProcessNoLossChangeBitRateVP9) {
false, true, false);
// Metrics for expected quality.
QualityMetrics quality_metrics;
- SetQualityMetrics(&quality_metrics, 36.0, 32.0, 0.90, 0.85);
+ SetQualityMetrics(&quality_metrics, 36.0, 31.8, 0.90, 0.85);
// Metrics for rate control.
RateControlMetrics rc_metrics[3];
SetRateControlMetrics(rc_metrics, 0, 0, 30, 20, 20, 20, 0);
@@ -692,11 +692,11 @@ TEST_F(VideoProcessorIntegrationTest,
false, true, false);
// Metrics for expected quality.
QualityMetrics quality_metrics;
- SetQualityMetrics(&quality_metrics, 30.0, 18.0, 0.80, 0.40);
+ SetQualityMetrics(&quality_metrics, 29.0, 17.0, 0.80, 0.40);
// Metrics for rate control.
RateControlMetrics rc_metrics[3];
- SetRateControlMetrics(rc_metrics, 0, 35, 55, 70, 15, 40, 0);
- SetRateControlMetrics(rc_metrics, 1, 15, 0, 50, 10, 30, 0);
+ SetRateControlMetrics(rc_metrics, 0, 50, 60, 100, 15, 45, 0);
+ SetRateControlMetrics(rc_metrics, 1, 30, 0, 65, 10, 35, 0);
SetRateControlMetrics(rc_metrics, 2, 5, 0, 38, 10, 30, 0);
ProcessFramesAndVerify(quality_metrics,
rate_profile,
diff --git a/modules/video_coding/codecs/vp9/vp9_impl.cc b/modules/video_coding/codecs/vp9/vp9_impl.cc
index 33f11a37..734e73d2 100644
--- a/modules/video_coding/codecs/vp9/vp9_impl.cc
+++ b/modules/video_coding/codecs/vp9/vp9_impl.cc
@@ -189,11 +189,8 @@ int VP9EncoderImpl::InitAndSetControlSettings(const VideoCodec* inst) {
return WEBRTC_VIDEO_CODEC_UNINITIALIZED;
}
// Only positive speeds, currently: 0 - 7.
- // O means slowest/best quality, 7 means fastest/lowest quality.
- // TODO(marpan): Speeds 5-7 are speed settings for real-time mode, on desktop.
- // Currently set to 5, update to 6 (for faster encoding) after some subjective
- // quality tests.
- cpu_speed_ = 5;
+ // O means slowest/best quality, 7 means fastest/lower quality.
+ cpu_speed_ = 6;
// Note: some of these codec controls still use "VP8" in the control name.
// TODO(marpan): Update this in the next/future libvpx version.
vpx_codec_control(encoder_, VP8E_SET_CPUUSED, cpu_speed_);
diff --git a/video/end_to_end_tests.cc b/video/end_to_end_tests.cc
index 80d8e19a..2b3c00f5 100644
--- a/video/end_to_end_tests.cc
+++ b/video/end_to_end_tests.cc
@@ -225,8 +225,7 @@ TEST_F(EndToEndTest, TransmitsFirstFrame) {
DestroyStreams();
}
-// TODO(marpan): Re-enable this test on the next libvpx roll.
-TEST_F(EndToEndTest, DISABLED_SendsAndReceivesVP9) {
+TEST_F(EndToEndTest, SendsAndReceivesVP9) {
class VP9Observer : public test::EndToEndTest, public VideoRenderer {
public:
VP9Observer()