summaryrefslogtreecommitdiff
path: root/vp8/decoder/decodemv.c
diff options
context:
space:
mode:
authorYaowu Xu <yaowu@google.com>2011-12-06 12:03:42 -0800
committerYaowu Xu <yaowu@google.com>2011-12-07 11:01:59 -0800
commit76feb965d3340cfe38a06ee017ff02e4a493cecf (patch)
tree623aedc2ef53beaff8aca6295bd5995e359cdb48 /vp8/decoder/decodemv.c
parentb1823a7dd290b233739fa437673d9ff385d5f273 (diff)
downloadlibvpx-76feb965d3340cfe38a06ee017ff02e4a493cecf.tar
libvpx-76feb965d3340cfe38a06ee017ff02e4a493cecf.tar.gz
libvpx-76feb965d3340cfe38a06ee017ff02e4a493cecf.tar.bz2
libvpx-76feb965d3340cfe38a06ee017ff02e4a493cecf.zip
made vp8_mode_context adaptive
vp8_mode_contexts[] is an entropy table used to code inter mode choices. It was a fixed constant table. This commit made the entropy context adaptive. Tests on derf set showed very good consistent gains on all metrics: avg psnr .47%, overall psnr .46% and ssim .40%. http://www.corp.google.com/~yaowu/no_crawl/newModeContext.html Change-Id: Ia62b14485c948e2b74586118619c5eb2068b43b2
Diffstat (limited to 'vp8/decoder/decodemv.c')
-rw-r--r--vp8/decoder/decodemv.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/vp8/decoder/decodemv.c b/vp8/decoder/decodemv.c
index 8934b62a8..75d47dc18 100644
--- a/vp8/decoder/decodemv.c
+++ b/vp8/decoder/decodemv.c
@@ -548,7 +548,7 @@ static void read_mb_modes_mv(VP8D_COMP *pbi, MODE_INFO *mi, MB_MODE_INFO *mbmi,
#endif
&nearest, &nearby, &best_mv, rct,
mbmi->ref_frame, pbi->common.ref_frame_sign_bias);
- vp8_mv_ref_probs(mv_ref_p, rct);
+ vp8_mv_ref_probs(&pbi->common, mv_ref_p, rct);
//#if CONFIG_SEGFEATURES
// Is the segment level mode feature enabled for this segment
@@ -560,6 +560,10 @@ static void read_mb_modes_mv(VP8D_COMP *pbi, MODE_INFO *mi, MB_MODE_INFO *mbmi,
else
{
mbmi->mode = read_mv_ref(bc, mv_ref_p);
+
+#if CONFIG_NEWNEAR
+ vp8_accum_mv_refs(&pbi->common, mbmi->mode, rct);
+#endif
}
mbmi->uv_mode = DC_PRED;