Change PVQ's skip symbols to use dyadic and ec_adapt adaptation
Change-Id: I4f7d37af84220971a839f4f8f42aafa1adeb04e4
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index d364cba..e926360 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -1057,9 +1057,8 @@
pvq = get_pvq_block(x->pvq_q);
// encode block skip info
- aom_encode_cdf_adapt(w, pvq->ac_dc_coded,
- adapt->skip_cdf[2 * tx_size + (plane != 0)], 4,
- adapt->skip_increment);
+ aom_write_symbol(w, pvq->ac_dc_coded,
+ adapt->skip_cdf[2 * tx_size + (plane != 0)], 4);
// AC coeffs coded?
if (pvq->ac_dc_coded & AC_CODED) {
@@ -1070,7 +1069,7 @@
pvq_encode_partition(
w, pvq->qg[i], pvq->theta[i], pvq->max_theta[i],
pvq->y + pvq->off[i], pvq->size[i], pvq->k[i], model, adapt,
- exg + i, ext + i, nodesync,
+ exg + i, ext + i, nodesync || is_keyframe,
(plane != 0) * OD_TXSIZES * PVQ_MAX_PARTITIONS +
pvq->bs * PVQ_MAX_PARTITIONS + i,
is_keyframe, i == 0 && (i < pvq->nb_bands - 1), pvq->skip_rest,
diff --git a/av1/encoder/pvq_encoder.c b/av1/encoder/pvq_encoder.c
index d437a38..7820214 100644
--- a/av1/encoder/pvq_encoder.c
+++ b/av1/encoder/pvq_encoder.c
@@ -884,8 +884,7 @@
#error "CONFIG_PVQ currently requires CONFIG_DAALA_EC."
#endif
/* Code as if we're not skipping. */
- aom_encode_cdf_adapt(&enc->w, 2 + (out[0] != 0), skip_cdf,
- 4, enc->state.adapt.skip_increment);
+ aom_write_symbol(&enc->w, 2 + (out[0] != 0), skip_cdf, 4);
ac_dc_coded = AC_CODED + (out[0] != 0);
cfl_encoded = 0;
skip_rest = 1;
@@ -988,8 +987,7 @@
}
/* We decide to skip, roll back everything as it was before. */
od_encode_rollback(enc, &buf);
- aom_encode_cdf_adapt(&enc->w, out[0] != 0, skip_cdf,
- 4, enc->state.adapt.skip_increment);
+ aom_write_symbol(&enc->w, out[0] != 0, skip_cdf, 4);
ac_dc_coded = (out[0] != 0);
if (is_keyframe) for (i = 1; i < 1 << (2*bs + 4); i++) out[i] = 0;
else for (i = 1; i < 1 << (2*bs + 4); i++) out[i] = ref[i];