diff options
author | Yaowu Xu <yaowu@google.com> | 2014-01-02 09:27:28 -0800 |
---|---|---|
committer | Gerrit Code Review <gerrit@gerrit.golo.chromium.org> | 2014-01-02 09:27:28 -0800 |
commit | 8458c8c45036d651612160eb7baf49bcefc471d2 (patch) | |
tree | 468b9fdf93f1ae619ae24dbcb440954c77421efd /vp9/decoder/vp9_onyxd_if.c | |
parent | cdc933ca0043b7944a4a45edb85d4c142f63fc56 (diff) | |
parent | 047b0b01bbe8668c02438532520ea3c92b87f2f3 (diff) | |
download | libvpx-8458c8c45036d651612160eb7baf49bcefc471d2.tar libvpx-8458c8c45036d651612160eb7baf49bcefc471d2.tar.gz libvpx-8458c8c45036d651612160eb7baf49bcefc471d2.tar.bz2 libvpx-8458c8c45036d651612160eb7baf49bcefc471d2.zip |
Merge "Fix show existing frame"
Diffstat (limited to 'vp9/decoder/vp9_onyxd_if.c')
-rw-r--r-- | vp9/decoder/vp9_onyxd_if.c | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/vp9/decoder/vp9_onyxd_if.c b/vp9/decoder/vp9_onyxd_if.c index e24ba4279..d585b9120 100644 --- a/vp9/decoder/vp9_onyxd_if.c +++ b/vp9/decoder/vp9_onyxd_if.c @@ -389,23 +389,25 @@ int vp9_receive_compressed_data(VP9D_PTR ptr, cm->last_show_frame = cm->show_frame; if (cm->show_frame) { - // current mip will be the prev_mip for the next frame - MODE_INFO *temp = cm->prev_mip; - MODE_INFO **temp2 = cm->prev_mi_grid_base; - cm->prev_mip = cm->mip; - cm->mip = temp; - cm->prev_mi_grid_base = cm->mi_grid_base; - cm->mi_grid_base = temp2; - - // update the upper left visible macroblock ptrs - cm->mi = cm->mip + cm->mode_info_stride + 1; - cm->prev_mi = cm->prev_mip + cm->mode_info_stride + 1; - cm->mi_grid_visible = cm->mi_grid_base + cm->mode_info_stride + 1; - cm->prev_mi_grid_visible = cm->prev_mi_grid_base + cm->mode_info_stride + 1; - - pbi->mb.mi_8x8 = cm->mi_grid_visible; - pbi->mb.mi_8x8[0] = cm->mi; - + if (!cm->show_existing_frame) { + // current mip will be the prev_mip for the next frame + MODE_INFO *temp = cm->prev_mip; + MODE_INFO **temp2 = cm->prev_mi_grid_base; + cm->prev_mip = cm->mip; + cm->mip = temp; + cm->prev_mi_grid_base = cm->mi_grid_base; + cm->mi_grid_base = temp2; + + // update the upper left visible macroblock ptrs + cm->mi = cm->mip + cm->mode_info_stride + 1; + cm->prev_mi = cm->prev_mip + cm->mode_info_stride + 1; + cm->mi_grid_visible = cm->mi_grid_base + cm->mode_info_stride + 1; + cm->prev_mi_grid_visible = cm->prev_mi_grid_base + + cm->mode_info_stride + 1; + + pbi->mb.mi_8x8 = cm->mi_grid_visible; + pbi->mb.mi_8x8[0] = cm->mi; + } cm->current_video_frame++; } |