From 3e9b1330467edf6b5af609b375c15efb9e6b4933 Mon Sep 17 00:00:00 2001 From: kthelgason Date: Fri, 9 Dec 2016 01:46:42 -0800 Subject: [PATCH] Bump up scaling limit for MediaCodec. Wait until MediaCodec is better tested at these low resolutions, and until some fallback mechanism is in place before lowering this threshold. BUG=webrtc:6837 Review-Url: https://codereview.webrtc.org/2566533002 Cr-Commit-Position: refs/heads/master@{#15498} --- webrtc/video/vie_encoder.cc | 6 ++++++ webrtc/video/vie_encoder_unittest.cc | 12 ++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/webrtc/video/vie_encoder.cc b/webrtc/video/vie_encoder.cc index de6b9a8a63..b0f01184ce 100644 --- a/webrtc/video/vie_encoder.cc +++ b/webrtc/video/vie_encoder.cc @@ -33,7 +33,13 @@ namespace { // Time interval for logging frame counts. const int64_t kFrameLogIntervalMs = 60000; // We will never ask for a resolution lower than this. +#if defined(WEBRTC_ANDROID) +// TODO(kthelgason): Lower this limit when better testing +// on MediaCodec and fallback implementations are in place. +const int kMinPixelsPerFrame = 320 * 180; +#else const int kMinPixelsPerFrame = 120 * 90; +#endif // TODO(pbos): Lower these thresholds (to closer to 100%) when we handle // pipelining encoders better (multiple input frames before something comes diff --git a/webrtc/video/vie_encoder_unittest.cc b/webrtc/video/vie_encoder_unittest.cc index da925e5224..9b201d170e 100644 --- a/webrtc/video/vie_encoder_unittest.cc +++ b/webrtc/video/vie_encoder_unittest.cc @@ -20,6 +20,16 @@ #include "webrtc/video/send_statistics_proxy.h" #include "webrtc/video/vie_encoder.h" +namespace { +#if defined(WEBRTC_ANDROID) +// TODO(kthelgason): Lower this limit when better testing +// on MediaCodec and fallback implementations are in place. +const int kMinPixelsPerFrame = 320 * 180; +#else +const int kMinPixelsPerFrame = 120 * 90; +#endif +} + namespace webrtc { using DegredationPreference = VideoSendStream::DegradationPreference; @@ -1021,8 +1031,6 @@ TEST_F(ViEEncoderTest, DoesNotScaleBelowSetLimit) { const int kTargetBitrateBps = 100000; int frame_width = 1280; int frame_height = 720; - // from vie_encoder.cc - const int kMinPixelsPerFrame = 120 * 90; vie_encoder_->OnBitrateUpdated(kTargetBitrateBps, 0, 0); for (size_t i = 1; i <= 10; i++) {