diff options
-rw-r--r-- | vp8/common/mfqe.c | 2 | ||||
-rw-r--r-- | vp8/common/onyxc_int.h | 3 | ||||
-rw-r--r-- | vp8/common/postproc.c | 2 | ||||
-rw-r--r-- | vp8/decoder/onyxd_if.c | 11 | ||||
-rw-r--r-- | vp8/encoder/onyx_if.c | 1 |
5 files changed, 12 insertions, 7 deletions
diff --git a/vp8/common/mfqe.c b/vp8/common/mfqe.c index 8a8f92f68..069332660 100644 --- a/vp8/common/mfqe.c +++ b/vp8/common/mfqe.c @@ -280,7 +280,7 @@ void vp8_multiframe_quality_enhance FRAME_TYPE frame_type = cm->frame_type; /* Point at base of Mb MODE_INFO list has motion vectors etc */ - const MODE_INFO *mode_info_context = cm->mi; + const MODE_INFO *mode_info_context = cm->show_frame_mi; int mb_row; int mb_col; int totmap, map[4]; diff --git a/vp8/common/onyxc_int.h b/vp8/common/onyxc_int.h index 03c97187a..276dd72ea 100644 --- a/vp8/common/onyxc_int.h +++ b/vp8/common/onyxc_int.h @@ -127,7 +127,8 @@ typedef struct VP8Common MODE_INFO *prev_mip; /* MODE_INFO array 'mip' from last decoded frame */ MODE_INFO *prev_mi; /* 'mi' from last frame (points into prev_mip) */ #endif - + MODE_INFO *show_frame_mi; /* MODE_INFO for the last decoded frame + to show */ LOOPFILTERTYPE filter_type; loop_filter_info_n lf_info; diff --git a/vp8/common/postproc.c b/vp8/common/postproc.c index fd313b6fe..e40fb111c 100644 --- a/vp8/common/postproc.c +++ b/vp8/common/postproc.c @@ -334,7 +334,7 @@ void vp8_deblock(VP8_COMMON *cm, double level = 6.0e-05 * q * q * q - .0067 * q * q + .306 * q + .0065; int ppl = (int)(level + .5); - const MODE_INFO *mode_info_context = cm->mi; + const MODE_INFO *mode_info_context = cm->show_frame_mi; int mbr, mbc; /* The pixel thresholds are adjusted according to if or not the macroblock diff --git a/vp8/decoder/onyxd_if.c b/vp8/decoder/onyxd_if.c index 24fc8783a..e9654839c 100644 --- a/vp8/decoder/onyxd_if.c +++ b/vp8/decoder/onyxd_if.c @@ -419,7 +419,13 @@ int vp8dx_receive_compressed_data(VP8D_COMP *pbi, size_t size, vp8_clear_system_state(); -#if CONFIG_ERROR_CONCEALMENT + if (cm->show_frame) + { + cm->current_video_frame++; + cm->show_frame_mi = cm->mi; + } + + #if CONFIG_ERROR_CONCEALMENT /* swap the mode infos to storage for future error concealment */ if (pbi->ec_enabled && pbi->common.prev_mi) { @@ -441,9 +447,6 @@ int vp8dx_receive_compressed_data(VP8D_COMP *pbi, size_t size, } #endif - if (cm->show_frame) - cm->current_video_frame++; - pbi->ready_for_new_data = 0; pbi->last_time_stamp = time_stamp; diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c index 7eb7193bf..92f981857 100644 --- a/vp8/encoder/onyx_if.c +++ b/vp8/encoder/onyx_if.c @@ -5362,6 +5362,7 @@ int vp8_get_preview_raw_frame(VP8_COMP *cpi, YV12_BUFFER_CONFIG *dest, vp8_ppfla #endif #if CONFIG_POSTPROC + cpi->common.show_frame_mi = cpi->common.mi; ret = vp8_post_proc_frame(&cpi->common, dest, flags); #else |