Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1119)

Unified Diff: webrtc/api/java/jni/androidmediaencoder_jni.cc

Issue 1830593003: Make QualityScaler more responsive to downgrades. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: feedback Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/api/java/jni/androidmediaencoder_jni.cc
diff --git a/webrtc/api/java/jni/androidmediaencoder_jni.cc b/webrtc/api/java/jni/androidmediaencoder_jni.cc
index b46d82ecd719c3927eb24b17626a714faf2daa4e..3be5fc6c2a5d885be64f2e0acf0759b6a05d1cf8 100644
--- a/webrtc/api/java/jni/androidmediaencoder_jni.cc
+++ b/webrtc/api/java/jni/androidmediaencoder_jni.cc
@@ -383,14 +383,16 @@ int32_t MediaCodecVideoEncoder::InitEncode(
const int kBadQpThreshold = 92;
quality_scaler_.Init(kLowQpThreshold, kBadQpThreshold, false,
codec_settings->startBitrate,
- codec_settings->width, codec_settings->height);
+ codec_settings->width, codec_settings->height,
+ codec_settings->height, codec_settings->maxFramerate);
stefan-webrtc 2016/04/01 13:35:10 Does this even build? Too many arguments AFAICT.
pbos-webrtc 2016/04/04 12:32:39 Bad rebase, done.
} else if (codecType_ == kVideoCodecH264) {
// H264 QP is in the range [0, 51].
const int kLowQpThreshold = 21;
const int kBadQpThreshold = 36;
quality_scaler_.Init(kLowQpThreshold, kBadQpThreshold, false,
- codec_settings->startBitrate,
- codec_settings->width, codec_settings->height);
+ codec_settings->startBitrate, codec_settings->width,
+ codec_settings->height, codec_settings->height,
+ codec_settings->maxFramerate);
} else {
// When adding codec support to additional hardware codecs, also configure
// their QP thresholds for scaling.
@@ -398,7 +400,6 @@ int32_t MediaCodecVideoEncoder::InitEncode(
scale_ = false;
}
quality_scaler_.SetMinResolution(kMinDimension, kMinDimension);
- quality_scaler_.ReportFramerate(codec_settings->maxFramerate);
QualityScaler::Resolution res = quality_scaler_.GetScaledResolution();
init_width = std::max(res.width, kMinDimension);
init_height = std::max(res.height, kMinDimension);

Powered by Google App Engine
This is Rietveld 408576698