]> granicus.if.org Git - libvpx/commitdiff
Move tree writing code into bitwriter.h.
authorNathan E. Egge <negge@mozilla.com>
Sun, 19 Jun 2016 16:02:33 +0000 (12:02 -0400)
committerYaowu Xu <yaowu@google.com>
Tue, 11 Oct 2016 16:36:01 +0000 (09:36 -0700)
Rename av1_write_tree() to aom_write_tree() and move it into bitwriter.h
 to match aom_read_tree() in bitreader.h.

Manually cherry-picked from aom/master:
33a143fa7ac42d62080bfc20468cb76ad26045db

Change-Id: I6c686cdd3e0f179d7e95c5bc6984558b62d46d67

aom_dsp/bitreader.h
aom_dsp/bitwriter.h
av1/encoder/bitstream.c
av1/encoder/treewriter.h

index 611949a42cd6516d228f028e745f00364d0614a7..d062e07be0d44f5d8be77bb0911d6e618abda953 100644 (file)
@@ -90,8 +90,8 @@ static INLINE int aom_read_literal(aom_reader *r, int bits) {
   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;
@@ -99,6 +99,11 @@ static INLINE int aom_read_tree(aom_reader *r, const aom_tree_index *tree,
   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
index d3e4ae9c66a518f2b20244cf85558332b8cef0ac..5e34fd69924958c37bbdaddea56fd36b3e2ef423 100644 (file)
@@ -70,6 +70,22 @@ static INLINE void aom_write_literal(aom_writer *w, int data, int bits) {
   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
index bd33881100cc34dcac54624d509306bac0001363..c5dbddbe8223ce8b8ff0a3397d9b9f310885b151 100644 (file)
@@ -662,7 +662,7 @@ static void pack_mb_tokens(aom_writer *w, const TOKENEXTRA **tp,
 
         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);
         }
@@ -836,7 +836,7 @@ static void write_segment_id(aom_writer *w, const struct segmentation *seg,
                              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
index 533e7d911d3d71f16a68a2ec09379ece99905c43..9a4cb86cb24d6561fd96f5503b8bade94ba144de 100644 (file)
@@ -29,20 +29,10 @@ struct av1_token {
 
 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