diff options
Diffstat (limited to 'vp9/decoder/vp9_decoder.c')
-rw-r--r-- | vp9/decoder/vp9_decoder.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/vp9/decoder/vp9_decoder.c b/vp9/decoder/vp9_decoder.c index fa2f01041..196816531 100644 --- a/vp9/decoder/vp9_decoder.c +++ b/vp9/decoder/vp9_decoder.c @@ -252,6 +252,9 @@ int vp9_receive_compressed_data(VP9Decoder *pbi, &cm->frame_bufs[cm->new_fb_idx].raw_frame_buffer); cm->new_fb_idx = get_free_fb(cm); + // Assign a MV array to the frame buffer. + cm->cur_frame = &cm->frame_bufs[cm->new_fb_idx]; + if (setjmp(cm->error.jmp)) { pbi->need_resync = 1; cm->error.setjmp = 0; @@ -284,14 +287,13 @@ int vp9_receive_compressed_data(VP9Decoder *pbi, cm->last_width = cm->width; cm->last_height = cm->height; - if (!cm->show_existing_frame) + if (!cm->show_existing_frame) { cm->last_show_frame = cm->show_frame; - if (cm->show_frame) { - if (!cm->show_existing_frame) - vp9_swap_mi_and_prev_mi(cm); + cm->prev_frame = cm->cur_frame; + } + if (cm->show_frame) cm->current_video_frame++; - } cm->error.setjmp = 0; return retcode; |