Tune QP-based quality thresholds.
Increases measure time for downscale back to 5 seconds, this is required to not over-react on hand-waving or quick device rotations. Also increase max thresholds for QP a bit to not overreact when quality still looks somewhat OK. Min thresholds for H264 seemed very low and are increased to be sure that we can go back up again. The window is still quite big with the increased max QP. Also changes libvpx thresholds to use the same thresholds as the encoder, they were excessively low before and wouldn't adapt on bad QPs at all before (but rely on >60% framedropping based on bitrates to go down). BUG=webrtc:5678 R=stefan@webrtc.org TBR=glaznev@webrtc.org Review URL: https://codereview.webrtc.org/1894083002 . Cr-Commit-Position: refs/heads/master@{#12403}
This commit is contained in:
@ -604,8 +604,8 @@ int VP8EncoderImpl::InitEncode(const VideoCodec* inst,
|
||||
// quality is good, but also low enough to not cause a flip-flop behavior
|
||||
// (e.g. going up in resolution shouldn't give so bad quality that we should
|
||||
// go back down).
|
||||
const int kLowQpThreshold = 23;
|
||||
const int kDisabledBadQpThreshold = 128;
|
||||
const int kLowQpThreshold = 29;
|
||||
const int kDisabledBadQpThreshold = 100;
|
||||
// TODO(glaznev/sprang): consider passing codec initial bitrate to quality
|
||||
// scaler to avoid starting with HD for low initial bitrates.
|
||||
quality_scaler_.Init(kLowQpThreshold, kDisabledBadQpThreshold, false, 0, 0, 0,
|
||||
|
||||
Reference in New Issue
Block a user