diff options
author | Yaowu Xu <yaowu@google.com> | 2011-12-06 12:03:42 -0800 |
---|---|---|
committer | Yaowu Xu <yaowu@google.com> | 2011-12-07 11:01:59 -0800 |
commit | 76feb965d3340cfe38a06ee017ff02e4a493cecf (patch) | |
tree | 623aedc2ef53beaff8aca6295bd5995e359cdb48 /vp8/decoder/decodemv.c | |
parent | b1823a7dd290b233739fa437673d9ff385d5f273 (diff) | |
download | libvpx-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.c | 6 |
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; |