From a1123538a532c887cacb514c375c0c8e9d90b828 Mon Sep 17 00:00:00 2001 From: Dmitry Kovalev Date: Wed, 4 Dec 2013 17:39:30 -0800 Subject: [PATCH] Moving vp9_token from common to encoder. Change-Id: I40a070c353663e82c59e174d7c92eb84f72ed808 --- vp9/common/vp9_treecoder.c | 21 --------------------- vp9/common/vp9_treecoder.h | 9 --------- vp9/encoder/vp9_tokenize.h | 2 ++ vp9/encoder/vp9_treewriter.c | 21 +++++++++++++++++++++ vp9/encoder/vp9_treewriter.h | 8 ++++++++ 5 files changed, 31 insertions(+), 30 deletions(-) diff --git a/vp9/common/vp9_treecoder.c b/vp9/common/vp9_treecoder.c index e2a5b9f..dca3076 100644 --- a/vp9/common/vp9_treecoder.c +++ b/vp9/common/vp9_treecoder.c @@ -14,27 +14,6 @@ #include "./vpx_config.h" #include "vp9/common/vp9_treecoder.h" -static void tree2tok(struct vp9_token *const p, vp9_tree t, - int i, int v, int l) { - v += v; - ++l; - - do { - const vp9_tree_index j = t[i++]; - - if (j <= 0) { - p[-j].value = v; - p[-j].len = l; - } else { - tree2tok(p, t, j, v, l); - } - } while (++v & 1); -} - -void vp9_tokens_from_tree(struct vp9_token *p, vp9_tree t) { - tree2tok(p, t, 0, 0, 0); -} - static unsigned int convert_distribution(unsigned int i, vp9_tree tree, unsigned int branch_ct[][2], const unsigned int num_events[]) { diff --git a/vp9/common/vp9_treecoder.h b/vp9/common/vp9_treecoder.h index a79b156..bbe4e8f 100644 --- a/vp9/common/vp9_treecoder.h +++ b/vp9/common/vp9_treecoder.h @@ -34,15 +34,6 @@ typedef int8_t vp9_tree_index; typedef const vp9_tree_index vp9_tree[]; -struct vp9_token { - int value; - int len; -}; - -/* Construct encoding array from tree. */ - -void vp9_tokens_from_tree(struct vp9_token*, vp9_tree); - /* Convert array of token occurrence counts into a table of probabilities for the associated binary encoding tree. Also writes count of branches taken for each node on the tree; this facilitiates decisions as to diff --git a/vp9/encoder/vp9_tokenize.h b/vp9/encoder/vp9_tokenize.h index 482ea6c..67e6c9d 100644 --- a/vp9/encoder/vp9_tokenize.h +++ b/vp9/encoder/vp9_tokenize.h @@ -12,7 +12,9 @@ #define VP9_ENCODER_VP9_TOKENIZE_H_ #include "vp9/common/vp9_entropy.h" + #include "vp9/encoder/vp9_block.h" +#include "vp9/encoder/vp9_treewriter.h" void vp9_tokenize_initialize(); diff --git a/vp9/encoder/vp9_treewriter.c b/vp9/encoder/vp9_treewriter.c index e4aed53..5b0c17f 100644 --- a/vp9/encoder/vp9_treewriter.c +++ b/vp9/encoder/vp9_treewriter.c @@ -36,3 +36,24 @@ void vp9_cost_tokens_skip(int *costs, const vp9_prob *probs, vp9_tree tree) { costs[-tree[0]] = vp9_cost_bit(probs[0], 0); cost(costs, tree, probs, 2, 0); } + +static void tree2tok(struct vp9_token *tokens, const vp9_tree_index *tree, + int i, int v, int l) { + v += v; + ++l; + + do { + const vp9_tree_index j = tree[i++]; + if (j <= 0) { + tokens[-j].value = v; + tokens[-j].len = l; + } else { + tree2tok(tokens, tree, j, v, l); + } + } while (++v & 1); +} + +void vp9_tokens_from_tree(struct vp9_token *tokens, + const vp9_tree_index *tree) { + tree2tok(tokens, tree, 0, 0, 0); +} diff --git a/vp9/encoder/vp9_treewriter.h b/vp9/encoder/vp9_treewriter.h index 3245960..94f3eb9 100644 --- a/vp9/encoder/vp9_treewriter.h +++ b/vp9/encoder/vp9_treewriter.h @@ -44,6 +44,14 @@ static INLINE void treed_write(vp9_writer *w, } while (len); } +struct vp9_token { + int value; + int len; +}; + + +void vp9_tokens_from_tree(struct vp9_token*, const vp9_tree_index *); + static INLINE void write_token(vp9_writer *w, vp9_tree tree, const vp9_prob *probs, const struct vp9_token *token) { -- 2.7.4