Turn off per-layer frame dropping.

Per-layer frame dropping was recently implemented in VP9 SVC encoder
and set as default mode.

This disables per-layer frame dropping in WebRTC VP9 encoder wrapper
since receiver (jitter buffer) can't handle such drops yet.

Bug: none
Change-Id: Iad5491abf1e3fc1bccfe44eb7276ff6363176029
Reviewed-on: https://webrtc-review.googlesource.com/66460
Reviewed-by: Marco Paniconi <marpan@google.com>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22721}
This commit is contained in:
Sergey Silkin
2018-04-03 14:13:04 +02:00
committed by Commit Bot
parent c89eed92ad
commit e803dbe210

View File

@ -487,6 +487,15 @@ int VP9EncoderImpl::InitAndSetControlSettings(const VideoCodec* inst) {
}
// Enable encoder skip of static/low content blocks.
vpx_codec_control(encoder_, VP8E_SET_STATIC_THRESHOLD, 1);
// Turn off per-layer frame dropping.
vpx_svc_frame_drop_t svc_frame_drop;
svc_frame_drop.framedrop_mode = CONSTRAINED_LAYER_DROP;
for (size_t sl_idx = 0; sl_idx < num_spatial_layers_; ++sl_idx) {
svc_frame_drop.framedrop_thresh[sl_idx] = config_->rc_dropframe_thresh;
}
vpx_codec_control(encoder_, VP9E_SET_SVC_FRAME_DROP_LAYER, &svc_frame_drop);
inited_ = true;
return WEBRTC_VIDEO_CODEC_OK;
}