} else {
nmv_context *const nmvc = &pbi->common.fc.nmvc;
MACROBLOCKD *const xd = &pbi->mb;
- int i;
+ int i, j;
if (cm->mcomp_filter_type == SWITCHABLE)
read_switchable_interp_probs(pbi, r);
for (i = 0; i < VP9_I32X32_MODES - 1; ++i)
cm->fc.sb_ymode_prob[i] = vp9_read_prob(r);
+ for (j = 0; j < NUM_PARTITION_CONTEXTS; ++j)
+ if (vp9_read_bit(r))
+ for (i = 0; i < PARTITION_TYPES - 1; ++i)
+ cm->fc.partition_prob[j][i] = vp9_read_prob(r);
+
read_nmvprobs(r, nmvc, xd->allow_high_precision_mv);
}
}
}
update_mbintra_mode_probs(cpi, &header_bc);
+ for (i = 0; i < NUM_PARTITION_CONTEXTS; ++i) {
+ vp9_prob Pnew[PARTITION_TYPES - 1];
+ unsigned int bct[PARTITION_TYPES - 1][2];
+ update_mode(&header_bc, PARTITION_TYPES, vp9_partition_encodings,
+ vp9_partition_tree, Pnew, pc->fc.partition_prob[i], bct,
+ (unsigned int *)cpi->partition_count[i]);
+ }
+
vp9_write_nmv_probs(cpi, xd->allow_high_precision_mv, &header_bc);
}