From f80e888723942e821d7f89735ab71d96662f6aa2 Mon Sep 17 00:00:00 2001 From: Marco Paniconi Date: Fri, 15 May 2020 14:02:00 -0700 Subject: 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 --- vp9/encoder/vp9_svc_layercontext.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'vp9') 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; -- cgit v1.2.3