summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorJingning Han <jingning@google.com>2018-08-21 10:16:57 -0700
committerJingning Han <jingning@google.com>2018-08-21 10:29:04 -0700
commit1ec8fc9da72931ea30881e81cb969ecd1c9b38eb (patch)
tree1efd7f2b32a02958fc8b7801e44236db3c666230 /vp9
parent3b0d06b5992b0a2be6aae195ad45064332759ff2 (diff)
downloadlibvpx-1ec8fc9da72931ea30881e81cb969ecd1c9b38eb.tar
libvpx-1ec8fc9da72931ea30881e81cb969ecd1c9b38eb.tar.gz
libvpx-1ec8fc9da72931ea30881e81cb969ecd1c9b38eb.tar.bz2
libvpx-1ec8fc9da72931ea30881e81cb969ecd1c9b38eb.zip
Point show frame buffer towards existing frame buffer
When the show_existing_frame mode is on, directly point the new frame pointer towards the existing reference frame buffer entry. Change-Id: Ic50b25655fe95ea702fb529afacb7701ec17adcb
Diffstat (limited to 'vp9')
-rw-r--r--vp9/encoder/vp9_encoder.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c
index 4862ffdbc..c1a33ec4e 100644
--- a/vp9/encoder/vp9_encoder.c
+++ b/vp9/encoder/vp9_encoder.c
@@ -4829,6 +4829,13 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi, size_t *size,
encode_with_recode_loop(cpi, size, dest);
}
+ // TODO(jingning): When using show existing frame mode, we assume that the
+ // current ARF will be directly used as the final reconstructed frame. This is
+ // an encoder control scheme. One could in principle explore other
+ // possibilities to arrange the reference frame buffer and their coding order.
+ if (cm->show_existing_frame)
+ cm->new_fb_idx = cm->ref_frame_map[cpi->alt_fb_idx];
+
cpi->last_frame_dropped = 0;
cpi->svc.last_layer_dropped[cpi->svc.spatial_layer_id] = 0;
// Keep track of the frame buffer index updated/refreshed for the