Reland of Make QualityScaler more responsive to downgrades. (patchset #1 id:1 of https://codereview.webrtc.org/1880103002/ )
Reason for revert: Regressed behavior is actually desirable (go down to 360p instead of producing super-bad 720p). Original issue's description: > Revert of Make QualityScaler more responsive to downgrades. (patchset #3 id:40001 of https://codereview.webrtc.org/1830593003/ ) > > Reason for revert: > Speculative revert: want to see if this causes the regression in https://crbug.com/602621 > > Original issue's description: > > Make QualityScaler more responsive to downgrades. > > > > Permits going from HD to QVGA in 6 seconds instead of 10. Also adds > > windows for going up quickly in the beginning of a call (before any > > downscaling happens due to bad quality). > > > > BUG=webrtc:5678 > > R=glaznev@webrtc.org, stefan@webrtc.org > > > > Committed: https://crrev.com/85829fd90cc4e7a91c9857921b19e8fc126aeb60 > > Cr-Commit-Position: refs/heads/master@{#12219} > > TBR=glaznev@webrtc.org,stefan@webrtc.org,pbos@webrtc.org > # Not skipping CQ checks because original CL landed more than 1 days ago. > BUG=webrtc:5678 > NOTRY=true > > Committed: https://crrev.com/19b4fecf08e3fe215e431a260fb673553c15e569 > Cr-Commit-Position: refs/heads/master@{#12331} TBR=glaznev@webrtc.org,stefan@webrtc.org,phoglund@webrtc.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:602621, webrtc:5678 Review URL: https://codereview.webrtc.org/1887493003 Cr-Commit-Position: refs/heads/master@{#12341}
This commit is contained in:
@ -380,15 +380,17 @@ int32_t MediaCodecVideoEncoder::InitEncode(
|
||||
const int kLowQpThreshold = 29;
|
||||
const int kBadQpThreshold = 90;
|
||||
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->maxFramerate);
|
||||
} else if (codecType_ == kVideoCodecH264) {
|
||||
// H264 QP is in the range [0, 51].
|
||||
const int kLowQpThreshold = 21;
|
||||
const int kBadQpThreshold = 33;
|
||||
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->maxFramerate);
|
||||
} else {
|
||||
// When adding codec support to additional hardware codecs, also configure
|
||||
// their QP thresholds for scaling.
|
||||
@ -396,7 +398,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);
|
||||
|
||||
Reference in New Issue
Block a user