return literal;
}
-static INLINE int aom_read_tree(aom_reader *r, const aom_tree_index *tree,
- const aom_prob *probs) {
+static INLINE int aom_read_tree_bits(aom_reader *r, const aom_tree_index *tree,
+ const aom_prob *probs) {
aom_tree_index i = 0;
while ((i = tree[i + aom_read(r, probs[i >> 1])]) > 0) continue;
return -i;
}
+static INLINE int aom_read_tree(aom_reader *r, const aom_tree_index *tree,
+ const aom_prob *probs) {
+ return aom_read_tree_bits(r, tree, probs);
+}
+
#ifdef __cplusplus
} // extern "C"
#endif
for (bit = bits - 1; bit >= 0; bit--) aom_write_bit(w, 1 & (data >> bit));
}
+static INLINE void aom_write_tree_bits(aom_writer *w, const aom_tree_index *tr,
+ const aom_prob *probs, int bits, int len,
+ aom_tree_index i) {
+ do {
+ const int bit = (bits >> --len) & 1;
+ aom_write(w, bit, probs[i >> 1]);
+ i = tr[i + bit];
+ } while (len);
+}
+
+static INLINE void aom_write_tree(aom_writer *w, const aom_tree_index *tree,
+ const aom_prob *probs, int bits, int len,
+ aom_tree_index i) {
+ aom_write_tree_bits(w, tree, probs, bits, len, i);
+}
+
#ifdef __cplusplus
} // extern "C"
#endif
if (t != ONE_TOKEN) {
int len = UNCONSTRAINED_NODES - p->skip_eob_node;
- av1_write_tree(w, av1_coef_con_tree,
+ aom_write_tree(w, av1_coef_con_tree,
av1_pareto8_full[p->context_tree[PIVOT_NODE] - 1], v,
n - len, 0);
}
const struct segmentation_probs *segp,
int segment_id) {
if (seg->enabled && seg->update_map)
- av1_write_tree(w, av1_segment_tree, segp->tree_probs, segment_id, 3, 0);
+ aom_write_tree(w, av1_segment_tree, segp->tree_probs, segment_id, 3, 0);
}
// This function encodes the reference frame
void av1_tokens_from_tree(struct av1_token *, const aom_tree_index *);
-static INLINE void av1_write_tree(aom_writer *w, const aom_tree_index *tree,
- const aom_prob *probs, int bits, int len,
- aom_tree_index i) {
- do {
- const int bit = (bits >> --len) & 1;
- aom_write(w, bit, probs[i >> 1]);
- i = tree[i + bit];
- } while (len);
-}
-
static INLINE void av1_write_token(aom_writer *w, const aom_tree_index *tree,
const aom_prob *probs,
const struct av1_token *token) {
- av1_write_tree(w, tree, probs, token->value, token->len, 0);
+ aom_write_tree(w, tree, probs, token->value, token->len, 0);
}
#ifdef __cplusplus