summaryrefslogtreecommitdiff
path: root/vp8/decoder
diff options
context:
space:
mode:
authorScott LaVarnway <slavarnway@google.com>2013-01-25 17:06:32 -0800
committerScott LaVarnway <slavarnway@google.com>2013-01-25 17:06:32 -0800
commit0c2919c3d57c92db996531b17255c6c444375600 (patch)
tree6ff07f404c1af9dc5a9bff8c2cd83c249960282c /vp8/decoder
parentde5546c37297383aae7648e84fd38009a333b9cf (diff)
downloadlibvpx-0c2919c3d57c92db996531b17255c6c444375600.tar
libvpx-0c2919c3d57c92db996531b17255c6c444375600.tar.gz
libvpx-0c2919c3d57c92db996531b17255c6c444375600.tar.bz2
libvpx-0c2919c3d57c92db996531b17255c6c444375600.zip
Bug fix: error-concealment enabled changed postproc output
When error concealment is enabled, it swaps the mi and prev_mi ptrs after each frame is decoded. The postproc uses the mi ptr for the mode info context. Now the postproc will use the correct mode info context. Change-Id: I537ae5450f319c624999b44525bb52bb30047b7b
Diffstat (limited to 'vp8/decoder')
-rw-r--r--vp8/decoder/onyxd_if.c11
1 files changed, 7 insertions, 4 deletions
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;