summaryrefslogtreecommitdiff
path: root/vp8/decoder
diff options
context:
space:
mode:
authorPaul Wilkins <paulwilkins@google.com>2012-02-02 17:30:27 +0000
committerPaul Wilkins <paulwilkins@google.com>2012-02-06 16:38:41 +0000
commit82b865da9475586341949664d5468a93237867a8 (patch)
treea53286ec45c0ed4ae2332512b70f83df50a5805a /vp8/decoder
parentc98e9d2882b4dcfe70d1a7136eb8bcb4b2eb5292 (diff)
downloadlibvpx-82b865da9475586341949664d5468a93237867a8.tar
libvpx-82b865da9475586341949664d5468a93237867a8.tar.gz
libvpx-82b865da9475586341949664d5468a93237867a8.tar.bz2
libvpx-82b865da9475586341949664d5468a93237867a8.zip
Coding the hybrid dual prediction signal.
Initial modifications to make limited use of common prediction functions. The only functional change thus far is that updates to the probabilities are no longer "damped". This was a testing convenience but in fact seems to help by a little over 0.1% over the derf set. Change-Id: I8b82907d9d6b6a4a075728b60b31ce93392a5f2e
Diffstat (limited to 'vp8/decoder')
-rw-r--r--vp8/decoder/decodemv.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/vp8/decoder/decodemv.c b/vp8/decoder/decodemv.c
index 78139655c..7925c34da 100644
--- a/vp8/decoder/decodemv.c
+++ b/vp8/decoder/decodemv.c
@@ -839,11 +839,16 @@ static void read_mb_modes_mv(VP8D_COMP *pbi, MODE_INFO *mi, MB_MODE_INFO *mbmi,
mb_to_bottom_edge);
propagate_mv: /* same MV throughout */
+
#if CONFIG_DUALPRED
- if (pbi->common.dual_pred_mode == DUAL_PREDICTION_ONLY ||
- (pbi->common.dual_pred_mode == HYBRID_PREDICTION &&
- vp8_read(bc, cm->prob_dualpred[(mi[-1].mbmi.second_ref_frame != INTRA_FRAME) +
- (mi[-mis].mbmi.second_ref_frame != INTRA_FRAME)])))
+ if ( cm->dual_pred_mode == DUAL_PREDICTION_ONLY ||
+ (cm->dual_pred_mode == HYBRID_PREDICTION &&
+#if CONFIG_COMPRED
+ vp8_read(bc, get_pred_prob( cm, xd, PRED_DUAL ))) )
+#else
+ vp8_read(bc, cm->prob_dualpred[(mi[-1].mbmi.second_ref_frame != INTRA_FRAME) +
+ (mi[-mis].mbmi.second_ref_frame != INTRA_FRAME)])))
+#endif
{
mbmi->second_ref_frame = mbmi->ref_frame + 1;
if (mbmi->second_ref_frame == 4)