diff options
author | Marco Paniconi <marpan@google.com> | 2020-05-15 14:02:00 -0700 |
---|---|---|
committer | Marco Paniconi <marpan@google.com> | 2020-05-15 14:11:37 -0700 |
commit | f80e888723942e821d7f89735ab71d96662f6aa2 (patch) | |
tree | 4a30f57441c9c6180c9bf8b79dbcd30d07236ae6 | |
parent | 1c1d5c5baf527c08f3a98711aed987bd8265e791 (diff) | |
download | libvpx-f80e888723942e821d7f89735ab71d96662f6aa2.tar.gz libvpx-f80e888723942e821d7f89735ab71d96662f6aa2.tar.bz2 libvpx-f80e888723942e821d7f89735ab71d96662f6aa2.zip |
vp9-svc: Fix key frame update refresh simulcast flexible svc
For flexible svc in simulcast mode: don't allow refresh
of all reference slots on key frame. Which slots to update
should be based on the user flags.
Change-Id: I3597c61ebcdfed2055bbdffec7ce701fad892744
-rw-r--r-- | vp9/encoder/vp9_svc_layercontext.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_svc_layercontext.c b/vp9/encoder/vp9_svc_layercontext.c index cd77c08a8..6f23d0b4d 100644 --- a/vp9/encoder/vp9_svc_layercontext.c +++ b/vp9/encoder/vp9_svc_layercontext.c @@ -1259,7 +1259,7 @@ static void vp9_svc_update_ref_frame_bypass_mode(VP9_COMP *const cpi) { BufferPool *const pool = cm->buffer_pool; int i; for (i = 0; i < REF_FRAMES; i++) { - if (cm->frame_type == KEY_FRAME || + if ((cm->frame_type == KEY_FRAME && !svc->simulcast_mode) || svc->update_buffer_slot[svc->spatial_layer_id] & (1 << i)) { ref_cnt_fb(pool->frame_bufs, &cm->ref_frame_map[i], cm->new_fb_idx); svc->fb_idx_spatial_layer_id[i] = svc->spatial_layer_id; |