ref: 8259cdf298863f21bcbeda3aff1f669d1ee2f2d7
parent: 9239e96536d521c2aee128edd33bd7e1fe783a26
author: Dmitry Kovalev <[email protected]>
date: Wed Jul 31 11:03:36 EDT 2013
vp9_decodemv.c cleanup. Inlining VP9_NMV_UPDATE_PROB constant, consistent local variable names. Change-Id: I01692501982568fa535882d6b320e3c692f88abb
--- a/vp9/decoder/vp9_decodemv.c
+++ b/vp9/decoder/vp9_decodemv.c
@@ -162,6 +162,7 @@
mbmi->mb_skip_coeff = read_skip_coeff(pbi, mbmi->segment_id, r);
mbmi->txfm_size = read_tx_size(pbi, cm->tx_mode, bsize, 1, r);
mbmi->ref_frame[0] = INTRA_FRAME;
+ mbmi->ref_frame[1] = NONE;
if (bsize >= BLOCK_SIZE_SB8X8) {
const MB_PREDICTION_MODE A = above_block_mode(m, 0, mis);
@@ -249,8 +250,8 @@
mv->col = ref->col + diff.col;
}
-static void update_mv(vp9_reader *r, vp9_prob *p, vp9_prob upd_p) {
- if (vp9_read(r, upd_p))
+static void update_mv(vp9_reader *r, vp9_prob *p) {
+ if (vp9_read(r, VP9_NMV_UPDATE_PROB))
*p = (vp9_read_literal(r, 7) << 1) | 1;
}
@@ -258,20 +259,21 @@
int i, j, k;
for (j = 0; j < MV_JOINTS - 1; ++j)
- update_mv(r, &mvc->joints[j], VP9_NMV_UPDATE_PROB);
+ update_mv(r, &mvc->joints[j]);
for (i = 0; i < 2; ++i) {
nmv_component *const comp = &mvc->comps[i];
- update_mv(r, &comp->sign, VP9_NMV_UPDATE_PROB);
+ update_mv(r, &comp->sign);
+
for (j = 0; j < MV_CLASSES - 1; ++j)
- update_mv(r, &comp->classes[j], VP9_NMV_UPDATE_PROB);
+ update_mv(r, &comp->classes[j]);
for (j = 0; j < CLASS0_SIZE - 1; ++j)
- update_mv(r, &comp->class0[j], VP9_NMV_UPDATE_PROB);
+ update_mv(r, &comp->class0[j]);
for (j = 0; j < MV_OFFSET_BITS; ++j)
- update_mv(r, &comp->bits[j], VP9_NMV_UPDATE_PROB);
+ update_mv(r, &comp->bits[j]);
}
for (i = 0; i < 2; ++i) {
@@ -279,16 +281,16 @@
for (j = 0; j < CLASS0_SIZE; ++j)
for (k = 0; k < 3; ++k)
- update_mv(r, &comp->class0_fp[j][k], VP9_NMV_UPDATE_PROB);
+ update_mv(r, &comp->class0_fp[j][k]);
for (j = 0; j < 3; ++j)
- update_mv(r, &comp->fp[j], VP9_NMV_UPDATE_PROB);
+ update_mv(r, &comp->fp[j]);
}
if (allow_hp) {
for (i = 0; i < 2; ++i) {
- update_mv(r, &mvc->comps[i].class0_hp, VP9_NMV_UPDATE_PROB);
- update_mv(r, &mvc->comps[i].hp, VP9_NMV_UPDATE_PROB);
+ update_mv(r, &mvc->comps[i].class0_hp);
+ update_mv(r, &mvc->comps[i].hp);
}
}
}
@@ -324,18 +326,19 @@
ref_frame[fix_ref_idx] = cm->comp_fixed_ref;
ref_frame[!fix_ref_idx] = cm->comp_var_ref[b];
} else {
- const int ref1_ctx = vp9_get_pred_context_single_ref_p1(xd);
- ref_frame[1] = NONE;
- if (vp9_read(r, fc->single_ref_prob[ref1_ctx][0])) {
- const int ref2_ctx = vp9_get_pred_context_single_ref_p2(xd);
- const int b = vp9_read(r, fc->single_ref_prob[ref2_ctx][1]);
- ref_frame[0] = b ? ALTREF_FRAME : GOLDEN_FRAME;
- counts->single_ref[ref1_ctx][0][1]++;
- counts->single_ref[ref2_ctx][1][b]++;
+ const int ctx0 = vp9_get_pred_context_single_ref_p1(xd);
+ const int bit0 = vp9_read(r, fc->single_ref_prob[ctx0][0]);
+ ++counts->single_ref[ctx0][0][bit0];
+ if (bit0) {
+ const int ctx1 = vp9_get_pred_context_single_ref_p2(xd);
+ const int bit1 = vp9_read(r, fc->single_ref_prob[ctx1][1]);
+ ref_frame[0] = bit1 ? ALTREF_FRAME : GOLDEN_FRAME;
+ ++counts->single_ref[ctx1][1][bit1];
} else {
ref_frame[0] = LAST_FRAME;
- counts->single_ref[ref1_ctx][0][0]++;
}
+
+ ref_frame[1] = NONE;
}
}
}