diff options
author | Jerome Jiang <jianj@google.com> | 2021-01-23 02:19:55 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2021-01-23 02:19:55 +0000 |
commit | 14f132648a53bb40e1d81fdce10b494656366b46 (patch) | |
tree | 27a04bd4537200fd919c66ef576128b0a5395b71 | |
parent | b0050f27e27c59312a12c037b263a1bb71df4f3c (diff) | |
parent | 7b93b56ab9b27f3c2a72e05b7ea3b5e85a06f5fa (diff) | |
download | libvpx-14f132648a53bb40e1d81fdce10b494656366b46.tar libvpx-14f132648a53bb40e1d81fdce10b494656366b46.tar.gz libvpx-14f132648a53bb40e1d81fdce10b494656366b46.tar.bz2 libvpx-14f132648a53bb40e1d81fdce10b494656366b46.zip |
Merge "Do not reuse mv in base spatial layer if curr buf same as prev."
-rw-r--r-- | vp9/encoder/vp9_encoder.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c index eea2f1840..d5b51b837 100644 --- a/vp9/encoder/vp9_encoder.c +++ b/vp9/encoder/vp9_encoder.c @@ -7882,9 +7882,12 @@ int vp9_get_compressed_data(VP9_COMP *cpi, unsigned int *frame_flags, cm->new_fb_idx = get_free_fb(cm); if (cm->new_fb_idx == INVALID_IDX) return -1; - cm->cur_frame = &pool->frame_bufs[cm->new_fb_idx]; - + // If the frame buffer for current frame is the same as previous frame, MV in + // the base layer shouldn't be used as it'll cause data race. + if (cm->cur_frame == cm->prev_frame) { + cpi->svc.use_base_mv = 0; + } // Start with a 0 size frame. *size = 0; |