summaryrefslogtreecommitdiff
path: root/vp8/common/entropymode.h
diff options
context:
space:
mode:
authorDeb Mukherjee <debargha@google.com>2012-06-05 15:25:07 -0700
committerDeb Mukherjee <debargha@google.com>2012-06-15 10:35:23 -0700
commit1fe85a35e0451434d183da71e4e85796d11ca868 (patch)
treec2b60cdf6a70869e90fdc554fe0a006ed72a8cf0 /vp8/common/entropymode.h
parent378ba611398e03cc1ea85289466200056137102a (diff)
downloadlibvpx-1fe85a35e0451434d183da71e4e85796d11ca868.tar
libvpx-1fe85a35e0451434d183da71e4e85796d11ca868.tar.gz
libvpx-1fe85a35e0451434d183da71e4e85796d11ca868.tar.bz2
libvpx-1fe85a35e0451434d183da71e4e85796d11ca868.zip
Adaptive entropy coding of coefficients, modes, mv.
This patch incorporates adaptive entropy coding of coefficient tokens, and mode/mv information based on distributions encountered in a frame. Specifically, there is an initial forward update to the probabilities in the bitstream as before for coding the symbols in the frame, however at the end of decoding each frame, the forward update to the probabilities is reverted and instead the probabilities are updated towards the actual distributions encountered within the frame. The amount of update is weighted by the number of hits within each context. Results on derf/hd/std-hd are all up by 1.6%. On derf, the most of the gains come from coefficients, however for the hd and std-hd sets, the most of the gains come from the mode/mv information updates. Change-Id: I708c0e11fdacafee04940fe7ae159ba6844005fd
Diffstat (limited to 'vp8/common/entropymode.h')
-rw-r--r--vp8/common/entropymode.h12
1 files changed, 4 insertions, 8 deletions
diff --git a/vp8/common/entropymode.h b/vp8/common/entropymode.h
index 09d5c7704..cfd532736 100644
--- a/vp8/common/entropymode.h
+++ b/vp8/common/entropymode.h
@@ -55,13 +55,6 @@ extern struct vp8_token_struct vp8_mbsplit_encodings [VP8_NUMMBSPLITS];
extern struct vp8_token_struct vp8_mv_ref_encoding_array [VP8_MVREFS];
extern struct vp8_token_struct vp8_sub_mv_ref_encoding_array [VP8_SUBMVREFS];
-extern const vp8_tree_index vp8_small_mvtree[];
-extern struct vp8_token_struct vp8_small_mvencodings [8];
-#if CONFIG_HIGH_PRECISION_MV
-extern const vp8_tree_index vp8_small_mvtree_hp[];
-extern struct vp8_token_struct vp8_small_mvencodings_hp [16];
-#endif
-
void vp8_entropy_mode_init(void);
void vp8_init_mbmode_probs(VP8_COMMON *x);
@@ -71,7 +64,10 @@ extern void vp8_accum_mv_refs(VP8_COMMON *pc,
MB_PREDICTION_MODE m,
const int ct[4]);
-void vp8_default_bmode_probs(vp8_prob dest [VP8_BINTRAMODES-1]);
+void vp8_default_bmode_probs(vp8_prob dest [VP8_BINTRAMODES-1]);
void vp8_kf_default_bmode_probs(vp8_prob dest [VP8_BINTRAMODES] [VP8_BINTRAMODES] [VP8_BINTRAMODES-1]);
+#if CONFIG_ADAPTIVE_ENTROPY
+void vp8_adapt_mode_probs(struct VP8Common *);
+#endif
#endif